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 block_24; +} +} +else +{ +lean_object* x_1451; lean_object* x_1452; lean_object* x_1453; lean_object* x_1454; +lean_dec(x_1390); +lean_dec(x_1384); +lean_dec(x_1221); +lean_dec(x_1217); +x_1451 = lean_ctor_get(x_1391, 0); +lean_inc(x_1451); +x_1452 = lean_ctor_get(x_1391, 1); +lean_inc(x_1452); +if (lean_is_exclusive(x_1391)) { + lean_ctor_release(x_1391, 0); + lean_ctor_release(x_1391, 1); + x_1453 = x_1391; +} else { + lean_dec_ref(x_1391); + x_1453 = lean_box(0); +} +if (lean_is_scalar(x_1453)) { + x_1454 = lean_alloc_ctor(1, 2, 0); +} else { + x_1454 = x_1453; +} +lean_ctor_set(x_1454, 0, x_1451); +lean_ctor_set(x_1454, 1, x_1452); +x_16 = x_1454; +goto block_24; +} +} +} +else +{ +lean_object* x_1455; lean_object* x_1456; lean_object* x_1457; lean_object* x_1458; +lean_dec(x_1225); +lean_dec(x_1221); +lean_dec(x_1220); +lean_dec(x_1219); +lean_dec(x_1217); +lean_dec(x_1214); +x_1455 = lean_ctor_get(x_1371, 0); +lean_inc(x_1455); +x_1456 = lean_ctor_get(x_1371, 1); +lean_inc(x_1456); +if (lean_is_exclusive(x_1371)) { + lean_ctor_release(x_1371, 0); + lean_ctor_release(x_1371, 1); + x_1457 = x_1371; +} else { + lean_dec_ref(x_1371); + x_1457 = lean_box(0); +} +if (lean_is_scalar(x_1457)) { + x_1458 = lean_alloc_ctor(1, 2, 0); +} else { + x_1458 = x_1457; +} +lean_ctor_set(x_1458, 0, x_1455); +lean_ctor_set(x_1458, 1, x_1456); +x_16 = x_1458; +goto block_24; +} +} +} +} +else +{ +if (lean_obj_tag(x_1214) == 0) +{ +lean_object* x_1459; lean_object* x_1460; lean_object* x_1461; lean_object* x_1462; lean_object* x_1463; lean_object* x_1464; +lean_dec(x_1215); +x_1459 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4; +lean_inc(x_1); +x_1460 = l_Lean_MetavarContext_instantiateMVars(x_1, x_1219); +x_1461 = lean_ctor_get(x_1460, 0); +lean_inc(x_1461); +lean_dec(x_1460); +lean_inc(x_1); +x_1462 = l_Lean_MetavarContext_instantiateMVars(x_1, x_1220); +x_1463 = lean_ctor_get(x_1462, 0); +lean_inc(x_1463); +lean_dec(x_1462); +lean_inc(x_4); +x_1464 = l_Lean_ppExpr(x_4, x_1461, x_9); +if (lean_obj_tag(x_1464) == 0) +{ +lean_object* x_1465; lean_object* x_1466; lean_object* x_1467; +x_1465 = lean_ctor_get(x_1464, 0); +lean_inc(x_1465); +x_1466 = lean_ctor_get(x_1464, 1); +lean_inc(x_1466); +lean_dec(x_1464); +lean_inc(x_4); +x_1467 = l_Lean_ppExpr(x_4, x_1463, x_1466); +if (lean_obj_tag(x_1467) == 0) +{ +lean_object* x_1468; lean_object* x_1469; lean_object* x_1470; lean_object* x_1471; lean_object* x_1472; lean_object* x_1473; lean_object* x_1474; lean_object* x_1475; lean_object* x_1476; lean_object* x_1477; lean_object* x_1478; lean_object* x_1479; lean_object* x_1480; lean_object* x_1481; uint8_t x_1482; lean_object* x_1483; lean_object* x_1484; lean_object* x_1485; lean_object* x_1486; lean_object* x_1487; lean_object* x_1488; lean_object* x_1489; +x_1468 = lean_ctor_get(x_1467, 0); +lean_inc(x_1468); +x_1469 = lean_ctor_get(x_1467, 1); +lean_inc(x_1469); +lean_dec(x_1467); +x_1470 = l_System_FilePath_dirName___closed__1; +x_1471 = l_Lean_Name_toStringWithSep___main(x_1470, x_1221); +x_1472 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_1472, 0, x_1471); +x_1473 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__6; +x_1474 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1474, 0, x_1472); +lean_ctor_set(x_1474, 1, x_1473); +x_1475 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1475, 0, x_1474); +lean_ctor_set(x_1475, 1, x_1465); +x_1476 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__8; +x_1477 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1477, 0, x_1475); +lean_ctor_set(x_1477, 1, x_1476); +x_1478 = lean_box(1); +x_1479 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1479, 0, x_1478); +lean_ctor_set(x_1479, 1, x_1468); +lean_inc(x_2); +x_1480 = lean_alloc_ctor(3, 2, 0); +lean_ctor_set(x_1480, 0, x_2); +lean_ctor_set(x_1480, 1, x_1479); +x_1481 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1481, 0, x_1477); +lean_ctor_set(x_1481, 1, x_1480); +x_1482 = 0; +x_1483 = lean_alloc_ctor(5, 1, 1); +lean_ctor_set(x_1483, 0, x_1481); +lean_ctor_set_uint8(x_1483, sizeof(void*)*1, x_1482); +x_1484 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1484, 0, x_1216); +lean_ctor_set(x_1484, 1, x_1483); +x_1485 = lean_box(0); +x_1486 = lean_box(0); +if (lean_is_scalar(x_1217)) { + x_1487 = lean_alloc_ctor(0, 2, 0); +} else { + x_1487 = x_1217; +} +lean_ctor_set(x_1487, 0, x_1486); +lean_ctor_set(x_1487, 1, x_1484); +x_1488 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_1488, 0, x_1485); +lean_ctor_set(x_1488, 1, x_1487); +x_1489 = lean_apply_2(x_1459, x_1488, x_1469); +x_16 = x_1489; +goto block_24; +} +else +{ +lean_object* x_1490; lean_object* x_1491; lean_object* x_1492; lean_object* x_1493; +lean_dec(x_1465); +lean_dec(x_1221); +lean_dec(x_1217); +lean_dec(x_1216); +x_1490 = lean_ctor_get(x_1467, 0); +lean_inc(x_1490); +x_1491 = lean_ctor_get(x_1467, 1); +lean_inc(x_1491); +if (lean_is_exclusive(x_1467)) { + lean_ctor_release(x_1467, 0); + lean_ctor_release(x_1467, 1); + x_1492 = x_1467; +} else { + lean_dec_ref(x_1467); + x_1492 = lean_box(0); +} +if (lean_is_scalar(x_1492)) { + x_1493 = lean_alloc_ctor(1, 2, 0); +} else { + x_1493 = x_1492; +} +lean_ctor_set(x_1493, 0, x_1490); +lean_ctor_set(x_1493, 1, x_1491); +x_16 = x_1493; +goto block_24; +} +} +else +{ +lean_object* x_1494; lean_object* x_1495; lean_object* x_1496; lean_object* x_1497; +lean_dec(x_1463); +lean_dec(x_1221); +lean_dec(x_1217); +lean_dec(x_1216); +x_1494 = lean_ctor_get(x_1464, 0); +lean_inc(x_1494); +x_1495 = lean_ctor_get(x_1464, 1); +lean_inc(x_1495); +if (lean_is_exclusive(x_1464)) { + lean_ctor_release(x_1464, 0); + lean_ctor_release(x_1464, 1); + x_1496 = x_1464; +} else { + lean_dec_ref(x_1464); + x_1496 = lean_box(0); +} +if (lean_is_scalar(x_1496)) { + x_1497 = lean_alloc_ctor(1, 2, 0); +} else { + x_1497 = x_1496; +} +lean_ctor_set(x_1497, 0, x_1494); +lean_ctor_set(x_1497, 1, x_1495); +x_16 = x_1497; +goto block_24; +} +} +else +{ +if (lean_obj_tag(x_1215) == 0) +{ +lean_object* x_1498; lean_object* x_1499; lean_object* x_1500; lean_object* x_1501; lean_object* x_1502; lean_object* x_1503; +lean_dec(x_1214); +x_1498 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4; +lean_inc(x_1); +x_1499 = l_Lean_MetavarContext_instantiateMVars(x_1, x_1219); +x_1500 = lean_ctor_get(x_1499, 0); +lean_inc(x_1500); +lean_dec(x_1499); +lean_inc(x_1); +x_1501 = l_Lean_MetavarContext_instantiateMVars(x_1, x_1220); +x_1502 = lean_ctor_get(x_1501, 0); +lean_inc(x_1502); +lean_dec(x_1501); +lean_inc(x_4); +x_1503 = l_Lean_ppExpr(x_4, x_1500, x_9); +if (lean_obj_tag(x_1503) == 0) +{ +lean_object* x_1504; lean_object* x_1505; lean_object* x_1506; +x_1504 = lean_ctor_get(x_1503, 0); +lean_inc(x_1504); +x_1505 = lean_ctor_get(x_1503, 1); +lean_inc(x_1505); +lean_dec(x_1503); +lean_inc(x_4); +x_1506 = l_Lean_ppExpr(x_4, x_1502, x_1505); +if (lean_obj_tag(x_1506) == 0) +{ +lean_object* x_1507; lean_object* x_1508; lean_object* x_1509; lean_object* x_1510; lean_object* x_1511; lean_object* x_1512; lean_object* x_1513; lean_object* x_1514; lean_object* x_1515; lean_object* x_1516; lean_object* x_1517; lean_object* x_1518; lean_object* x_1519; lean_object* x_1520; uint8_t x_1521; lean_object* x_1522; lean_object* x_1523; lean_object* x_1524; lean_object* x_1525; lean_object* x_1526; lean_object* x_1527; lean_object* x_1528; +x_1507 = lean_ctor_get(x_1506, 0); +lean_inc(x_1507); +x_1508 = lean_ctor_get(x_1506, 1); +lean_inc(x_1508); +lean_dec(x_1506); +x_1509 = l_System_FilePath_dirName___closed__1; +x_1510 = l_Lean_Name_toStringWithSep___main(x_1509, x_1221); +x_1511 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_1511, 0, x_1510); +x_1512 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__6; +x_1513 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1513, 0, x_1511); +lean_ctor_set(x_1513, 1, x_1512); +x_1514 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1514, 0, x_1513); +lean_ctor_set(x_1514, 1, x_1504); +x_1515 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__8; +x_1516 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1516, 0, x_1514); +lean_ctor_set(x_1516, 1, x_1515); +x_1517 = lean_box(1); +x_1518 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1518, 0, x_1517); +lean_ctor_set(x_1518, 1, x_1507); +lean_inc(x_2); +x_1519 = lean_alloc_ctor(3, 2, 0); +lean_ctor_set(x_1519, 0, x_2); +lean_ctor_set(x_1519, 1, x_1518); +x_1520 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1520, 0, x_1516); +lean_ctor_set(x_1520, 1, x_1519); +x_1521 = 0; +x_1522 = lean_alloc_ctor(5, 1, 1); +lean_ctor_set(x_1522, 0, x_1520); +lean_ctor_set_uint8(x_1522, sizeof(void*)*1, x_1521); +x_1523 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1523, 0, x_1216); +lean_ctor_set(x_1523, 1, x_1522); +x_1524 = lean_box(0); +x_1525 = lean_box(0); +if (lean_is_scalar(x_1217)) { + x_1526 = lean_alloc_ctor(0, 2, 0); +} else { + x_1526 = x_1217; +} +lean_ctor_set(x_1526, 0, x_1525); +lean_ctor_set(x_1526, 1, x_1523); +x_1527 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_1527, 0, x_1524); +lean_ctor_set(x_1527, 1, x_1526); +x_1528 = lean_apply_2(x_1498, x_1527, x_1508); +x_16 = x_1528; +goto block_24; +} +else +{ +lean_object* x_1529; lean_object* x_1530; lean_object* x_1531; lean_object* x_1532; +lean_dec(x_1504); +lean_dec(x_1221); +lean_dec(x_1217); +lean_dec(x_1216); +x_1529 = lean_ctor_get(x_1506, 0); +lean_inc(x_1529); +x_1530 = lean_ctor_get(x_1506, 1); +lean_inc(x_1530); +if (lean_is_exclusive(x_1506)) { + lean_ctor_release(x_1506, 0); + lean_ctor_release(x_1506, 1); + x_1531 = x_1506; +} else { + lean_dec_ref(x_1506); + x_1531 = lean_box(0); +} +if (lean_is_scalar(x_1531)) { + x_1532 = lean_alloc_ctor(1, 2, 0); +} else { + x_1532 = x_1531; +} +lean_ctor_set(x_1532, 0, x_1529); +lean_ctor_set(x_1532, 1, x_1530); +x_16 = x_1532; +goto block_24; +} +} +else +{ +lean_object* x_1533; lean_object* x_1534; lean_object* x_1535; lean_object* x_1536; +lean_dec(x_1502); +lean_dec(x_1221); +lean_dec(x_1217); +lean_dec(x_1216); +x_1533 = lean_ctor_get(x_1503, 0); +lean_inc(x_1533); +x_1534 = lean_ctor_get(x_1503, 1); +lean_inc(x_1534); +if (lean_is_exclusive(x_1503)) { + lean_ctor_release(x_1503, 0); + lean_ctor_release(x_1503, 1); + x_1535 = x_1503; +} else { + lean_dec_ref(x_1503); + x_1535 = lean_box(0); +} +if (lean_is_scalar(x_1535)) { + x_1536 = lean_alloc_ctor(1, 2, 0); +} else { + x_1536 = x_1535; +} +lean_ctor_set(x_1536, 0, x_1533); +lean_ctor_set(x_1536, 1, x_1534); +x_16 = x_1536; +goto block_24; +} +} +else +{ +lean_object* x_1537; lean_object* x_1538; +x_1537 = lean_ctor_get(x_1215, 0); +lean_inc(x_1537); +lean_dec(x_1215); +lean_inc(x_4); +x_1538 = l_Lean_ppExpr(x_4, x_1537, x_9); +if (lean_obj_tag(x_1538) == 0) +{ +lean_object* x_1539; lean_object* x_1540; lean_object* x_1541; lean_object* x_1542; lean_object* x_1543; lean_object* x_1544; lean_object* x_1545; lean_object* x_1546; lean_object* x_1547; lean_object* x_1548; lean_object* x_1549; uint8_t x_1550; lean_object* x_1551; lean_object* x_1552; lean_object* x_1553; uint8_t x_1554; lean_object* x_1555; lean_object* x_1556; lean_object* x_1557; lean_object* x_1558; lean_object* x_1559; +x_1539 = lean_ctor_get(x_1538, 0); +lean_inc(x_1539); +x_1540 = lean_ctor_get(x_1538, 1); +lean_inc(x_1540); +lean_dec(x_1538); +x_1541 = l_List_reverse___rarg(x_1214); +x_1542 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1; +x_1543 = l_Lean_Format_joinSep___main___at_Lean_ppGoal___spec__1(x_1541, x_1542); +x_1544 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__3; +x_1545 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1545, 0, x_1543); +lean_ctor_set(x_1545, 1, x_1544); +x_1546 = lean_box(1); +x_1547 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1547, 0, x_1546); +lean_ctor_set(x_1547, 1, x_1539); +lean_inc(x_2); +x_1548 = lean_alloc_ctor(3, 2, 0); +lean_ctor_set(x_1548, 0, x_2); +lean_ctor_set(x_1548, 1, x_1547); +x_1549 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1549, 0, x_1545); +lean_ctor_set(x_1549, 1, x_1548); +x_1550 = 0; +x_1551 = lean_alloc_ctor(5, 1, 1); +lean_ctor_set(x_1551, 0, x_1549); +lean_ctor_set_uint8(x_1551, sizeof(void*)*1, x_1550); +x_1552 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1552, 0, x_1216); +lean_ctor_set(x_1552, 1, x_1551); +x_1553 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4; +x_1554 = l_Lean_Format_isNil(x_1552); +lean_inc(x_1); +x_1555 = l_Lean_MetavarContext_instantiateMVars(x_1, x_1219); +x_1556 = lean_ctor_get(x_1555, 0); +lean_inc(x_1556); +lean_dec(x_1555); +lean_inc(x_1); +x_1557 = l_Lean_MetavarContext_instantiateMVars(x_1, x_1220); +x_1558 = lean_ctor_get(x_1557, 0); +lean_inc(x_1558); +lean_dec(x_1557); +lean_inc(x_4); +x_1559 = l_Lean_ppExpr(x_4, x_1556, x_1540); +if (x_1554 == 0) +{ +if (lean_obj_tag(x_1559) == 0) +{ +lean_object* x_1560; lean_object* x_1561; lean_object* x_1562; lean_object* x_1563; +x_1560 = lean_ctor_get(x_1559, 0); +lean_inc(x_1560); +x_1561 = lean_ctor_get(x_1559, 1); +lean_inc(x_1561); +lean_dec(x_1559); +x_1562 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1562, 0, x_1552); +lean_ctor_set(x_1562, 1, x_1546); +lean_inc(x_4); +x_1563 = l_Lean_ppExpr(x_4, x_1558, x_1561); +if (lean_obj_tag(x_1563) == 0) +{ +lean_object* x_1564; lean_object* x_1565; lean_object* x_1566; lean_object* x_1567; lean_object* x_1568; lean_object* x_1569; lean_object* x_1570; lean_object* x_1571; lean_object* x_1572; lean_object* x_1573; lean_object* x_1574; lean_object* x_1575; lean_object* x_1576; lean_object* x_1577; lean_object* x_1578; lean_object* x_1579; lean_object* x_1580; lean_object* x_1581; lean_object* x_1582; lean_object* x_1583; +x_1564 = lean_ctor_get(x_1563, 0); +lean_inc(x_1564); +x_1565 = lean_ctor_get(x_1563, 1); +lean_inc(x_1565); +lean_dec(x_1563); +x_1566 = l_System_FilePath_dirName___closed__1; +x_1567 = l_Lean_Name_toStringWithSep___main(x_1566, x_1221); +x_1568 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_1568, 0, x_1567); +x_1569 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__6; +x_1570 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1570, 0, x_1568); +lean_ctor_set(x_1570, 1, x_1569); +x_1571 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1571, 0, x_1570); +lean_ctor_set(x_1571, 1, x_1560); +x_1572 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__8; +x_1573 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1573, 0, x_1571); +lean_ctor_set(x_1573, 1, x_1572); +x_1574 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1574, 0, x_1546); +lean_ctor_set(x_1574, 1, x_1564); +lean_inc(x_2); +x_1575 = lean_alloc_ctor(3, 2, 0); +lean_ctor_set(x_1575, 0, x_2); +lean_ctor_set(x_1575, 1, x_1574); +x_1576 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1576, 0, x_1573); +lean_ctor_set(x_1576, 1, x_1575); +x_1577 = lean_alloc_ctor(5, 1, 1); +lean_ctor_set(x_1577, 0, x_1576); +lean_ctor_set_uint8(x_1577, sizeof(void*)*1, x_1550); +x_1578 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1578, 0, x_1562); +lean_ctor_set(x_1578, 1, x_1577); +x_1579 = lean_box(0); +x_1580 = lean_box(0); +if (lean_is_scalar(x_1217)) { + x_1581 = lean_alloc_ctor(0, 2, 0); +} else { + x_1581 = x_1217; +} +lean_ctor_set(x_1581, 0, x_1580); +lean_ctor_set(x_1581, 1, x_1578); +x_1582 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_1582, 0, x_1579); +lean_ctor_set(x_1582, 1, x_1581); +x_1583 = lean_apply_2(x_1553, x_1582, x_1565); +x_16 = x_1583; +goto block_24; +} +else +{ +lean_object* x_1584; lean_object* x_1585; lean_object* x_1586; lean_object* x_1587; +lean_dec(x_1562); +lean_dec(x_1560); +lean_dec(x_1221); +lean_dec(x_1217); +x_1584 = lean_ctor_get(x_1563, 0); +lean_inc(x_1584); +x_1585 = lean_ctor_get(x_1563, 1); +lean_inc(x_1585); +if (lean_is_exclusive(x_1563)) { + lean_ctor_release(x_1563, 0); + lean_ctor_release(x_1563, 1); + x_1586 = x_1563; +} else { + lean_dec_ref(x_1563); + x_1586 = lean_box(0); +} +if (lean_is_scalar(x_1586)) { + x_1587 = lean_alloc_ctor(1, 2, 0); +} else { + x_1587 = x_1586; +} +lean_ctor_set(x_1587, 0, x_1584); +lean_ctor_set(x_1587, 1, x_1585); +x_16 = x_1587; +goto block_24; +} +} +else +{ +lean_object* x_1588; lean_object* x_1589; lean_object* x_1590; lean_object* x_1591; +lean_dec(x_1558); +lean_dec(x_1552); +lean_dec(x_1221); +lean_dec(x_1217); +x_1588 = lean_ctor_get(x_1559, 0); +lean_inc(x_1588); +x_1589 = lean_ctor_get(x_1559, 1); +lean_inc(x_1589); +if (lean_is_exclusive(x_1559)) { + lean_ctor_release(x_1559, 0); + lean_ctor_release(x_1559, 1); + x_1590 = x_1559; +} else { + lean_dec_ref(x_1559); + x_1590 = lean_box(0); +} +if (lean_is_scalar(x_1590)) { + x_1591 = lean_alloc_ctor(1, 2, 0); +} else { + x_1591 = x_1590; +} +lean_ctor_set(x_1591, 0, x_1588); +lean_ctor_set(x_1591, 1, x_1589); +x_16 = x_1591; +goto block_24; +} +} +else +{ +if (lean_obj_tag(x_1559) == 0) +{ +lean_object* x_1592; lean_object* x_1593; lean_object* x_1594; +x_1592 = lean_ctor_get(x_1559, 0); +lean_inc(x_1592); +x_1593 = lean_ctor_get(x_1559, 1); +lean_inc(x_1593); +lean_dec(x_1559); +lean_inc(x_4); +x_1594 = l_Lean_ppExpr(x_4, x_1558, x_1593); +if (lean_obj_tag(x_1594) == 0) +{ +lean_object* x_1595; lean_object* x_1596; lean_object* x_1597; lean_object* x_1598; lean_object* x_1599; lean_object* x_1600; lean_object* x_1601; lean_object* x_1602; lean_object* x_1603; lean_object* x_1604; lean_object* x_1605; lean_object* x_1606; lean_object* x_1607; lean_object* x_1608; lean_object* x_1609; lean_object* x_1610; lean_object* x_1611; lean_object* x_1612; lean_object* x_1613; lean_object* x_1614; +x_1595 = lean_ctor_get(x_1594, 0); +lean_inc(x_1595); +x_1596 = lean_ctor_get(x_1594, 1); +lean_inc(x_1596); +lean_dec(x_1594); +x_1597 = l_System_FilePath_dirName___closed__1; +x_1598 = l_Lean_Name_toStringWithSep___main(x_1597, x_1221); +x_1599 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_1599, 0, x_1598); +x_1600 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__6; +x_1601 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1601, 0, x_1599); +lean_ctor_set(x_1601, 1, x_1600); +x_1602 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1602, 0, x_1601); +lean_ctor_set(x_1602, 1, x_1592); +x_1603 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__8; +x_1604 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1604, 0, x_1602); +lean_ctor_set(x_1604, 1, x_1603); +x_1605 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1605, 0, x_1546); +lean_ctor_set(x_1605, 1, x_1595); +lean_inc(x_2); +x_1606 = lean_alloc_ctor(3, 2, 0); +lean_ctor_set(x_1606, 0, x_2); +lean_ctor_set(x_1606, 1, x_1605); +x_1607 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1607, 0, x_1604); +lean_ctor_set(x_1607, 1, x_1606); +x_1608 = lean_alloc_ctor(5, 1, 1); +lean_ctor_set(x_1608, 0, x_1607); +lean_ctor_set_uint8(x_1608, sizeof(void*)*1, x_1550); +x_1609 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1609, 0, x_1552); +lean_ctor_set(x_1609, 1, x_1608); +x_1610 = lean_box(0); +x_1611 = lean_box(0); +if (lean_is_scalar(x_1217)) { + x_1612 = lean_alloc_ctor(0, 2, 0); +} else { + x_1612 = x_1217; +} +lean_ctor_set(x_1612, 0, x_1611); +lean_ctor_set(x_1612, 1, x_1609); +x_1613 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_1613, 0, x_1610); +lean_ctor_set(x_1613, 1, x_1612); +x_1614 = lean_apply_2(x_1553, x_1613, x_1596); +x_16 = x_1614; +goto block_24; +} +else +{ +lean_object* x_1615; lean_object* x_1616; lean_object* x_1617; lean_object* x_1618; +lean_dec(x_1592); +lean_dec(x_1552); +lean_dec(x_1221); +lean_dec(x_1217); +x_1615 = lean_ctor_get(x_1594, 0); +lean_inc(x_1615); +x_1616 = lean_ctor_get(x_1594, 1); +lean_inc(x_1616); +if (lean_is_exclusive(x_1594)) { + lean_ctor_release(x_1594, 0); + lean_ctor_release(x_1594, 1); + x_1617 = x_1594; +} else { + lean_dec_ref(x_1594); + x_1617 = lean_box(0); +} +if (lean_is_scalar(x_1617)) { + x_1618 = lean_alloc_ctor(1, 2, 0); +} else { + x_1618 = x_1617; +} +lean_ctor_set(x_1618, 0, x_1615); +lean_ctor_set(x_1618, 1, x_1616); +x_16 = x_1618; +goto block_24; +} +} +else +{ +lean_object* x_1619; lean_object* x_1620; lean_object* x_1621; lean_object* x_1622; +lean_dec(x_1558); +lean_dec(x_1552); +lean_dec(x_1221); +lean_dec(x_1217); +x_1619 = lean_ctor_get(x_1559, 0); +lean_inc(x_1619); +x_1620 = lean_ctor_get(x_1559, 1); +lean_inc(x_1620); +if (lean_is_exclusive(x_1559)) { + lean_ctor_release(x_1559, 0); + lean_ctor_release(x_1559, 1); + x_1621 = x_1559; +} else { + lean_dec_ref(x_1559); + x_1621 = lean_box(0); +} +if (lean_is_scalar(x_1621)) { + x_1622 = lean_alloc_ctor(1, 2, 0); +} else { + x_1622 = x_1621; +} +lean_ctor_set(x_1622, 0, x_1619); +lean_ctor_set(x_1622, 1, x_1620); +x_16 = x_1622; +goto block_24; +} +} +} +else +{ +lean_object* x_1623; lean_object* x_1624; lean_object* x_1625; lean_object* x_1626; +lean_dec(x_1221); +lean_dec(x_1220); +lean_dec(x_1219); +lean_dec(x_1217); +lean_dec(x_1216); +lean_dec(x_1214); +x_1623 = lean_ctor_get(x_1538, 0); +lean_inc(x_1623); +x_1624 = lean_ctor_get(x_1538, 1); +lean_inc(x_1624); +if (lean_is_exclusive(x_1538)) { + lean_ctor_release(x_1538, 0); + lean_ctor_release(x_1538, 1); + x_1625 = x_1538; +} else { + lean_dec_ref(x_1538); + x_1625 = lean_box(0); +} +if (lean_is_scalar(x_1625)) { + x_1626 = lean_alloc_ctor(1, 2, 0); +} else { + x_1626 = x_1625; +} +lean_ctor_set(x_1626, 0, x_1623); +lean_ctor_set(x_1626, 1, x_1624); +x_16 = x_1626; +goto block_24; +} +} +} +} +} +else +{ +lean_object* x_1627; uint8_t x_1628; lean_object* x_1629; lean_object* x_1630; lean_object* x_1631; lean_object* x_1632; lean_object* x_1633; +lean_dec(x_1215); +lean_dec(x_1214); +x_1627 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4; +x_1628 = l_Lean_Format_isNil(x_1216); +lean_inc(x_1); +x_1629 = l_Lean_MetavarContext_instantiateMVars(x_1, x_1219); +x_1630 = lean_ctor_get(x_1629, 0); +lean_inc(x_1630); +lean_dec(x_1629); +lean_inc(x_1); +x_1631 = l_Lean_MetavarContext_instantiateMVars(x_1, x_1220); +x_1632 = lean_ctor_get(x_1631, 0); +lean_inc(x_1632); +lean_dec(x_1631); +lean_inc(x_4); +x_1633 = l_Lean_ppExpr(x_4, x_1630, x_9); +if (x_1628 == 0) +{ +if (lean_obj_tag(x_1633) == 0) +{ +lean_object* x_1634; lean_object* x_1635; lean_object* x_1636; lean_object* x_1637; lean_object* x_1638; +x_1634 = lean_ctor_get(x_1633, 0); +lean_inc(x_1634); +x_1635 = lean_ctor_get(x_1633, 1); +lean_inc(x_1635); +lean_dec(x_1633); +x_1636 = lean_box(1); +x_1637 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1637, 0, x_1216); +lean_ctor_set(x_1637, 1, x_1636); +lean_inc(x_4); +x_1638 = l_Lean_ppExpr(x_4, x_1632, x_1635); +if (lean_obj_tag(x_1638) == 0) +{ +lean_object* x_1639; lean_object* x_1640; lean_object* x_1641; lean_object* x_1642; lean_object* x_1643; lean_object* x_1644; lean_object* x_1645; lean_object* x_1646; lean_object* x_1647; lean_object* x_1648; lean_object* x_1649; lean_object* x_1650; lean_object* x_1651; uint8_t x_1652; lean_object* x_1653; lean_object* x_1654; lean_object* x_1655; lean_object* x_1656; lean_object* x_1657; lean_object* x_1658; lean_object* x_1659; +x_1639 = lean_ctor_get(x_1638, 0); +lean_inc(x_1639); +x_1640 = lean_ctor_get(x_1638, 1); +lean_inc(x_1640); +lean_dec(x_1638); +x_1641 = l_System_FilePath_dirName___closed__1; +x_1642 = l_Lean_Name_toStringWithSep___main(x_1641, x_1221); +x_1643 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_1643, 0, x_1642); +x_1644 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__6; +x_1645 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1645, 0, x_1643); +lean_ctor_set(x_1645, 1, x_1644); +x_1646 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1646, 0, x_1645); +lean_ctor_set(x_1646, 1, x_1634); +x_1647 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__8; +x_1648 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1648, 0, x_1646); +lean_ctor_set(x_1648, 1, x_1647); +x_1649 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1649, 0, x_1636); +lean_ctor_set(x_1649, 1, x_1639); +lean_inc(x_2); +x_1650 = lean_alloc_ctor(3, 2, 0); +lean_ctor_set(x_1650, 0, x_2); +lean_ctor_set(x_1650, 1, x_1649); +x_1651 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1651, 0, x_1648); +lean_ctor_set(x_1651, 1, x_1650); +x_1652 = 0; +x_1653 = lean_alloc_ctor(5, 1, 1); +lean_ctor_set(x_1653, 0, x_1651); +lean_ctor_set_uint8(x_1653, sizeof(void*)*1, x_1652); +x_1654 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1654, 0, x_1637); +lean_ctor_set(x_1654, 1, x_1653); +x_1655 = lean_box(0); +x_1656 = lean_box(0); +if (lean_is_scalar(x_1217)) { + x_1657 = lean_alloc_ctor(0, 2, 0); +} else { + x_1657 = x_1217; +} +lean_ctor_set(x_1657, 0, x_1656); +lean_ctor_set(x_1657, 1, x_1654); +x_1658 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_1658, 0, x_1655); +lean_ctor_set(x_1658, 1, x_1657); +x_1659 = lean_apply_2(x_1627, x_1658, x_1640); +x_16 = x_1659; +goto block_24; +} +else +{ +lean_object* x_1660; lean_object* x_1661; lean_object* x_1662; lean_object* x_1663; +lean_dec(x_1637); +lean_dec(x_1634); +lean_dec(x_1221); +lean_dec(x_1217); +x_1660 = lean_ctor_get(x_1638, 0); +lean_inc(x_1660); +x_1661 = lean_ctor_get(x_1638, 1); +lean_inc(x_1661); +if (lean_is_exclusive(x_1638)) { + lean_ctor_release(x_1638, 0); + lean_ctor_release(x_1638, 1); + x_1662 = x_1638; +} else { + lean_dec_ref(x_1638); + x_1662 = lean_box(0); +} +if (lean_is_scalar(x_1662)) { + x_1663 = lean_alloc_ctor(1, 2, 0); +} else { + x_1663 = x_1662; +} +lean_ctor_set(x_1663, 0, x_1660); +lean_ctor_set(x_1663, 1, x_1661); +x_16 = x_1663; +goto block_24; +} +} +else +{ +lean_object* x_1664; lean_object* x_1665; lean_object* x_1666; lean_object* x_1667; +lean_dec(x_1632); +lean_dec(x_1221); +lean_dec(x_1217); +lean_dec(x_1216); +x_1664 = lean_ctor_get(x_1633, 0); +lean_inc(x_1664); +x_1665 = lean_ctor_get(x_1633, 1); +lean_inc(x_1665); +if (lean_is_exclusive(x_1633)) { + lean_ctor_release(x_1633, 0); + lean_ctor_release(x_1633, 1); + x_1666 = x_1633; +} else { + lean_dec_ref(x_1633); + x_1666 = lean_box(0); +} +if (lean_is_scalar(x_1666)) { + x_1667 = lean_alloc_ctor(1, 2, 0); +} else { + x_1667 = x_1666; +} +lean_ctor_set(x_1667, 0, x_1664); +lean_ctor_set(x_1667, 1, x_1665); +x_16 = x_1667; +goto block_24; +} +} +else +{ +if (lean_obj_tag(x_1633) == 0) +{ +lean_object* x_1668; lean_object* x_1669; lean_object* x_1670; +x_1668 = lean_ctor_get(x_1633, 0); +lean_inc(x_1668); +x_1669 = lean_ctor_get(x_1633, 1); +lean_inc(x_1669); +lean_dec(x_1633); +lean_inc(x_4); +x_1670 = l_Lean_ppExpr(x_4, x_1632, x_1669); +if (lean_obj_tag(x_1670) == 0) +{ +lean_object* x_1671; lean_object* x_1672; lean_object* x_1673; lean_object* x_1674; lean_object* x_1675; lean_object* x_1676; lean_object* x_1677; lean_object* x_1678; lean_object* x_1679; lean_object* x_1680; lean_object* x_1681; lean_object* x_1682; lean_object* x_1683; lean_object* x_1684; uint8_t x_1685; lean_object* x_1686; lean_object* x_1687; lean_object* x_1688; lean_object* x_1689; lean_object* x_1690; lean_object* x_1691; lean_object* x_1692; +x_1671 = lean_ctor_get(x_1670, 0); +lean_inc(x_1671); +x_1672 = lean_ctor_get(x_1670, 1); +lean_inc(x_1672); +lean_dec(x_1670); +x_1673 = l_System_FilePath_dirName___closed__1; +x_1674 = l_Lean_Name_toStringWithSep___main(x_1673, x_1221); +x_1675 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_1675, 0, x_1674); +x_1676 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__6; +x_1677 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1677, 0, x_1675); +lean_ctor_set(x_1677, 1, x_1676); +x_1678 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1678, 0, x_1677); +lean_ctor_set(x_1678, 1, x_1668); +x_1679 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__8; +x_1680 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1680, 0, x_1678); +lean_ctor_set(x_1680, 1, x_1679); +x_1681 = lean_box(1); +x_1682 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1682, 0, x_1681); +lean_ctor_set(x_1682, 1, x_1671); +lean_inc(x_2); +x_1683 = lean_alloc_ctor(3, 2, 0); +lean_ctor_set(x_1683, 0, x_2); +lean_ctor_set(x_1683, 1, x_1682); +x_1684 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1684, 0, x_1680); +lean_ctor_set(x_1684, 1, x_1683); +x_1685 = 0; +x_1686 = lean_alloc_ctor(5, 1, 1); +lean_ctor_set(x_1686, 0, x_1684); +lean_ctor_set_uint8(x_1686, sizeof(void*)*1, x_1685); +x_1687 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1687, 0, x_1216); +lean_ctor_set(x_1687, 1, x_1686); +x_1688 = lean_box(0); +x_1689 = lean_box(0); +if (lean_is_scalar(x_1217)) { + x_1690 = lean_alloc_ctor(0, 2, 0); +} else { + x_1690 = x_1217; +} +lean_ctor_set(x_1690, 0, x_1689); +lean_ctor_set(x_1690, 1, x_1687); +x_1691 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_1691, 0, x_1688); +lean_ctor_set(x_1691, 1, x_1690); +x_1692 = lean_apply_2(x_1627, x_1691, x_1672); +x_16 = x_1692; +goto block_24; +} +else +{ +lean_object* x_1693; lean_object* x_1694; lean_object* x_1695; lean_object* x_1696; +lean_dec(x_1668); +lean_dec(x_1221); +lean_dec(x_1217); +lean_dec(x_1216); +x_1693 = lean_ctor_get(x_1670, 0); +lean_inc(x_1693); +x_1694 = lean_ctor_get(x_1670, 1); +lean_inc(x_1694); +if (lean_is_exclusive(x_1670)) { + lean_ctor_release(x_1670, 0); + lean_ctor_release(x_1670, 1); + x_1695 = x_1670; +} else { + lean_dec_ref(x_1670); + x_1695 = lean_box(0); +} +if (lean_is_scalar(x_1695)) { + x_1696 = lean_alloc_ctor(1, 2, 0); +} else { + x_1696 = x_1695; +} +lean_ctor_set(x_1696, 0, x_1693); +lean_ctor_set(x_1696, 1, x_1694); +x_16 = x_1696; +goto block_24; +} +} +else +{ +lean_object* x_1697; lean_object* x_1698; lean_object* x_1699; lean_object* x_1700; +lean_dec(x_1632); +lean_dec(x_1221); +lean_dec(x_1217); +lean_dec(x_1216); +x_1697 = lean_ctor_get(x_1633, 0); +lean_inc(x_1697); +x_1698 = lean_ctor_get(x_1633, 1); +lean_inc(x_1698); +if (lean_is_exclusive(x_1633)) { + lean_ctor_release(x_1633, 0); + lean_ctor_release(x_1633, 1); + x_1699 = x_1633; +} else { + lean_dec_ref(x_1633); + x_1699 = lean_box(0); +} +if (lean_is_scalar(x_1699)) { + x_1700 = lean_alloc_ctor(1, 2, 0); +} else { + x_1700 = x_1699; +} +lean_ctor_set(x_1700, 0, x_1697); +lean_ctor_set(x_1700, 1, x_1698); +x_16 = x_1700; +goto block_24; +} +} +} +} +} +} +else +{ +lean_object* x_1701; +lean_dec(x_27); +lean_dec(x_26); +x_1701 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_1701, 0, x_8); +lean_ctor_set(x_1701, 1, x_9); +x_16 = x_1701; +goto block_24; +} +} +} +block_24: +{ +if (lean_obj_tag(x_16) == 0) +{ +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_Std_PersistentArray_foldlMAux___at_Lean_ppGoal___spec__4(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* l_Std_PersistentArray_foldlMAux___at_Lean_ppGoal___spec__4(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: { -if (lean_obj_tag(x_4) == 0) +if (lean_obj_tag(x_5) == 0) +{ +lean_object* x_8; lean_object* x_9; lean_object* x_10; +x_8 = lean_ctor_get(x_5, 0); +x_9 = lean_unsigned_to_nat(0u); +x_10 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__5(x_1, x_2, x_3, x_4, x_8, x_8, x_9, x_6, x_7); +return x_10; +} +else +{ +lean_object* x_11; lean_object* x_12; lean_object* x_13; +x_11 = lean_ctor_get(x_5, 0); +x_12 = lean_unsigned_to_nat(0u); +x_13 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6(x_1, x_2, x_3, x_4, x_11, x_11, x_12, x_6, x_7); +return x_13; +} +} +} +lean_object* l_Array_iterateMAux___main___at_Lean_ppGoal___spec__7(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_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_12; +lean_dec(x_7); +lean_dec(x_4); +lean_dec(x_2); +lean_dec(x_1); +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_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_7 = x_15; +goto _start; +} +else +{ +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_13); + x_27 = lean_box(0); +} +if (x_3 == 0) +{ +uint8_t x_1703; +x_1703 = l_Lean_LocalDecl_isAuxDecl(x_26); +x_28 = x_1703; +goto block_1702; +} +else +{ +uint8_t x_1704; +x_1704 = 0; +x_28 = x_1704; +goto block_1702; +} +block_1702: +{ +if (x_28 == 0) +{ +lean_object* x_29; +x_29 = lean_ctor_get(x_8, 1); +lean_inc(x_29); +if (lean_obj_tag(x_26) == 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; 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); +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_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_273; +x_273 = 1; +x_40 = x_273; +goto block_272; +} +else +{ +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_47 = x_27; +} +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 +{ +if (lean_obj_tag(x_31) == 0) +{ +uint8_t x_51; +x_51 = !lean_is_exclusive(x_30); +if (x_51 == 0) +{ +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_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_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_65; +lean_dec(x_27); +x_65 = !lean_is_exclusive(x_31); +if (x_65 == 0) +{ +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(x_77, 1, x_76); +x_78 = lean_alloc_ctor(4, 2, 0); +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_44); +lean_ctor_set(x_83, 1, x_82); +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_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 { + 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; +} +lean_ctor_set(x_100, 0, x_98); +lean_ctor_set(x_100, 1, x_99); +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 { + lean_dec_ref(x_30); + x_104 = lean_box(0); +} +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_115 = lean_box(0); +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_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 +{ +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) +{ +x_16 = x_67; +goto block_24; +} +else +{ +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_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_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_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 +{ +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 { + x_153 = x_27; +} +lean_ctor_set(x_153, 0, x_38); +if (lean_is_scalar(x_39)) { + x_154 = lean_alloc_ctor(0, 2, 0); +} else { + x_154 = x_39; +} +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); +x_170 = lean_alloc_ctor(0, 2, 0); +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_dec(x_27); +x_171 = !lean_is_exclusive(x_31); +if (x_171 == 0) +{ +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) +{ +uint8_t x_174; +x_174 = !lean_is_exclusive(x_173); +if (x_174 == 0) +{ +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_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_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 = 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_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_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); +lean_ctor_set(x_31, 0, x_38); +if (lean_is_scalar(x_39)) { + x_207 = lean_alloc_ctor(0, 2, 0); +} else { + x_207 = x_39; +} +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); +lean_ctor_set(x_173, 0, x_208); +x_16 = x_173; +goto block_24; +} +} +else +{ +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_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 { + x_225 = x_212; +} +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 { + x_226 = x_39; +} +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_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 +{ +uint8_t x_229; +lean_free_object(x_31); +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_229 = !lean_is_exclusive(x_173); +if (x_229 == 0) +{ +x_16 = x_173; +goto block_24; +} +else +{ +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 +{ +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_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 { + lean_dec_ref(x_234); + x_237 = lean_box(0); +} +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_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; +x_297 = lean_ctor_get(x_296, 0); +lean_inc(x_297); +x_298 = lean_ctor_get(x_296, 1); +lean_inc(x_298); +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_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_308); +lean_ctor_set(x_310, 1, x_309); +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_310); +lean_ctor_set(x_313, 1, x_312); +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 +{ +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 +{ +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_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 +{ +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_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 = 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 +{ +uint8_t x_350; +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) +{ +x_16 = x_330; +goto block_24; +} +else +{ +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 +{ +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); +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(x_375, 1, x_374); +x_376 = lean_alloc_ctor(4, 2, 0); +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); +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); +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 +{ +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 +{ +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_16 = x_391; +goto block_24; +} +} +} +else +{ +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) +{ +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); +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; +} +} +} +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_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_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 +{ +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 +{ +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; +} +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_16 = x_425; +goto block_24; +} +} +} +} +else +{ +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) +{ +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) +{ +if (lean_obj_tag(x_447) == 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_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) +{ +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_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_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 +{ +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_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_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(x_490, 1, x_489); +x_491 = lean_alloc_ctor(4, 2, 0); +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_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_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_499; +lean_dec(x_478); +lean_dec(x_440); +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_16 = x_480; +goto block_24; +} +else +{ +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 +{ +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) +{ +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_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_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); +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 +{ +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) +{ +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_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_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_556, 0); +x_579 = lean_ctor_get(x_556, 1); +lean_inc(x_579); +lean_inc(x_578); +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_16 = x_580; +goto block_24; +} +} +} +else +{ +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) +{ +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_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 +{ +lean_object* x_585; lean_object* x_586; +x_585 = lean_ctor_get(x_280, 0); +lean_inc(x_585); +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_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); +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_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_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_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_607) == 0) +{ +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); +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) +{ +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_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; +x_618 = lean_alloc_ctor(4, 2, 0); +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_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_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_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_598); +x_626 = lean_alloc_ctor(4, 2, 0); +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); +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 +{ +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 = 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_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_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; +} +} +} +else +{ +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_16 = x_607; +goto block_24; +} +else +{ +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_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_16 = x_586; +goto block_24; +} +else +{ +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; +} +} +} +} +} +} +else +{ +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_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_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) +{ +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); +lean_dec(x_677); +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) +{ +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 +{ +uint8_t x_702; +lean_dec(x_681); +lean_dec(x_678); +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 +{ +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) +{ +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_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; +} +} +} +} +} +else +{ +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); +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_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_771); +lean_ctor_set(x_774, 1, x_773); +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; +} +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 { + lean_dec_ref(x_761); + x_784 = lean_box(0); +} +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 +{ +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 +{ +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); +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) +{ +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); +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_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); +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); +} +if (lean_is_scalar(x_819)) { + x_820 = lean_alloc_ctor(1, 2, 0); +} else { + x_820 = x_819; +} +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_741) == 0) +{ +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) +{ +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_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_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 { + lean_dec_ref(x_831); + x_854 = lean_box(0); +} +if (lean_is_scalar(x_854)) { + x_855 = lean_alloc_ctor(1, 2, 0); +} else { + 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_857); +x_16 = x_859; +goto block_24; +} +} +else +{ +if (lean_obj_tag(x_827) == 0) +{ +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_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); +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 +{ +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); +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); +} +if (lean_is_scalar(x_889)) { + x_890 = lean_alloc_ctor(1, 2, 0); +} else { + x_890 = x_889; +} +lean_ctor_set(x_890, 0, x_887); +lean_ctor_set(x_890, 1, x_888); +x_16 = x_890; +goto block_24; +} +} +} +else +{ +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) +{ +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_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_899); +lean_ctor_set(x_902, 1, x_901); +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) +{ +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_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_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_2); +lean_ctor_set(x_928, 1, x_927); +x_929 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_929, 0, x_926); +lean_ctor_set(x_929, 1, x_928); +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_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; +} +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 { + lean_dec_ref(x_916); + x_938 = lean_box(0); +} +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 +{ +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); +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; +} +} +else +{ +if (lean_obj_tag(x_912) == 0) +{ +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 block_24; +} +} +else +{ +lean_object* x_1451; lean_object* x_1452; lean_object* x_1453; lean_object* x_1454; +lean_dec(x_1390); +lean_dec(x_1384); +lean_dec(x_1221); +lean_dec(x_1217); +x_1451 = lean_ctor_get(x_1391, 0); +lean_inc(x_1451); +x_1452 = lean_ctor_get(x_1391, 1); +lean_inc(x_1452); +if (lean_is_exclusive(x_1391)) { + lean_ctor_release(x_1391, 0); + lean_ctor_release(x_1391, 1); + x_1453 = x_1391; +} else { + lean_dec_ref(x_1391); + x_1453 = lean_box(0); +} +if (lean_is_scalar(x_1453)) { + x_1454 = lean_alloc_ctor(1, 2, 0); +} else { + x_1454 = x_1453; +} +lean_ctor_set(x_1454, 0, x_1451); +lean_ctor_set(x_1454, 1, x_1452); +x_16 = x_1454; +goto block_24; +} +} +} +else +{ +lean_object* x_1455; lean_object* x_1456; lean_object* x_1457; lean_object* x_1458; +lean_dec(x_1225); +lean_dec(x_1221); +lean_dec(x_1220); +lean_dec(x_1219); +lean_dec(x_1217); +lean_dec(x_1214); +x_1455 = lean_ctor_get(x_1371, 0); +lean_inc(x_1455); +x_1456 = lean_ctor_get(x_1371, 1); +lean_inc(x_1456); +if (lean_is_exclusive(x_1371)) { + lean_ctor_release(x_1371, 0); + lean_ctor_release(x_1371, 1); + x_1457 = x_1371; +} else { + lean_dec_ref(x_1371); + x_1457 = lean_box(0); +} +if (lean_is_scalar(x_1457)) { + x_1458 = lean_alloc_ctor(1, 2, 0); +} else { + x_1458 = x_1457; +} +lean_ctor_set(x_1458, 0, x_1455); +lean_ctor_set(x_1458, 1, x_1456); +x_16 = x_1458; +goto block_24; +} +} +} +} +else +{ +if (lean_obj_tag(x_1214) == 0) +{ +lean_object* x_1459; lean_object* x_1460; lean_object* x_1461; lean_object* x_1462; lean_object* x_1463; lean_object* x_1464; +lean_dec(x_1215); +x_1459 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4; +lean_inc(x_1); +x_1460 = l_Lean_MetavarContext_instantiateMVars(x_1, x_1219); +x_1461 = lean_ctor_get(x_1460, 0); +lean_inc(x_1461); +lean_dec(x_1460); +lean_inc(x_1); +x_1462 = l_Lean_MetavarContext_instantiateMVars(x_1, x_1220); +x_1463 = lean_ctor_get(x_1462, 0); +lean_inc(x_1463); +lean_dec(x_1462); +lean_inc(x_4); +x_1464 = l_Lean_ppExpr(x_4, x_1461, x_9); +if (lean_obj_tag(x_1464) == 0) +{ +lean_object* x_1465; lean_object* x_1466; lean_object* x_1467; +x_1465 = lean_ctor_get(x_1464, 0); +lean_inc(x_1465); +x_1466 = lean_ctor_get(x_1464, 1); +lean_inc(x_1466); +lean_dec(x_1464); +lean_inc(x_4); +x_1467 = l_Lean_ppExpr(x_4, x_1463, x_1466); +if (lean_obj_tag(x_1467) == 0) +{ +lean_object* x_1468; lean_object* x_1469; lean_object* x_1470; lean_object* x_1471; lean_object* x_1472; lean_object* x_1473; lean_object* x_1474; lean_object* x_1475; lean_object* x_1476; lean_object* x_1477; lean_object* x_1478; lean_object* x_1479; lean_object* x_1480; lean_object* x_1481; uint8_t x_1482; lean_object* x_1483; lean_object* x_1484; lean_object* x_1485; lean_object* x_1486; lean_object* x_1487; lean_object* x_1488; lean_object* x_1489; +x_1468 = lean_ctor_get(x_1467, 0); +lean_inc(x_1468); +x_1469 = lean_ctor_get(x_1467, 1); +lean_inc(x_1469); +lean_dec(x_1467); +x_1470 = l_System_FilePath_dirName___closed__1; +x_1471 = l_Lean_Name_toStringWithSep___main(x_1470, x_1221); +x_1472 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_1472, 0, x_1471); +x_1473 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__6; +x_1474 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1474, 0, x_1472); +lean_ctor_set(x_1474, 1, x_1473); +x_1475 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1475, 0, x_1474); +lean_ctor_set(x_1475, 1, x_1465); +x_1476 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__8; +x_1477 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1477, 0, x_1475); +lean_ctor_set(x_1477, 1, x_1476); +x_1478 = lean_box(1); +x_1479 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1479, 0, x_1478); +lean_ctor_set(x_1479, 1, x_1468); +lean_inc(x_2); +x_1480 = lean_alloc_ctor(3, 2, 0); +lean_ctor_set(x_1480, 0, x_2); +lean_ctor_set(x_1480, 1, x_1479); +x_1481 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1481, 0, x_1477); +lean_ctor_set(x_1481, 1, x_1480); +x_1482 = 0; +x_1483 = lean_alloc_ctor(5, 1, 1); +lean_ctor_set(x_1483, 0, x_1481); +lean_ctor_set_uint8(x_1483, sizeof(void*)*1, x_1482); +x_1484 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1484, 0, x_1216); +lean_ctor_set(x_1484, 1, x_1483); +x_1485 = lean_box(0); +x_1486 = lean_box(0); +if (lean_is_scalar(x_1217)) { + x_1487 = lean_alloc_ctor(0, 2, 0); +} else { + x_1487 = x_1217; +} +lean_ctor_set(x_1487, 0, x_1486); +lean_ctor_set(x_1487, 1, x_1484); +x_1488 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_1488, 0, x_1485); +lean_ctor_set(x_1488, 1, x_1487); +x_1489 = lean_apply_2(x_1459, x_1488, x_1469); +x_16 = x_1489; +goto block_24; +} +else +{ +lean_object* x_1490; lean_object* x_1491; lean_object* x_1492; lean_object* x_1493; +lean_dec(x_1465); +lean_dec(x_1221); +lean_dec(x_1217); +lean_dec(x_1216); +x_1490 = lean_ctor_get(x_1467, 0); +lean_inc(x_1490); +x_1491 = lean_ctor_get(x_1467, 1); +lean_inc(x_1491); +if (lean_is_exclusive(x_1467)) { + lean_ctor_release(x_1467, 0); + lean_ctor_release(x_1467, 1); + x_1492 = x_1467; +} else { + lean_dec_ref(x_1467); + x_1492 = lean_box(0); +} +if (lean_is_scalar(x_1492)) { + x_1493 = lean_alloc_ctor(1, 2, 0); +} else { + x_1493 = x_1492; +} +lean_ctor_set(x_1493, 0, x_1490); +lean_ctor_set(x_1493, 1, x_1491); +x_16 = x_1493; +goto block_24; +} +} +else +{ +lean_object* x_1494; lean_object* x_1495; lean_object* x_1496; lean_object* x_1497; +lean_dec(x_1463); +lean_dec(x_1221); +lean_dec(x_1217); +lean_dec(x_1216); +x_1494 = lean_ctor_get(x_1464, 0); +lean_inc(x_1494); +x_1495 = lean_ctor_get(x_1464, 1); +lean_inc(x_1495); +if (lean_is_exclusive(x_1464)) { + lean_ctor_release(x_1464, 0); + lean_ctor_release(x_1464, 1); + x_1496 = x_1464; +} else { + lean_dec_ref(x_1464); + x_1496 = lean_box(0); +} +if (lean_is_scalar(x_1496)) { + x_1497 = lean_alloc_ctor(1, 2, 0); +} else { + x_1497 = x_1496; +} +lean_ctor_set(x_1497, 0, x_1494); +lean_ctor_set(x_1497, 1, x_1495); +x_16 = x_1497; +goto block_24; +} +} +else +{ +if (lean_obj_tag(x_1215) == 0) +{ +lean_object* x_1498; lean_object* x_1499; lean_object* x_1500; lean_object* x_1501; lean_object* x_1502; lean_object* x_1503; +lean_dec(x_1214); +x_1498 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4; +lean_inc(x_1); +x_1499 = l_Lean_MetavarContext_instantiateMVars(x_1, x_1219); +x_1500 = lean_ctor_get(x_1499, 0); +lean_inc(x_1500); +lean_dec(x_1499); +lean_inc(x_1); +x_1501 = l_Lean_MetavarContext_instantiateMVars(x_1, x_1220); +x_1502 = lean_ctor_get(x_1501, 0); +lean_inc(x_1502); +lean_dec(x_1501); +lean_inc(x_4); +x_1503 = l_Lean_ppExpr(x_4, x_1500, x_9); +if (lean_obj_tag(x_1503) == 0) +{ +lean_object* x_1504; lean_object* x_1505; lean_object* x_1506; +x_1504 = lean_ctor_get(x_1503, 0); +lean_inc(x_1504); +x_1505 = lean_ctor_get(x_1503, 1); +lean_inc(x_1505); +lean_dec(x_1503); +lean_inc(x_4); +x_1506 = l_Lean_ppExpr(x_4, x_1502, x_1505); +if (lean_obj_tag(x_1506) == 0) +{ +lean_object* x_1507; lean_object* x_1508; lean_object* x_1509; lean_object* x_1510; lean_object* x_1511; lean_object* x_1512; lean_object* x_1513; lean_object* x_1514; lean_object* x_1515; lean_object* x_1516; lean_object* x_1517; lean_object* x_1518; lean_object* x_1519; lean_object* x_1520; uint8_t x_1521; lean_object* x_1522; lean_object* x_1523; lean_object* x_1524; lean_object* x_1525; lean_object* x_1526; lean_object* x_1527; lean_object* x_1528; +x_1507 = lean_ctor_get(x_1506, 0); +lean_inc(x_1507); +x_1508 = lean_ctor_get(x_1506, 1); +lean_inc(x_1508); +lean_dec(x_1506); +x_1509 = l_System_FilePath_dirName___closed__1; +x_1510 = l_Lean_Name_toStringWithSep___main(x_1509, x_1221); +x_1511 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_1511, 0, x_1510); +x_1512 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__6; +x_1513 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1513, 0, x_1511); +lean_ctor_set(x_1513, 1, x_1512); +x_1514 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1514, 0, x_1513); +lean_ctor_set(x_1514, 1, x_1504); +x_1515 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__8; +x_1516 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1516, 0, x_1514); +lean_ctor_set(x_1516, 1, x_1515); +x_1517 = lean_box(1); +x_1518 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1518, 0, x_1517); +lean_ctor_set(x_1518, 1, x_1507); +lean_inc(x_2); +x_1519 = lean_alloc_ctor(3, 2, 0); +lean_ctor_set(x_1519, 0, x_2); +lean_ctor_set(x_1519, 1, x_1518); +x_1520 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1520, 0, x_1516); +lean_ctor_set(x_1520, 1, x_1519); +x_1521 = 0; +x_1522 = lean_alloc_ctor(5, 1, 1); +lean_ctor_set(x_1522, 0, x_1520); +lean_ctor_set_uint8(x_1522, sizeof(void*)*1, x_1521); +x_1523 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1523, 0, x_1216); +lean_ctor_set(x_1523, 1, x_1522); +x_1524 = lean_box(0); +x_1525 = lean_box(0); +if (lean_is_scalar(x_1217)) { + x_1526 = lean_alloc_ctor(0, 2, 0); +} else { + x_1526 = x_1217; +} +lean_ctor_set(x_1526, 0, x_1525); +lean_ctor_set(x_1526, 1, x_1523); +x_1527 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_1527, 0, x_1524); +lean_ctor_set(x_1527, 1, x_1526); +x_1528 = lean_apply_2(x_1498, x_1527, x_1508); +x_16 = x_1528; +goto block_24; +} +else +{ +lean_object* x_1529; lean_object* x_1530; lean_object* x_1531; lean_object* x_1532; +lean_dec(x_1504); +lean_dec(x_1221); +lean_dec(x_1217); +lean_dec(x_1216); +x_1529 = lean_ctor_get(x_1506, 0); +lean_inc(x_1529); +x_1530 = lean_ctor_get(x_1506, 1); +lean_inc(x_1530); +if (lean_is_exclusive(x_1506)) { + lean_ctor_release(x_1506, 0); + lean_ctor_release(x_1506, 1); + x_1531 = x_1506; +} else { + lean_dec_ref(x_1506); + x_1531 = lean_box(0); +} +if (lean_is_scalar(x_1531)) { + x_1532 = lean_alloc_ctor(1, 2, 0); +} else { + x_1532 = x_1531; +} +lean_ctor_set(x_1532, 0, x_1529); +lean_ctor_set(x_1532, 1, x_1530); +x_16 = x_1532; +goto block_24; +} +} +else +{ +lean_object* x_1533; lean_object* x_1534; lean_object* x_1535; lean_object* x_1536; +lean_dec(x_1502); +lean_dec(x_1221); +lean_dec(x_1217); +lean_dec(x_1216); +x_1533 = lean_ctor_get(x_1503, 0); +lean_inc(x_1533); +x_1534 = lean_ctor_get(x_1503, 1); +lean_inc(x_1534); +if (lean_is_exclusive(x_1503)) { + lean_ctor_release(x_1503, 0); + lean_ctor_release(x_1503, 1); + x_1535 = x_1503; +} else { + lean_dec_ref(x_1503); + x_1535 = lean_box(0); +} +if (lean_is_scalar(x_1535)) { + x_1536 = lean_alloc_ctor(1, 2, 0); +} else { + x_1536 = x_1535; +} +lean_ctor_set(x_1536, 0, x_1533); +lean_ctor_set(x_1536, 1, x_1534); +x_16 = x_1536; +goto block_24; +} +} +else +{ +lean_object* x_1537; lean_object* x_1538; +x_1537 = lean_ctor_get(x_1215, 0); +lean_inc(x_1537); +lean_dec(x_1215); +lean_inc(x_4); +x_1538 = l_Lean_ppExpr(x_4, x_1537, x_9); +if (lean_obj_tag(x_1538) == 0) +{ +lean_object* x_1539; lean_object* x_1540; lean_object* x_1541; lean_object* x_1542; lean_object* x_1543; lean_object* x_1544; lean_object* x_1545; lean_object* x_1546; lean_object* x_1547; lean_object* x_1548; lean_object* x_1549; uint8_t x_1550; lean_object* x_1551; lean_object* x_1552; lean_object* x_1553; uint8_t x_1554; lean_object* x_1555; lean_object* x_1556; lean_object* x_1557; lean_object* x_1558; lean_object* x_1559; +x_1539 = lean_ctor_get(x_1538, 0); +lean_inc(x_1539); +x_1540 = lean_ctor_get(x_1538, 1); +lean_inc(x_1540); +lean_dec(x_1538); +x_1541 = l_List_reverse___rarg(x_1214); +x_1542 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1; +x_1543 = l_Lean_Format_joinSep___main___at_Lean_ppGoal___spec__1(x_1541, x_1542); +x_1544 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__3; +x_1545 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1545, 0, x_1543); +lean_ctor_set(x_1545, 1, x_1544); +x_1546 = lean_box(1); +x_1547 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1547, 0, x_1546); +lean_ctor_set(x_1547, 1, x_1539); +lean_inc(x_2); +x_1548 = lean_alloc_ctor(3, 2, 0); +lean_ctor_set(x_1548, 0, x_2); +lean_ctor_set(x_1548, 1, x_1547); +x_1549 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1549, 0, x_1545); +lean_ctor_set(x_1549, 1, x_1548); +x_1550 = 0; +x_1551 = lean_alloc_ctor(5, 1, 1); +lean_ctor_set(x_1551, 0, x_1549); +lean_ctor_set_uint8(x_1551, sizeof(void*)*1, x_1550); +x_1552 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1552, 0, x_1216); +lean_ctor_set(x_1552, 1, x_1551); +x_1553 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4; +x_1554 = l_Lean_Format_isNil(x_1552); +lean_inc(x_1); +x_1555 = l_Lean_MetavarContext_instantiateMVars(x_1, x_1219); +x_1556 = lean_ctor_get(x_1555, 0); +lean_inc(x_1556); +lean_dec(x_1555); +lean_inc(x_1); +x_1557 = l_Lean_MetavarContext_instantiateMVars(x_1, x_1220); +x_1558 = lean_ctor_get(x_1557, 0); +lean_inc(x_1558); +lean_dec(x_1557); +lean_inc(x_4); +x_1559 = l_Lean_ppExpr(x_4, x_1556, x_1540); +if (x_1554 == 0) +{ +if (lean_obj_tag(x_1559) == 0) +{ +lean_object* x_1560; lean_object* x_1561; lean_object* x_1562; lean_object* x_1563; +x_1560 = lean_ctor_get(x_1559, 0); +lean_inc(x_1560); +x_1561 = lean_ctor_get(x_1559, 1); +lean_inc(x_1561); +lean_dec(x_1559); +x_1562 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1562, 0, x_1552); +lean_ctor_set(x_1562, 1, x_1546); +lean_inc(x_4); +x_1563 = l_Lean_ppExpr(x_4, x_1558, x_1561); +if (lean_obj_tag(x_1563) == 0) +{ +lean_object* x_1564; lean_object* x_1565; lean_object* x_1566; lean_object* x_1567; lean_object* x_1568; lean_object* x_1569; lean_object* x_1570; lean_object* x_1571; lean_object* x_1572; lean_object* x_1573; lean_object* x_1574; lean_object* x_1575; lean_object* x_1576; lean_object* x_1577; lean_object* x_1578; lean_object* x_1579; lean_object* x_1580; lean_object* x_1581; lean_object* x_1582; lean_object* x_1583; +x_1564 = lean_ctor_get(x_1563, 0); +lean_inc(x_1564); +x_1565 = lean_ctor_get(x_1563, 1); +lean_inc(x_1565); +lean_dec(x_1563); +x_1566 = l_System_FilePath_dirName___closed__1; +x_1567 = l_Lean_Name_toStringWithSep___main(x_1566, x_1221); +x_1568 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_1568, 0, x_1567); +x_1569 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__6; +x_1570 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1570, 0, x_1568); +lean_ctor_set(x_1570, 1, x_1569); +x_1571 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1571, 0, x_1570); +lean_ctor_set(x_1571, 1, x_1560); +x_1572 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__8; +x_1573 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1573, 0, x_1571); +lean_ctor_set(x_1573, 1, x_1572); +x_1574 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1574, 0, x_1546); +lean_ctor_set(x_1574, 1, x_1564); +lean_inc(x_2); +x_1575 = lean_alloc_ctor(3, 2, 0); +lean_ctor_set(x_1575, 0, x_2); +lean_ctor_set(x_1575, 1, x_1574); +x_1576 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1576, 0, x_1573); +lean_ctor_set(x_1576, 1, x_1575); +x_1577 = lean_alloc_ctor(5, 1, 1); +lean_ctor_set(x_1577, 0, x_1576); +lean_ctor_set_uint8(x_1577, sizeof(void*)*1, x_1550); +x_1578 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1578, 0, x_1562); +lean_ctor_set(x_1578, 1, x_1577); +x_1579 = lean_box(0); +x_1580 = lean_box(0); +if (lean_is_scalar(x_1217)) { + x_1581 = lean_alloc_ctor(0, 2, 0); +} else { + x_1581 = x_1217; +} +lean_ctor_set(x_1581, 0, x_1580); +lean_ctor_set(x_1581, 1, x_1578); +x_1582 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_1582, 0, x_1579); +lean_ctor_set(x_1582, 1, x_1581); +x_1583 = lean_apply_2(x_1553, x_1582, x_1565); +x_16 = x_1583; +goto block_24; +} +else +{ +lean_object* x_1584; lean_object* x_1585; lean_object* x_1586; lean_object* x_1587; +lean_dec(x_1562); +lean_dec(x_1560); +lean_dec(x_1221); +lean_dec(x_1217); +x_1584 = lean_ctor_get(x_1563, 0); +lean_inc(x_1584); +x_1585 = lean_ctor_get(x_1563, 1); +lean_inc(x_1585); +if (lean_is_exclusive(x_1563)) { + lean_ctor_release(x_1563, 0); + lean_ctor_release(x_1563, 1); + x_1586 = x_1563; +} else { + lean_dec_ref(x_1563); + x_1586 = lean_box(0); +} +if (lean_is_scalar(x_1586)) { + x_1587 = lean_alloc_ctor(1, 2, 0); +} else { + x_1587 = x_1586; +} +lean_ctor_set(x_1587, 0, x_1584); +lean_ctor_set(x_1587, 1, x_1585); +x_16 = x_1587; +goto block_24; +} +} +else +{ +lean_object* x_1588; lean_object* x_1589; lean_object* x_1590; lean_object* x_1591; +lean_dec(x_1558); +lean_dec(x_1552); +lean_dec(x_1221); +lean_dec(x_1217); +x_1588 = lean_ctor_get(x_1559, 0); +lean_inc(x_1588); +x_1589 = lean_ctor_get(x_1559, 1); +lean_inc(x_1589); +if (lean_is_exclusive(x_1559)) { + lean_ctor_release(x_1559, 0); + lean_ctor_release(x_1559, 1); + x_1590 = x_1559; +} else { + lean_dec_ref(x_1559); + x_1590 = lean_box(0); +} +if (lean_is_scalar(x_1590)) { + x_1591 = lean_alloc_ctor(1, 2, 0); +} else { + x_1591 = x_1590; +} +lean_ctor_set(x_1591, 0, x_1588); +lean_ctor_set(x_1591, 1, x_1589); +x_16 = x_1591; +goto block_24; +} +} +else +{ +if (lean_obj_tag(x_1559) == 0) +{ +lean_object* x_1592; lean_object* x_1593; lean_object* x_1594; +x_1592 = lean_ctor_get(x_1559, 0); +lean_inc(x_1592); +x_1593 = lean_ctor_get(x_1559, 1); +lean_inc(x_1593); +lean_dec(x_1559); +lean_inc(x_4); +x_1594 = l_Lean_ppExpr(x_4, x_1558, x_1593); +if (lean_obj_tag(x_1594) == 0) +{ +lean_object* x_1595; lean_object* x_1596; lean_object* x_1597; lean_object* x_1598; lean_object* x_1599; lean_object* x_1600; lean_object* x_1601; lean_object* x_1602; lean_object* x_1603; lean_object* x_1604; lean_object* x_1605; lean_object* x_1606; lean_object* x_1607; lean_object* x_1608; lean_object* x_1609; lean_object* x_1610; lean_object* x_1611; lean_object* x_1612; lean_object* x_1613; lean_object* x_1614; +x_1595 = lean_ctor_get(x_1594, 0); +lean_inc(x_1595); +x_1596 = lean_ctor_get(x_1594, 1); +lean_inc(x_1596); +lean_dec(x_1594); +x_1597 = l_System_FilePath_dirName___closed__1; +x_1598 = l_Lean_Name_toStringWithSep___main(x_1597, x_1221); +x_1599 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_1599, 0, x_1598); +x_1600 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__6; +x_1601 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1601, 0, x_1599); +lean_ctor_set(x_1601, 1, x_1600); +x_1602 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1602, 0, x_1601); +lean_ctor_set(x_1602, 1, x_1592); +x_1603 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__8; +x_1604 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1604, 0, x_1602); +lean_ctor_set(x_1604, 1, x_1603); +x_1605 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1605, 0, x_1546); +lean_ctor_set(x_1605, 1, x_1595); +lean_inc(x_2); +x_1606 = lean_alloc_ctor(3, 2, 0); +lean_ctor_set(x_1606, 0, x_2); +lean_ctor_set(x_1606, 1, x_1605); +x_1607 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1607, 0, x_1604); +lean_ctor_set(x_1607, 1, x_1606); +x_1608 = lean_alloc_ctor(5, 1, 1); +lean_ctor_set(x_1608, 0, x_1607); +lean_ctor_set_uint8(x_1608, sizeof(void*)*1, x_1550); +x_1609 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1609, 0, x_1552); +lean_ctor_set(x_1609, 1, x_1608); +x_1610 = lean_box(0); +x_1611 = lean_box(0); +if (lean_is_scalar(x_1217)) { + x_1612 = lean_alloc_ctor(0, 2, 0); +} else { + x_1612 = x_1217; +} +lean_ctor_set(x_1612, 0, x_1611); +lean_ctor_set(x_1612, 1, x_1609); +x_1613 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_1613, 0, x_1610); +lean_ctor_set(x_1613, 1, x_1612); +x_1614 = lean_apply_2(x_1553, x_1613, x_1596); +x_16 = x_1614; +goto block_24; +} +else +{ +lean_object* x_1615; lean_object* x_1616; lean_object* x_1617; lean_object* x_1618; +lean_dec(x_1592); +lean_dec(x_1552); +lean_dec(x_1221); +lean_dec(x_1217); +x_1615 = lean_ctor_get(x_1594, 0); +lean_inc(x_1615); +x_1616 = lean_ctor_get(x_1594, 1); +lean_inc(x_1616); +if (lean_is_exclusive(x_1594)) { + lean_ctor_release(x_1594, 0); + lean_ctor_release(x_1594, 1); + x_1617 = x_1594; +} else { + lean_dec_ref(x_1594); + x_1617 = lean_box(0); +} +if (lean_is_scalar(x_1617)) { + x_1618 = lean_alloc_ctor(1, 2, 0); +} else { + x_1618 = x_1617; +} +lean_ctor_set(x_1618, 0, x_1615); +lean_ctor_set(x_1618, 1, x_1616); +x_16 = x_1618; +goto block_24; +} +} +else +{ +lean_object* x_1619; lean_object* x_1620; lean_object* x_1621; lean_object* x_1622; +lean_dec(x_1558); +lean_dec(x_1552); +lean_dec(x_1221); +lean_dec(x_1217); +x_1619 = lean_ctor_get(x_1559, 0); +lean_inc(x_1619); +x_1620 = lean_ctor_get(x_1559, 1); +lean_inc(x_1620); +if (lean_is_exclusive(x_1559)) { + lean_ctor_release(x_1559, 0); + lean_ctor_release(x_1559, 1); + x_1621 = x_1559; +} else { + lean_dec_ref(x_1559); + x_1621 = lean_box(0); +} +if (lean_is_scalar(x_1621)) { + x_1622 = lean_alloc_ctor(1, 2, 0); +} else { + x_1622 = x_1621; +} +lean_ctor_set(x_1622, 0, x_1619); +lean_ctor_set(x_1622, 1, x_1620); +x_16 = x_1622; +goto block_24; +} +} +} +else +{ +lean_object* x_1623; lean_object* x_1624; lean_object* x_1625; lean_object* x_1626; +lean_dec(x_1221); +lean_dec(x_1220); +lean_dec(x_1219); +lean_dec(x_1217); +lean_dec(x_1216); +lean_dec(x_1214); +x_1623 = lean_ctor_get(x_1538, 0); +lean_inc(x_1623); +x_1624 = lean_ctor_get(x_1538, 1); +lean_inc(x_1624); +if (lean_is_exclusive(x_1538)) { + lean_ctor_release(x_1538, 0); + lean_ctor_release(x_1538, 1); + x_1625 = x_1538; +} else { + lean_dec_ref(x_1538); + x_1625 = lean_box(0); +} +if (lean_is_scalar(x_1625)) { + x_1626 = lean_alloc_ctor(1, 2, 0); +} else { + x_1626 = x_1625; +} +lean_ctor_set(x_1626, 0, x_1623); +lean_ctor_set(x_1626, 1, x_1624); +x_16 = x_1626; +goto block_24; +} +} +} +} +} +else +{ +lean_object* x_1627; uint8_t x_1628; lean_object* x_1629; lean_object* x_1630; lean_object* x_1631; lean_object* x_1632; lean_object* x_1633; +lean_dec(x_1215); +lean_dec(x_1214); +x_1627 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4; +x_1628 = l_Lean_Format_isNil(x_1216); +lean_inc(x_1); +x_1629 = l_Lean_MetavarContext_instantiateMVars(x_1, x_1219); +x_1630 = lean_ctor_get(x_1629, 0); +lean_inc(x_1630); +lean_dec(x_1629); +lean_inc(x_1); +x_1631 = l_Lean_MetavarContext_instantiateMVars(x_1, x_1220); +x_1632 = lean_ctor_get(x_1631, 0); +lean_inc(x_1632); +lean_dec(x_1631); +lean_inc(x_4); +x_1633 = l_Lean_ppExpr(x_4, x_1630, x_9); +if (x_1628 == 0) +{ +if (lean_obj_tag(x_1633) == 0) +{ +lean_object* x_1634; lean_object* x_1635; lean_object* x_1636; lean_object* x_1637; lean_object* x_1638; +x_1634 = lean_ctor_get(x_1633, 0); +lean_inc(x_1634); +x_1635 = lean_ctor_get(x_1633, 1); +lean_inc(x_1635); +lean_dec(x_1633); +x_1636 = lean_box(1); +x_1637 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1637, 0, x_1216); +lean_ctor_set(x_1637, 1, x_1636); +lean_inc(x_4); +x_1638 = l_Lean_ppExpr(x_4, x_1632, x_1635); +if (lean_obj_tag(x_1638) == 0) +{ +lean_object* x_1639; lean_object* x_1640; lean_object* x_1641; lean_object* x_1642; lean_object* x_1643; lean_object* x_1644; lean_object* x_1645; lean_object* x_1646; lean_object* x_1647; lean_object* x_1648; lean_object* x_1649; lean_object* x_1650; lean_object* x_1651; uint8_t x_1652; lean_object* x_1653; lean_object* x_1654; lean_object* x_1655; lean_object* x_1656; lean_object* x_1657; lean_object* x_1658; lean_object* x_1659; +x_1639 = lean_ctor_get(x_1638, 0); +lean_inc(x_1639); +x_1640 = lean_ctor_get(x_1638, 1); +lean_inc(x_1640); +lean_dec(x_1638); +x_1641 = l_System_FilePath_dirName___closed__1; +x_1642 = l_Lean_Name_toStringWithSep___main(x_1641, x_1221); +x_1643 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_1643, 0, x_1642); +x_1644 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__6; +x_1645 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1645, 0, x_1643); +lean_ctor_set(x_1645, 1, x_1644); +x_1646 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1646, 0, x_1645); +lean_ctor_set(x_1646, 1, x_1634); +x_1647 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__8; +x_1648 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1648, 0, x_1646); +lean_ctor_set(x_1648, 1, x_1647); +x_1649 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1649, 0, x_1636); +lean_ctor_set(x_1649, 1, x_1639); +lean_inc(x_2); +x_1650 = lean_alloc_ctor(3, 2, 0); +lean_ctor_set(x_1650, 0, x_2); +lean_ctor_set(x_1650, 1, x_1649); +x_1651 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1651, 0, x_1648); +lean_ctor_set(x_1651, 1, x_1650); +x_1652 = 0; +x_1653 = lean_alloc_ctor(5, 1, 1); +lean_ctor_set(x_1653, 0, x_1651); +lean_ctor_set_uint8(x_1653, sizeof(void*)*1, x_1652); +x_1654 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1654, 0, x_1637); +lean_ctor_set(x_1654, 1, x_1653); +x_1655 = lean_box(0); +x_1656 = lean_box(0); +if (lean_is_scalar(x_1217)) { + x_1657 = lean_alloc_ctor(0, 2, 0); +} else { + x_1657 = x_1217; +} +lean_ctor_set(x_1657, 0, x_1656); +lean_ctor_set(x_1657, 1, x_1654); +x_1658 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_1658, 0, x_1655); +lean_ctor_set(x_1658, 1, x_1657); +x_1659 = lean_apply_2(x_1627, x_1658, x_1640); +x_16 = x_1659; +goto block_24; +} +else +{ +lean_object* x_1660; lean_object* x_1661; lean_object* x_1662; lean_object* x_1663; +lean_dec(x_1637); +lean_dec(x_1634); +lean_dec(x_1221); +lean_dec(x_1217); +x_1660 = lean_ctor_get(x_1638, 0); +lean_inc(x_1660); +x_1661 = lean_ctor_get(x_1638, 1); +lean_inc(x_1661); +if (lean_is_exclusive(x_1638)) { + lean_ctor_release(x_1638, 0); + lean_ctor_release(x_1638, 1); + x_1662 = x_1638; +} else { + lean_dec_ref(x_1638); + x_1662 = lean_box(0); +} +if (lean_is_scalar(x_1662)) { + x_1663 = lean_alloc_ctor(1, 2, 0); +} else { + x_1663 = x_1662; +} +lean_ctor_set(x_1663, 0, x_1660); +lean_ctor_set(x_1663, 1, x_1661); +x_16 = x_1663; +goto block_24; +} +} +else +{ +lean_object* x_1664; lean_object* x_1665; lean_object* x_1666; lean_object* x_1667; +lean_dec(x_1632); +lean_dec(x_1221); +lean_dec(x_1217); +lean_dec(x_1216); +x_1664 = lean_ctor_get(x_1633, 0); +lean_inc(x_1664); +x_1665 = lean_ctor_get(x_1633, 1); +lean_inc(x_1665); +if (lean_is_exclusive(x_1633)) { + lean_ctor_release(x_1633, 0); + lean_ctor_release(x_1633, 1); + x_1666 = x_1633; +} else { + lean_dec_ref(x_1633); + x_1666 = lean_box(0); +} +if (lean_is_scalar(x_1666)) { + x_1667 = lean_alloc_ctor(1, 2, 0); +} else { + x_1667 = x_1666; +} +lean_ctor_set(x_1667, 0, x_1664); +lean_ctor_set(x_1667, 1, x_1665); +x_16 = x_1667; +goto block_24; +} +} +else +{ +if (lean_obj_tag(x_1633) == 0) +{ +lean_object* x_1668; lean_object* x_1669; lean_object* x_1670; +x_1668 = lean_ctor_get(x_1633, 0); +lean_inc(x_1668); +x_1669 = lean_ctor_get(x_1633, 1); +lean_inc(x_1669); +lean_dec(x_1633); +lean_inc(x_4); +x_1670 = l_Lean_ppExpr(x_4, x_1632, x_1669); +if (lean_obj_tag(x_1670) == 0) +{ +lean_object* x_1671; lean_object* x_1672; lean_object* x_1673; lean_object* x_1674; lean_object* x_1675; lean_object* x_1676; lean_object* x_1677; lean_object* x_1678; lean_object* x_1679; lean_object* x_1680; lean_object* x_1681; lean_object* x_1682; lean_object* x_1683; lean_object* x_1684; uint8_t x_1685; lean_object* x_1686; lean_object* x_1687; lean_object* x_1688; lean_object* x_1689; lean_object* x_1690; lean_object* x_1691; lean_object* x_1692; +x_1671 = lean_ctor_get(x_1670, 0); +lean_inc(x_1671); +x_1672 = lean_ctor_get(x_1670, 1); +lean_inc(x_1672); +lean_dec(x_1670); +x_1673 = l_System_FilePath_dirName___closed__1; +x_1674 = l_Lean_Name_toStringWithSep___main(x_1673, x_1221); +x_1675 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_1675, 0, x_1674); +x_1676 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__6; +x_1677 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1677, 0, x_1675); +lean_ctor_set(x_1677, 1, x_1676); +x_1678 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1678, 0, x_1677); +lean_ctor_set(x_1678, 1, x_1668); +x_1679 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__8; +x_1680 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1680, 0, x_1678); +lean_ctor_set(x_1680, 1, x_1679); +x_1681 = lean_box(1); +x_1682 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1682, 0, x_1681); +lean_ctor_set(x_1682, 1, x_1671); +lean_inc(x_2); +x_1683 = lean_alloc_ctor(3, 2, 0); +lean_ctor_set(x_1683, 0, x_2); +lean_ctor_set(x_1683, 1, x_1682); +x_1684 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1684, 0, x_1680); +lean_ctor_set(x_1684, 1, x_1683); +x_1685 = 0; +x_1686 = lean_alloc_ctor(5, 1, 1); +lean_ctor_set(x_1686, 0, x_1684); +lean_ctor_set_uint8(x_1686, sizeof(void*)*1, x_1685); +x_1687 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_1687, 0, x_1216); +lean_ctor_set(x_1687, 1, x_1686); +x_1688 = lean_box(0); +x_1689 = lean_box(0); +if (lean_is_scalar(x_1217)) { + x_1690 = lean_alloc_ctor(0, 2, 0); +} else { + x_1690 = x_1217; +} +lean_ctor_set(x_1690, 0, x_1689); +lean_ctor_set(x_1690, 1, x_1687); +x_1691 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_1691, 0, x_1688); +lean_ctor_set(x_1691, 1, x_1690); +x_1692 = lean_apply_2(x_1627, x_1691, x_1672); +x_16 = x_1692; +goto block_24; +} +else +{ +lean_object* x_1693; lean_object* x_1694; lean_object* x_1695; lean_object* x_1696; +lean_dec(x_1668); +lean_dec(x_1221); +lean_dec(x_1217); +lean_dec(x_1216); +x_1693 = lean_ctor_get(x_1670, 0); +lean_inc(x_1693); +x_1694 = lean_ctor_get(x_1670, 1); +lean_inc(x_1694); +if (lean_is_exclusive(x_1670)) { + lean_ctor_release(x_1670, 0); + lean_ctor_release(x_1670, 1); + x_1695 = x_1670; +} else { + lean_dec_ref(x_1670); + x_1695 = lean_box(0); +} +if (lean_is_scalar(x_1695)) { + x_1696 = lean_alloc_ctor(1, 2, 0); +} else { + x_1696 = x_1695; +} +lean_ctor_set(x_1696, 0, x_1693); +lean_ctor_set(x_1696, 1, x_1694); +x_16 = x_1696; +goto block_24; +} +} +else +{ +lean_object* x_1697; lean_object* x_1698; lean_object* x_1699; lean_object* x_1700; +lean_dec(x_1632); +lean_dec(x_1221); +lean_dec(x_1217); +lean_dec(x_1216); +x_1697 = lean_ctor_get(x_1633, 0); +lean_inc(x_1697); +x_1698 = lean_ctor_get(x_1633, 1); +lean_inc(x_1698); +if (lean_is_exclusive(x_1633)) { + lean_ctor_release(x_1633, 0); + lean_ctor_release(x_1633, 1); + x_1699 = x_1633; +} else { + lean_dec_ref(x_1633); + x_1699 = lean_box(0); +} +if (lean_is_scalar(x_1699)) { + x_1700 = lean_alloc_ctor(1, 2, 0); +} else { + x_1700 = x_1699; +} +lean_ctor_set(x_1700, 0, x_1697); +lean_ctor_set(x_1700, 1, x_1698); +x_16 = x_1700; +goto block_24; +} +} +} +} +} +} +else +{ +lean_object* x_1701; +lean_dec(x_27); +lean_dec(x_26); +x_1701 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_1701, 0, x_8); +lean_ctor_set(x_1701, 1, x_9); +x_16 = x_1701; +goto block_24; +} +} +} +block_24: +{ +if (lean_obj_tag(x_16) == 0) +{ +lean_object* x_17; lean_object* x_18; +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_7 = x_15; +x_8 = x_17; +x_9 = x_18; +goto _start; +} +else +{ +uint8_t x_20; +lean_dec(x_15); +lean_dec(x_4); +lean_dec(x_2); +lean_dec(x_1); +x_20 = !lean_is_exclusive(x_16); +if (x_20 == 0) +{ +return x_16; +} +else +{ +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_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_Std_PersistentArray_foldlM___at_Lean_ppGoal___spec__3(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; lean_object* x_9; +x_8 = lean_ctor_get(x_5, 0); +lean_inc(x_4); +lean_inc(x_2); +lean_inc(x_1); +x_9 = l_Std_PersistentArray_foldlMAux___at_Lean_ppGoal___spec__4(x_1, x_2, x_3, x_4, x_8, x_6, x_7); +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 = lean_ctor_get(x_9, 0); +lean_inc(x_10); +x_11 = lean_ctor_get(x_9, 1); +lean_inc(x_11); +lean_dec(x_9); +x_12 = lean_ctor_get(x_5, 1); +x_13 = lean_unsigned_to_nat(0u); +x_14 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__7(x_1, x_2, x_3, x_4, x_5, x_12, x_13, x_10, x_11); +return x_14; +} +else +{ +uint8_t x_15; +lean_dec(x_4); +lean_dec(x_2); +lean_dec(x_1); +x_15 = !lean_is_exclusive(x_9); +if (x_15 == 0) { -lean_object* x_7; lean_object* x_8; lean_object* x_9; -x_7 = lean_ctor_get(x_4, 0); -x_8 = lean_unsigned_to_nat(0u); -x_9 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__5(x_1, x_2, x_3, x_7, x_7, x_8, x_5, x_6); return x_9; } else { -lean_object* x_10; lean_object* x_11; lean_object* x_12; -x_10 = lean_ctor_get(x_4, 0); -x_11 = lean_unsigned_to_nat(0u); -x_12 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6(x_1, x_2, x_3, x_10, x_10, x_11, x_5, x_6); -return x_12; -} -} -} -lean_object* l_Array_iterateMAux___main___at_Lean_ppGoal___spec__7(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) { -_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_11; -lean_dec(x_6); -lean_dec(x_3); -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; -} -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) -{ -x_6 = x_14; -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; -} else { - lean_dec_ref(x_12); - x_26 = lean_box(0); -} -if (x_2 == 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; -} -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; -} -} -else -{ -lean_object* x_962; -x_962 = lean_box(0); -x_27 = x_962; -goto block_958; -} -block_958: -{ -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_inc(x_29); -lean_dec(x_7); -x_30 = !lean_is_exclusive(x_28); -if (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; -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_inc(x_34); -lean_dec(x_25); -x_35 = lean_simp_macro_scopes(x_33); -lean_inc(x_1); -x_36 = l_Lean_MetavarContext_instantiateMVars(x_1, x_34); -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; -} -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); -} else { - x_45 = x_26; -} -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; -} -} -else -{ -uint8_t x_48; -lean_dec(x_26); -x_48 = !lean_is_exclusive(x_36); -if (x_48 == 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); -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_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; -} -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) -{ -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); -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_ctor_set(x_77, 0, x_75); -lean_ctor_set_uint8(x_77, sizeof(void*)*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; -x_83 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_83, 0, x_81); -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; -} -} -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; -} else { - lean_dec_ref(x_29); - x_96 = lean_box(0); -} -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); -} else { - x_109 = x_96; -} -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); -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); -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; -} -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_119; -x_119 = !lean_is_exclusive(x_118); -if (x_119 == 0) -{ -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_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_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; -} -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; -} -} -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; -} else { - lean_dec_ref(x_29); - x_155 = lean_box(0); -} -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); -} else { - x_169 = x_155; -} -lean_ctor_set(x_169, 0, x_35); -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; -} -} -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); -if (x_171 == 0) -{ -x_15 = x_118; -goto block_23; -} -else -{ -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 -{ -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_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; -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_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; -} -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; -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_206, 1, x_205); -x_207 = lean_box(0); -if (lean_is_scalar(x_195)) { - x_208 = lean_alloc_ctor(1, 2, 0); -} else { - x_208 = x_195; -} -lean_ctor_set(x_208, 0, x_35); -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; -} -} -} -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_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; -} else { - lean_dec_ref(x_219); - x_222 = lean_box(0); -} -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; -} else { - lean_dec_ref(x_29); - x_224 = lean_box(0); -} -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); -} 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; -} -} -} -} -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); -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) -{ -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; -} -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; -} -} -} -else -{ -if (lean_obj_tag(x_29) == 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); -} else { - x_293 = x_254; -} -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; -} -else -{ -lean_object* x_296; -lean_inc(x_3); -x_296 = l_Lean_ppExpr(x_3, x_253, x_8); -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; -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); -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); -x_310 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_310, 0, x_305); -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_313 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_313, 0, x_32); -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; -} -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; -} -} -} -} -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; -} -} -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; -} -} -} -} -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); -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_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; -} -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); -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; -} -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_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; -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_ctor_set(x_375, 0, x_373); -lean_ctor_set_uint8(x_375, sizeof(void*)*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_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); -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; -} -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; -} -} -} -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_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; -} -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) -{ -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); -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_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); -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_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; -} -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; -} -} -} -} -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; -} -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); -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; -} -} -} -} -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) -{ -uint8_t x_442; -x_442 = l_Lean_Format_isNil(x_435); -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) -{ -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_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) -{ -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); -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_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; -} -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); -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); -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_490, 0, x_488); -lean_ctor_set_uint8(x_490, sizeof(void*)*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_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(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; -} -} -else -{ -uint8_t x_497; -lean_dec(x_451); -lean_dec(x_450); -lean_dec(x_440); -lean_dec(x_436); -lean_dec(x_433); -x_497 = !lean_is_exclusive(x_453); -if (x_497 == 0) -{ -x_15 = x_453; -goto block_23; -} -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; -} -} -} -} -else -{ -if (lean_obj_tag(x_434) == 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); -lean_inc(x_1); -x_517 = l_Lean_MetavarContext_instantiateMVars(x_1, x_438); -x_518 = lean_ctor_get(x_517, 0); -lean_inc(x_518); -lean_dec(x_517); -lean_inc(x_1); -x_519 = l_Lean_MetavarContext_instantiateMVars(x_1, x_439); -x_520 = lean_ctor_get(x_519, 0); -lean_inc(x_520); -lean_dec(x_519); -lean_inc(x_3); -x_573 = l_Lean_ppExpr(x_3, x_518, x_8); -if (x_516 == 0) -{ -if (lean_obj_tag(x_573) == 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; -} -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); -if (x_577 == 0) -{ -x_15 = x_573; -goto block_23; -} -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); -lean_inc(x_579); -lean_inc(x_578); -lean_dec(x_573); -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; -} -} -} -else -{ -if (lean_obj_tag(x_573) == 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); -lean_inc(x_582); -lean_dec(x_573); -x_521 = x_444; -x_522 = x_581; -x_523 = x_582; -goto block_572; -} -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_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_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_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_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_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); -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) -{ -if (lean_obj_tag(x_656) == 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_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); -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); -x_614 = l_System_FilePath_dirName___closed__1; -x_615 = l_Lean_Name_toStringWithSep___main(x_614, x_440); -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; -x_618 = lean_alloc_ctor(4, 2, 0); -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); -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); -x_623 = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(x_623, 0, x_597); -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); -x_626 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_626, 0, x_608); -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; -} -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; -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); -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; -} -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_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) -{ -x_15 = x_611; -goto block_23; -} -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; -} -} -} -} -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) -{ -x_15 = x_588; -goto block_23; -} -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; -} -} -} -} -} -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_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); -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) -{ -lean_object* x_679; lean_object* x_680; lean_object* x_681; -x_679 = lean_ctor_get(x_678, 0); -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_15 = x_678; -goto block_23; -} -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); -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; -} -} -} -else -{ -if (lean_obj_tag(x_434) == 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); -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_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_ctor_set(x_769, 0, x_768); -x_770 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__6; -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; -x_774 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_774, 0, x_772); -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; -} -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 { - x_786 = x_433; -} -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; -} -} -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; -} -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); -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 -{ -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_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); -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); -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; -} -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; -} -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; -} -} -} -else -{ -if (lean_obj_tag(x_866) == 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); -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; -} -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; -} -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); -} else { - x_858 = x_436; -} -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); -} else { - x_859 = x_433; -} -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; -} -} -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) -{ -x_15 = x_821; -goto block_23; -} -else -{ -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_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; -} -} -} -} -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_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; -} -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; -} -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; -} -} -} -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); -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; -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; -x_902 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_902, 0, x_900); -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 -{ -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; -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); -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; -x_928 = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(x_928, 0, x_927); -lean_ctor_set(x_928, 1, x_926); -x_929 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_929, 0, x_924); -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_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; -} -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 { - x_936 = x_433; -} -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; -} -} -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_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; -} -} -} -} -} -} -} -block_23: -{ -if (lean_obj_tag(x_15) == 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_16; lean_object* x_17; lean_object* x_18; +x_16 = lean_ctor_get(x_9, 0); +x_17 = lean_ctor_get(x_9, 1); lean_inc(x_17); -lean_dec(x_15); -x_6 = x_14; -x_7 = x_16; -x_8 = x_17; -goto _start; -} -else -{ -uint8_t x_19; -lean_dec(x_14); -lean_dec(x_3); -lean_dec(x_1); -x_19 = !lean_is_exclusive(x_15); -if (x_19 == 0) -{ -return x_15; -} -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_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_object* l_Std_PersistentArray_foldlM___at_Lean_ppGoal___spec__3(lean_object* x_1, uint8_t 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; -x_7 = lean_ctor_get(x_4, 0); -lean_inc(x_3); -lean_inc(x_1); -x_8 = l_Std_PersistentArray_foldlMAux___at_Lean_ppGoal___spec__4(x_1, x_2, x_3, x_7, x_5, x_6); -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_8, 0); -lean_inc(x_9); -x_10 = lean_ctor_get(x_8, 1); -lean_inc(x_10); -lean_dec(x_8); -x_11 = lean_ctor_get(x_4, 1); -x_12 = lean_unsigned_to_nat(0u); -x_13 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__7(x_1, x_2, x_3, x_4, x_11, x_12, x_9, x_10); -return x_13; -} -else -{ -uint8_t x_14; -lean_dec(x_3); -lean_dec(x_1); -x_14 = !lean_is_exclusive(x_8); -if (x_14 == 0) -{ -return x_8; -} -else -{ -lean_object* x_15; lean_object* x_16; lean_object* x_17; -x_15 = lean_ctor_get(x_8, 0); -x_16 = lean_ctor_get(x_8, 1); lean_inc(x_16); -lean_inc(x_15); -lean_dec(x_8); -x_17 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_17, 0, x_15); -lean_ctor_set(x_17, 1, x_16); -return x_17; +lean_dec(x_9); +x_18 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_18, 0, x_16); +lean_ctor_set(x_18, 1, x_17); +return x_18; } } } } -lean_object* l_Lean_LocalContext_foldlM___at_Lean_ppGoal___spec__2(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* l_Lean_LocalContext_foldlM___at_Lean_ppGoal___spec__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) { _start: { -lean_object* x_7; lean_object* x_8; -x_7 = lean_ctor_get(x_4, 1); -x_8 = l_Std_PersistentArray_foldlM___at_Lean_ppGoal___spec__3(x_1, x_2, x_3, x_7, x_5, x_6); -return x_8; +lean_object* x_8; lean_object* x_9; +x_8 = lean_ctor_get(x_5, 1); +x_9 = l_Std_PersistentArray_foldlM___at_Lean_ppGoal___spec__3(x_1, x_2, x_3, x_4, x_8, x_6, x_7); +return x_9; } } static lean_object* _init_l_Lean_ppGoal___closed__1() { @@ -8094,6 +13964,51 @@ return x_2; static lean_object* _init_l_Lean_ppGoal___closed__3() { _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; +} +} +static lean_object* _init_l_Lean_ppGoal___closed__4() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("⊢"); +return x_1; +} +} +static lean_object* _init_l_Lean_ppGoal___closed__5() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_ppGoal___closed__4; +x_2 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_ppGoal___closed__6() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("case "); +return x_1; +} +} +static lean_object* _init_l_Lean_ppGoal___closed__7() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_ppGoal___closed__6; +x_2 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_ppGoal___closed__8() { +_start: +{ lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); x_2 = lean_box(0); @@ -8103,54 +14018,18 @@ lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_ppGoal___closed__4() { +static lean_object* _init_l_Lean_ppGoal___closed__9() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Lean_ppGoal___closed__3; +x_2 = l_Lean_ppGoal___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_ppGoal___closed__5() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string("⊢"); -return x_1; -} -} -static lean_object* _init_l_Lean_ppGoal___closed__6() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_ppGoal___closed__5; -x_2 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_2, 0, x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_ppGoal___closed__7() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string("case "); -return x_1; -} -} -static lean_object* _init_l_Lean_ppGoal___closed__8() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_ppGoal___closed__7; -x_2 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_2, 0, x_1); -return x_2; -} -} lean_object* l_Lean_ppGoal(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { @@ -8185,397 +14064,394 @@ return x_13; } else { -lean_object* x_14; uint8_t 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_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; 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; x_14 = lean_ctor_get(x_11, 0); lean_inc(x_14); lean_dec(x_11); -x_15 = l_Lean_getAuxDeclsOption(x_7); -x_16 = lean_ctor_get(x_14, 1); -lean_inc(x_16); -x_17 = lean_box(0); -lean_inc(x_7); -x_18 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_18, 0, x_7); -lean_ctor_set(x_18, 1, x_17); -lean_ctor_set(x_18, 2, x_17); -x_19 = l_Lean_LocalContext_sanitizeNames(x_16, x_18); -x_20 = lean_ctor_get(x_19, 0); -lean_inc(x_20); -lean_dec(x_19); -lean_inc(x_20); -lean_inc(x_6); -lean_ctor_set(x_1, 2, x_20); -x_21 = l_Lean_ppGoal___closed__4; -lean_inc(x_1); -x_22 = l_Lean_LocalContext_foldlM___at_Lean_ppGoal___spec__2(x_6, x_15, x_1, x_20, x_21, x_3); -lean_dec(x_20); -if (lean_obj_tag(x_22) == 0) -{ -lean_object* x_23; lean_object* x_24; uint8_t x_25; -x_23 = lean_ctor_get(x_22, 0); -lean_inc(x_23); -x_24 = lean_ctor_get(x_23, 1); -lean_inc(x_24); -x_25 = !lean_is_exclusive(x_22); -if (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; -x_26 = lean_ctor_get(x_22, 1); -x_27 = lean_ctor_get(x_22, 0); -lean_dec(x_27); -x_28 = lean_ctor_get(x_23, 0); -lean_inc(x_28); -lean_dec(x_23); -x_29 = lean_ctor_get(x_24, 0); -lean_inc(x_29); -x_30 = lean_ctor_get(x_24, 1); -lean_inc(x_30); -lean_dec(x_24); -x_31 = l_List_isEmpty___rarg(x_28); -if (x_31 == 0) -{ -uint8_t x_32; -x_32 = l_Lean_Format_isNil(x_30); -if (x_32 == 0) -{ -lean_object* x_33; lean_object* x_34; -x_33 = lean_box(1); -x_34 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_34, 0, x_30); -lean_ctor_set(x_34, 1, x_33); -if (lean_obj_tag(x_28) == 0) -{ -uint8_t x_35; lean_object* x_36; lean_object* x_37; -lean_dec(x_29); -x_35 = l_Lean_Format_isNil(x_34); -x_36 = lean_ctor_get(x_14, 2); -lean_inc(x_36); -x_37 = l_Lean_ppExpr(x_1, x_36, x_26); -if (x_35 == 0) -{ -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; 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_38 = lean_ctor_get(x_37, 0); -lean_inc(x_38); -x_39 = lean_ctor_get(x_37, 1); +x_38 = l_Lean_getAuxDeclsOption(x_7); +x_39 = lean_ctor_get(x_14, 1); lean_inc(x_39); -if (lean_is_exclusive(x_37)) { - lean_ctor_release(x_37, 0); - lean_ctor_release(x_37, 1); - x_40 = x_37; -} else { - lean_dec_ref(x_37); - x_40 = lean_box(0); -} -x_41 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_41, 0, x_34); -lean_ctor_set(x_41, 1, x_33); -x_42 = l_Lean_ppGoal___closed__6; -x_43 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_43, 0, x_41); -lean_ctor_set(x_43, 1, x_42); -x_44 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1; -x_45 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_45, 0, x_43); -lean_ctor_set(x_45, 1, x_44); -x_46 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4; -x_47 = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(x_47, 0, x_46); -lean_ctor_set(x_47, 1, x_38); -x_48 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_48, 0, x_45); -lean_ctor_set(x_48, 1, x_47); -x_49 = lean_ctor_get(x_14, 0); -lean_inc(x_49); -lean_dec(x_14); -if (lean_obj_tag(x_49) == 0) +x_40 = lean_box(0); +lean_inc(x_7); +x_41 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_41, 0, x_7); +lean_ctor_set(x_41, 1, x_40); +lean_ctor_set(x_41, 2, x_40); +x_42 = l_Lean_LocalContext_sanitizeNames(x_39, x_41); +x_43 = lean_ctor_get(x_42, 0); +lean_inc(x_43); +lean_dec(x_42); +lean_inc(x_43); +lean_inc(x_6); +lean_ctor_set(x_1, 2, x_43); +x_44 = l_Lean_ppGoal___closed__3; +x_45 = l_Lean_ppGoal___closed__9; +lean_inc(x_1); +x_46 = l_Lean_LocalContext_foldlM___at_Lean_ppGoal___spec__2(x_6, x_44, x_38, x_1, x_43, x_45, x_3); +lean_dec(x_43); +if (lean_obj_tag(x_46) == 0) { -lean_dec(x_40); -lean_ctor_set(x_22, 1, x_39); -lean_ctor_set(x_22, 0, x_48); -return x_22; +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_47 = lean_ctor_get(x_46, 0); +lean_inc(x_47); +x_48 = lean_ctor_get(x_47, 1); +lean_inc(x_48); +x_49 = lean_ctor_get(x_46, 1); +lean_inc(x_49); +lean_dec(x_46); +x_50 = lean_ctor_get(x_47, 0); +lean_inc(x_50); +lean_dec(x_47); +x_51 = lean_ctor_get(x_48, 0); +lean_inc(x_51); +x_52 = lean_ctor_get(x_48, 1); +lean_inc(x_52); +lean_dec(x_48); +x_53 = l_List_isEmpty___rarg(x_50); +if (x_53 == 0) +{ +uint8_t x_54; +x_54 = l_Lean_Format_isNil(x_52); +if (x_54 == 0) +{ +lean_object* x_55; lean_object* x_56; +x_55 = lean_box(1); +x_56 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_56, 0, x_52); +lean_ctor_set(x_56, 1, x_55); +if (lean_obj_tag(x_50) == 0) +{ +uint8_t x_57; lean_object* x_58; lean_object* x_59; +lean_dec(x_51); +x_57 = l_Lean_Format_isNil(x_56); +x_58 = lean_ctor_get(x_14, 2); +lean_inc(x_58); +x_59 = l_Lean_ppExpr(x_1, x_58, x_49); +if (x_57 == 0) +{ +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_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_alloc_ctor(4, 2, 0); +lean_ctor_set(x_62, 0, x_56); +lean_ctor_set(x_62, 1, x_55); +x_15 = x_62; +x_16 = x_60; +x_17 = x_61; +goto block_37; } else { -lean_object* x_61; -lean_free_object(x_22); -x_61 = lean_box(0); -x_50 = x_61; -goto block_60; -} -block_60: +uint8_t x_63; +lean_dec(x_56); +lean_dec(x_14); +x_63 = !lean_is_exclusive(x_59); +if (x_63 == 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_dec(x_50); -x_51 = lean_erase_macro_scopes(x_49); -x_52 = l_System_FilePath_dirName___closed__1; -x_53 = l_Lean_Name_toStringWithSep___main(x_52, x_51); -x_54 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_54, 0, x_53); -x_55 = l_Lean_ppGoal___closed__8; -x_56 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_56, 0, x_55); -lean_ctor_set(x_56, 1, x_54); -x_57 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_57, 0, x_56); -lean_ctor_set(x_57, 1, x_33); -x_58 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_58, 0, x_57); -lean_ctor_set(x_58, 1, x_48); -if (lean_is_scalar(x_40)) { - x_59 = lean_alloc_ctor(0, 2, 0); -} else { - x_59 = x_40; -} -lean_ctor_set(x_59, 0, x_58); -lean_ctor_set(x_59, 1, x_39); return x_59; } -} else { -uint8_t x_62; -lean_dec(x_34); -lean_free_object(x_22); -lean_dec(x_14); -x_62 = !lean_is_exclusive(x_37); -if (x_62 == 0) -{ -return x_37; -} -else -{ -lean_object* x_63; lean_object* x_64; lean_object* x_65; -x_63 = lean_ctor_get(x_37, 0); -x_64 = lean_ctor_get(x_37, 1); +lean_object* x_64; lean_object* x_65; lean_object* x_66; +x_64 = lean_ctor_get(x_59, 0); +x_65 = lean_ctor_get(x_59, 1); +lean_inc(x_65); lean_inc(x_64); -lean_inc(x_63); -lean_dec(x_37); -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; +lean_dec(x_59); +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; } } } else { -if (lean_obj_tag(x_37) == 0) +if (lean_obj_tag(x_59) == 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; lean_object* x_76; lean_object* x_77; -x_66 = lean_ctor_get(x_37, 0); -lean_inc(x_66); -x_67 = lean_ctor_get(x_37, 1); +lean_object* x_67; lean_object* x_68; +x_67 = lean_ctor_get(x_59, 0); lean_inc(x_67); -if (lean_is_exclusive(x_37)) { - lean_ctor_release(x_37, 0); - lean_ctor_release(x_37, 1); - x_68 = x_37; -} else { - lean_dec_ref(x_37); - x_68 = lean_box(0); +x_68 = lean_ctor_get(x_59, 1); +lean_inc(x_68); +lean_dec(x_59); +x_15 = x_56; +x_16 = x_67; +x_17 = x_68; +goto block_37; } -x_69 = l_Lean_ppGoal___closed__6; -x_70 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_70, 0, x_34); -lean_ctor_set(x_70, 1, x_69); -x_71 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1; -x_72 = lean_alloc_ctor(4, 2, 0); +else +{ +uint8_t x_69; +lean_dec(x_56); +lean_dec(x_14); +x_69 = !lean_is_exclusive(x_59); +if (x_69 == 0) +{ +return x_59; +} +else +{ +lean_object* x_70; lean_object* x_71; lean_object* x_72; +x_70 = lean_ctor_get(x_59, 0); +x_71 = lean_ctor_get(x_59, 1); +lean_inc(x_71); +lean_inc(x_70); +lean_dec(x_59); +x_72 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_72, 0, x_70); lean_ctor_set(x_72, 1, x_71); -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_66); -x_75 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_75, 0, x_72); -lean_ctor_set(x_75, 1, x_74); -x_76 = lean_ctor_get(x_14, 0); +return x_72; +} +} +} +} +else +{ +if (lean_obj_tag(x_51) == 0) +{ +uint8_t x_73; lean_object* x_74; lean_object* x_75; +lean_dec(x_50); +x_73 = l_Lean_Format_isNil(x_56); +x_74 = lean_ctor_get(x_14, 2); +lean_inc(x_74); +x_75 = l_Lean_ppExpr(x_1, x_74, x_49); +if (x_73 == 0) +{ +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_75, 0); lean_inc(x_76); +x_77 = lean_ctor_get(x_75, 1); +lean_inc(x_77); +lean_dec(x_75); +x_78 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_78, 0, x_56); +lean_ctor_set(x_78, 1, x_55); +x_15 = x_78; +x_16 = x_76; +x_17 = x_77; +goto block_37; +} +else +{ +uint8_t x_79; +lean_dec(x_56); lean_dec(x_14); -if (lean_obj_tag(x_76) == 0) +x_79 = !lean_is_exclusive(x_75); +if (x_79 == 0) { -lean_dec(x_68); -lean_ctor_set(x_22, 1, x_67); -lean_ctor_set(x_22, 0, x_75); -return x_22; +return x_75; } else { -lean_object* x_88; -lean_free_object(x_22); -x_88 = lean_box(0); -x_77 = x_88; -goto block_87; +lean_object* x_80; lean_object* x_81; lean_object* x_82; +x_80 = lean_ctor_get(x_75, 0); +x_81 = lean_ctor_get(x_75, 1); +lean_inc(x_81); +lean_inc(x_80); +lean_dec(x_75); +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_87: -{ -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_dec(x_77); -x_78 = lean_erase_macro_scopes(x_76); -x_79 = l_System_FilePath_dirName___closed__1; -x_80 = l_Lean_Name_toStringWithSep___main(x_79, x_78); -x_81 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_81, 0, x_80); -x_82 = l_Lean_ppGoal___closed__8; -x_83 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_83, 0, x_82); -lean_ctor_set(x_83, 1, x_81); -x_84 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_84, 0, x_83); -lean_ctor_set(x_84, 1, x_33); -x_85 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_85, 0, x_84); -lean_ctor_set(x_85, 1, x_75); -if (lean_is_scalar(x_68)) { - x_86 = lean_alloc_ctor(0, 2, 0); -} else { - x_86 = x_68; -} -lean_ctor_set(x_86, 0, x_85); -lean_ctor_set(x_86, 1, x_67); -return x_86; } } else { -uint8_t x_89; -lean_dec(x_34); -lean_free_object(x_22); +if (lean_obj_tag(x_75) == 0) +{ +lean_object* x_83; lean_object* x_84; +x_83 = lean_ctor_get(x_75, 0); +lean_inc(x_83); +x_84 = lean_ctor_get(x_75, 1); +lean_inc(x_84); +lean_dec(x_75); +x_15 = x_56; +x_16 = x_83; +x_17 = x_84; +goto block_37; +} +else +{ +uint8_t x_85; +lean_dec(x_56); lean_dec(x_14); -x_89 = !lean_is_exclusive(x_37); -if (x_89 == 0) +x_85 = !lean_is_exclusive(x_75); +if (x_85 == 0) { -return x_37; +return x_75; } else { -lean_object* x_90; lean_object* x_91; lean_object* x_92; -x_90 = lean_ctor_get(x_37, 0); -x_91 = lean_ctor_get(x_37, 1); +lean_object* x_86; lean_object* x_87; lean_object* x_88; +x_86 = lean_ctor_get(x_75, 0); +x_87 = lean_ctor_get(x_75, 1); +lean_inc(x_87); +lean_inc(x_86); +lean_dec(x_75); +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 +{ +lean_object* x_89; lean_object* x_90; +x_89 = lean_ctor_get(x_51, 0); +lean_inc(x_89); +lean_dec(x_51); +lean_inc(x_1); +x_90 = l_Lean_ppExpr(x_1, x_89, x_49); +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_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; lean_object* x_102; lean_object* x_103; uint8_t x_104; lean_object* x_105; lean_object* x_106; +x_91 = lean_ctor_get(x_90, 0); lean_inc(x_91); -lean_inc(x_90); -lean_dec(x_37); -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 -{ -if (lean_obj_tag(x_29) == 0) -{ -uint8_t x_93; lean_object* x_94; lean_object* x_95; -lean_dec(x_28); -x_93 = l_Lean_Format_isNil(x_34); -x_94 = lean_ctor_get(x_14, 2); -lean_inc(x_94); -x_95 = l_Lean_ppExpr(x_1, x_94, x_26); -if (x_93 == 0) -{ -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_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; -x_96 = lean_ctor_get(x_95, 0); -lean_inc(x_96); -x_97 = lean_ctor_get(x_95, 1); -lean_inc(x_97); -if (lean_is_exclusive(x_95)) { - lean_ctor_release(x_95, 0); - lean_ctor_release(x_95, 1); - x_98 = x_95; -} else { - lean_dec_ref(x_95); - x_98 = lean_box(0); -} -x_99 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_99, 0, x_34); -lean_ctor_set(x_99, 1, x_33); -x_100 = l_Lean_ppGoal___closed__6; -x_101 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_101, 0, x_99); -lean_ctor_set(x_101, 1, x_100); -x_102 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1; +x_92 = lean_ctor_get(x_90, 1); +lean_inc(x_92); +lean_dec(x_90); +x_93 = l_List_reverse___rarg(x_50); +x_94 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1; +x_95 = l_Lean_Format_joinSep___main___at_Lean_ppGoal___spec__1(x_93, x_94); +x_96 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__3; +x_97 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_97, 0, x_95); +lean_ctor_set(x_97, 1, x_96); +x_98 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_98, 0, x_55); +lean_ctor_set(x_98, 1, x_91); +x_99 = lean_alloc_ctor(3, 2, 0); +lean_ctor_set(x_99, 0, x_44); +lean_ctor_set(x_99, 1, x_98); +x_100 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_100, 0, x_97); +lean_ctor_set(x_100, 1, x_99); +x_101 = 0; +x_102 = lean_alloc_ctor(5, 1, 1); +lean_ctor_set(x_102, 0, x_100); +lean_ctor_set_uint8(x_102, sizeof(void*)*1, x_101); x_103 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_103, 0, x_101); +lean_ctor_set(x_103, 0, x_56); lean_ctor_set(x_103, 1, x_102); -x_104 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4; -x_105 = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(x_105, 0, x_104); -lean_ctor_set(x_105, 1, x_96); -x_106 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_106, 0, x_103); -lean_ctor_set(x_106, 1, x_105); -x_107 = lean_ctor_get(x_14, 0); -lean_inc(x_107); -lean_dec(x_14); -if (lean_obj_tag(x_107) == 0) +x_104 = l_Lean_Format_isNil(x_103); +x_105 = lean_ctor_get(x_14, 2); +lean_inc(x_105); +x_106 = l_Lean_ppExpr(x_1, x_105, x_92); +if (x_104 == 0) { -lean_dec(x_98); -lean_ctor_set(x_22, 1, x_97); -lean_ctor_set(x_22, 0, x_106); -return x_22; +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_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_alloc_ctor(4, 2, 0); +lean_ctor_set(x_109, 0, x_103); +lean_ctor_set(x_109, 1, x_55); +x_15 = x_109; +x_16 = x_107; +x_17 = x_108; +goto block_37; } else { -lean_object* x_119; -lean_free_object(x_22); -x_119 = lean_box(0); -x_108 = x_119; -goto block_118; -} -block_118: +uint8_t x_110; +lean_dec(x_103); +lean_dec(x_14); +x_110 = !lean_is_exclusive(x_106); +if (x_110 == 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; lean_object* x_115; lean_object* x_116; lean_object* x_117; -lean_dec(x_108); -x_109 = lean_erase_macro_scopes(x_107); -x_110 = l_System_FilePath_dirName___closed__1; -x_111 = l_Lean_Name_toStringWithSep___main(x_110, x_109); -x_112 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_112, 0, x_111); -x_113 = l_Lean_ppGoal___closed__8; -x_114 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_114, 0, x_113); -lean_ctor_set(x_114, 1, x_112); -x_115 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_115, 0, x_114); -lean_ctor_set(x_115, 1, x_33); -x_116 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_116, 0, x_115); -lean_ctor_set(x_116, 1, x_106); -if (lean_is_scalar(x_98)) { - x_117 = lean_alloc_ctor(0, 2, 0); -} else { - x_117 = x_98; +return x_106; +} +else +{ +lean_object* x_111; lean_object* x_112; lean_object* x_113; +x_111 = lean_ctor_get(x_106, 0); +x_112 = lean_ctor_get(x_106, 1); +lean_inc(x_112); +lean_inc(x_111); +lean_dec(x_106); +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 +{ +if (lean_obj_tag(x_106) == 0) +{ +lean_object* x_114; lean_object* x_115; +x_114 = lean_ctor_get(x_106, 0); +lean_inc(x_114); +x_115 = lean_ctor_get(x_106, 1); +lean_inc(x_115); +lean_dec(x_106); +x_15 = x_103; +x_16 = x_114; +x_17 = x_115; +goto block_37; +} +else +{ +uint8_t x_116; +lean_dec(x_103); +lean_dec(x_14); +x_116 = !lean_is_exclusive(x_106); +if (x_116 == 0) +{ +return x_106; +} +else +{ +lean_object* x_117; lean_object* x_118; lean_object* x_119; +x_117 = lean_ctor_get(x_106, 0); +x_118 = lean_ctor_get(x_106, 1); +lean_inc(x_118); +lean_inc(x_117); +lean_dec(x_106); +x_119 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_119, 0, x_117); +lean_ctor_set(x_119, 1, x_118); +return x_119; +} } -lean_ctor_set(x_117, 0, x_116); -lean_ctor_set(x_117, 1, x_97); -return x_117; } } else { uint8_t x_120; -lean_dec(x_34); -lean_free_object(x_22); +lean_dec(x_56); +lean_dec(x_50); +lean_dec(x_1); lean_dec(x_14); -x_120 = !lean_is_exclusive(x_95); +x_120 = !lean_is_exclusive(x_90); if (x_120 == 0) { -return x_95; +return x_90; } else { lean_object* x_121; lean_object* x_122; lean_object* x_123; -x_121 = lean_ctor_get(x_95, 0); -x_122 = lean_ctor_get(x_95, 1); +x_121 = lean_ctor_get(x_90, 0); +x_122 = lean_ctor_get(x_90, 1); lean_inc(x_122); lean_inc(x_121); -lean_dec(x_95); +lean_dec(x_90); x_123 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_123, 0, x_121); lean_ctor_set(x_123, 1, x_122); @@ -8583,5002 +14459,1396 @@ return x_123; } } } +} +} else { -if (lean_obj_tag(x_95) == 0) +if (lean_obj_tag(x_50) == 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; -x_124 = lean_ctor_get(x_95, 0); +lean_object* x_124; lean_object* x_125; +lean_dec(x_51); +x_124 = lean_ctor_get(x_14, 2); lean_inc(x_124); -x_125 = lean_ctor_get(x_95, 1); -lean_inc(x_125); -if (lean_is_exclusive(x_95)) { - lean_ctor_release(x_95, 0); - lean_ctor_release(x_95, 1); - x_126 = x_95; -} else { - lean_dec_ref(x_95); - x_126 = lean_box(0); +x_125 = l_Lean_ppExpr(x_1, x_124, x_49); +if (lean_obj_tag(x_125) == 0) +{ +lean_object* x_126; lean_object* x_127; +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_15 = x_52; +x_16 = x_126; +x_17 = x_127; +goto block_37; } -x_127 = l_Lean_ppGoal___closed__6; -x_128 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_128, 0, x_34); -lean_ctor_set(x_128, 1, x_127); -x_129 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1; -x_130 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_130, 0, x_128); -lean_ctor_set(x_130, 1, x_129); -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_124); -x_133 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_133, 0, x_130); -lean_ctor_set(x_133, 1, x_132); -x_134 = lean_ctor_get(x_14, 0); +else +{ +uint8_t x_128; +lean_dec(x_52); +lean_dec(x_14); +x_128 = !lean_is_exclusive(x_125); +if (x_128 == 0) +{ +return x_125; +} +else +{ +lean_object* x_129; lean_object* x_130; lean_object* x_131; +x_129 = lean_ctor_get(x_125, 0); +x_130 = lean_ctor_get(x_125, 1); +lean_inc(x_130); +lean_inc(x_129); +lean_dec(x_125); +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; +} +} +} +else +{ +if (lean_obj_tag(x_51) == 0) +{ +lean_object* x_132; lean_object* x_133; +lean_dec(x_50); +x_132 = lean_ctor_get(x_14, 2); +lean_inc(x_132); +x_133 = l_Lean_ppExpr(x_1, x_132, x_49); +if (lean_obj_tag(x_133) == 0) +{ +lean_object* x_134; lean_object* x_135; +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); +x_15 = x_52; +x_16 = x_134; +x_17 = x_135; +goto block_37; +} +else +{ +uint8_t x_136; +lean_dec(x_52); lean_dec(x_14); -if (lean_obj_tag(x_134) == 0) +x_136 = !lean_is_exclusive(x_133); +if (x_136 == 0) { -lean_dec(x_126); -lean_ctor_set(x_22, 1, x_125); -lean_ctor_set(x_22, 0, x_133); -return x_22; +return x_133; } else { -lean_object* x_146; -lean_free_object(x_22); -x_146 = lean_box(0); -x_135 = x_146; -goto block_145; -} -block_145: -{ -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_dec(x_135); -x_136 = lean_erase_macro_scopes(x_134); -x_137 = l_System_FilePath_dirName___closed__1; -x_138 = l_Lean_Name_toStringWithSep___main(x_137, x_136); -x_139 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_139, 0, x_138); -x_140 = l_Lean_ppGoal___closed__8; -x_141 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_141, 0, x_140); -lean_ctor_set(x_141, 1, x_139); -x_142 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_142, 0, x_141); -lean_ctor_set(x_142, 1, x_33); -x_143 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_143, 0, x_142); -lean_ctor_set(x_143, 1, x_133); -if (lean_is_scalar(x_126)) { - x_144 = lean_alloc_ctor(0, 2, 0); -} else { - x_144 = x_126; -} -lean_ctor_set(x_144, 0, x_143); -lean_ctor_set(x_144, 1, x_125); -return x_144; -} -} -else -{ -uint8_t x_147; -lean_dec(x_34); -lean_free_object(x_22); -lean_dec(x_14); -x_147 = !lean_is_exclusive(x_95); -if (x_147 == 0) -{ -return x_95; -} -else -{ -lean_object* x_148; lean_object* x_149; lean_object* x_150; -x_148 = lean_ctor_get(x_95, 0); -x_149 = lean_ctor_get(x_95, 1); -lean_inc(x_149); -lean_inc(x_148); -lean_dec(x_95); -x_150 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_150, 0, x_148); -lean_ctor_set(x_150, 1, x_149); -return x_150; -} +lean_object* x_137; lean_object* x_138; lean_object* x_139; +x_137 = lean_ctor_get(x_133, 0); +x_138 = lean_ctor_get(x_133, 1); +lean_inc(x_138); +lean_inc(x_137); +lean_dec(x_133); +x_139 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_139, 0, x_137); +lean_ctor_set(x_139, 1, x_138); +return x_139; } } } else { -lean_object* x_151; lean_object* x_152; -lean_free_object(x_22); -x_151 = lean_ctor_get(x_29, 0); -lean_inc(x_151); -lean_dec(x_29); +lean_object* x_140; lean_object* x_141; +x_140 = lean_ctor_get(x_51, 0); +lean_inc(x_140); +lean_dec(x_51); lean_inc(x_1); -x_152 = l_Lean_ppExpr(x_1, x_151, x_26); -if (lean_obj_tag(x_152) == 0) +x_141 = l_Lean_ppExpr(x_1, x_140, x_49); +if (lean_obj_tag(x_141) == 0) { -uint8_t x_153; -x_153 = !lean_is_exclusive(x_152); -if (x_153 == 0) +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; uint8_t x_153; lean_object* x_154; lean_object* x_155; uint8_t x_156; lean_object* x_157; lean_object* x_158; +x_142 = lean_ctor_get(x_141, 0); +lean_inc(x_142); +x_143 = lean_ctor_get(x_141, 1); +lean_inc(x_143); +lean_dec(x_141); +x_144 = l_List_reverse___rarg(x_50); +x_145 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1; +x_146 = l_Lean_Format_joinSep___main___at_Lean_ppGoal___spec__1(x_144, x_145); +x_147 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__3; +x_148 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_148, 0, x_146); +lean_ctor_set(x_148, 1, x_147); +x_149 = lean_box(1); +x_150 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_150, 0, x_149); +lean_ctor_set(x_150, 1, x_142); +x_151 = lean_alloc_ctor(3, 2, 0); +lean_ctor_set(x_151, 0, x_44); +lean_ctor_set(x_151, 1, x_150); +x_152 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_152, 0, x_148); +lean_ctor_set(x_152, 1, x_151); +x_153 = 0; +x_154 = lean_alloc_ctor(5, 1, 1); +lean_ctor_set(x_154, 0, x_152); +lean_ctor_set_uint8(x_154, sizeof(void*)*1, x_153); +x_155 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_155, 0, x_52); +lean_ctor_set(x_155, 1, x_154); +x_156 = l_Lean_Format_isNil(x_155); +x_157 = lean_ctor_get(x_14, 2); +lean_inc(x_157); +x_158 = l_Lean_ppExpr(x_1, x_157, x_143); +if (x_156 == 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; uint8_t x_165; lean_object* x_166; lean_object* x_167; uint8_t x_168; lean_object* x_169; lean_object* x_170; -x_154 = lean_ctor_get(x_152, 0); -x_155 = lean_ctor_get(x_152, 1); -x_156 = l_List_reverse___rarg(x_28); -x_157 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1; -x_158 = l_Lean_Format_joinSep___main___at_Lean_ppGoal___spec__1(x_156, x_157); -x_159 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__3; -x_160 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_160, 0, x_158); -lean_ctor_set(x_160, 1, x_159); +if (lean_obj_tag(x_158) == 0) +{ +lean_object* x_159; lean_object* x_160; lean_object* x_161; +x_159 = lean_ctor_get(x_158, 0); +lean_inc(x_159); +x_160 = lean_ctor_get(x_158, 1); +lean_inc(x_160); +lean_dec(x_158); x_161 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_161, 0, x_33); -lean_ctor_set(x_161, 1, x_154); -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_160); -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_34); -lean_ctor_set(x_167, 1, x_166); -x_168 = l_Lean_Format_isNil(x_167); -x_169 = lean_ctor_get(x_14, 2); -lean_inc(x_169); -x_170 = l_Lean_ppExpr(x_1, x_169, x_155); +lean_ctor_set(x_161, 0, x_155); +lean_ctor_set(x_161, 1, x_149); +x_15 = x_161; +x_16 = x_159; +x_17 = x_160; +goto block_37; +} +else +{ +uint8_t x_162; +lean_dec(x_155); +lean_dec(x_14); +x_162 = !lean_is_exclusive(x_158); +if (x_162 == 0) +{ +return x_158; +} +else +{ +lean_object* x_163; lean_object* x_164; lean_object* x_165; +x_163 = lean_ctor_get(x_158, 0); +x_164 = lean_ctor_get(x_158, 1); +lean_inc(x_164); +lean_inc(x_163); +lean_dec(x_158); +x_165 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_165, 0, x_163); +lean_ctor_set(x_165, 1, x_164); +return x_165; +} +} +} +else +{ +if (lean_obj_tag(x_158) == 0) +{ +lean_object* x_166; lean_object* x_167; +x_166 = lean_ctor_get(x_158, 0); +lean_inc(x_166); +x_167 = lean_ctor_get(x_158, 1); +lean_inc(x_167); +lean_dec(x_158); +x_15 = x_155; +x_16 = x_166; +x_17 = x_167; +goto block_37; +} +else +{ +uint8_t x_168; +lean_dec(x_155); +lean_dec(x_14); +x_168 = !lean_is_exclusive(x_158); if (x_168 == 0) { -if (lean_obj_tag(x_170) == 0) -{ -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; -x_171 = lean_ctor_get(x_170, 0); -lean_inc(x_171); -x_172 = lean_ctor_get(x_170, 1); -lean_inc(x_172); -if (lean_is_exclusive(x_170)) { - lean_ctor_release(x_170, 0); - lean_ctor_release(x_170, 1); - x_173 = x_170; -} else { - lean_dec_ref(x_170); - x_173 = lean_box(0); -} -x_174 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_174, 0, x_167); -lean_ctor_set(x_174, 1, x_33); -x_175 = l_Lean_ppGoal___closed__6; -x_176 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_176, 0, x_174); -lean_ctor_set(x_176, 1, x_175); -x_177 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_177, 0, x_176); -lean_ctor_set(x_177, 1, x_157); -x_178 = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(x_178, 0, x_162); -lean_ctor_set(x_178, 1, x_171); -x_179 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_179, 0, x_177); -lean_ctor_set(x_179, 1, x_178); -x_180 = lean_ctor_get(x_14, 0); -lean_inc(x_180); -lean_dec(x_14); -if (lean_obj_tag(x_180) == 0) -{ -lean_dec(x_173); -lean_ctor_set(x_152, 1, x_172); -lean_ctor_set(x_152, 0, x_179); -return x_152; +return x_158; } else { -lean_object* x_192; -lean_free_object(x_152); -x_192 = lean_box(0); -x_181 = x_192; -goto block_191; +lean_object* x_169; lean_object* x_170; lean_object* x_171; +x_169 = lean_ctor_get(x_158, 0); +x_170 = lean_ctor_get(x_158, 1); +lean_inc(x_170); +lean_inc(x_169); +lean_dec(x_158); +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; } -block_191: +} +} +} +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_dec(x_181); -x_182 = lean_erase_macro_scopes(x_180); -x_183 = l_System_FilePath_dirName___closed__1; -x_184 = l_Lean_Name_toStringWithSep___main(x_183, x_182); -x_185 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_185, 0, x_184); -x_186 = l_Lean_ppGoal___closed__8; -x_187 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_187, 0, x_186); -lean_ctor_set(x_187, 1, x_185); -x_188 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_188, 0, x_187); -lean_ctor_set(x_188, 1, x_33); -x_189 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_189, 0, x_188); -lean_ctor_set(x_189, 1, x_179); -if (lean_is_scalar(x_173)) { - x_190 = lean_alloc_ctor(0, 2, 0); -} else { - x_190 = x_173; +uint8_t x_172; +lean_dec(x_52); +lean_dec(x_50); +lean_dec(x_1); +lean_dec(x_14); +x_172 = !lean_is_exclusive(x_141); +if (x_172 == 0) +{ +return x_141; +} +else +{ +lean_object* x_173; lean_object* x_174; lean_object* x_175; +x_173 = lean_ctor_get(x_141, 0); +x_174 = lean_ctor_get(x_141, 1); +lean_inc(x_174); +lean_inc(x_173); +lean_dec(x_141); +x_175 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_175, 0, x_173); +lean_ctor_set(x_175, 1, x_174); +return x_175; +} +} +} +} +} +} +else +{ +uint8_t x_176; lean_object* x_177; lean_object* x_178; +lean_dec(x_51); +lean_dec(x_50); +x_176 = l_Lean_Format_isNil(x_52); +x_177 = lean_ctor_get(x_14, 2); +lean_inc(x_177); +x_178 = l_Lean_ppExpr(x_1, x_177, x_49); +if (x_176 == 0) +{ +if (lean_obj_tag(x_178) == 0) +{ +lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; +x_179 = lean_ctor_get(x_178, 0); +lean_inc(x_179); +x_180 = lean_ctor_get(x_178, 1); +lean_inc(x_180); +lean_dec(x_178); +x_181 = lean_box(1); +x_182 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_182, 0, x_52); +lean_ctor_set(x_182, 1, x_181); +x_15 = x_182; +x_16 = x_179; +x_17 = x_180; +goto block_37; +} +else +{ +uint8_t x_183; +lean_dec(x_52); +lean_dec(x_14); +x_183 = !lean_is_exclusive(x_178); +if (x_183 == 0) +{ +return x_178; +} +else +{ +lean_object* x_184; lean_object* x_185; lean_object* x_186; +x_184 = lean_ctor_get(x_178, 0); +x_185 = lean_ctor_get(x_178, 1); +lean_inc(x_185); +lean_inc(x_184); +lean_dec(x_178); +x_186 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_186, 0, x_184); +lean_ctor_set(x_186, 1, x_185); +return x_186; +} +} +} +else +{ +if (lean_obj_tag(x_178) == 0) +{ +lean_object* x_187; lean_object* x_188; +x_187 = lean_ctor_get(x_178, 0); +lean_inc(x_187); +x_188 = lean_ctor_get(x_178, 1); +lean_inc(x_188); +lean_dec(x_178); +x_15 = x_52; +x_16 = x_187; +x_17 = x_188; +goto block_37; +} +else +{ +uint8_t x_189; +lean_dec(x_52); +lean_dec(x_14); +x_189 = !lean_is_exclusive(x_178); +if (x_189 == 0) +{ +return x_178; +} +else +{ +lean_object* x_190; lean_object* x_191; lean_object* x_192; +x_190 = lean_ctor_get(x_178, 0); +x_191 = lean_ctor_get(x_178, 1); +lean_inc(x_191); +lean_inc(x_190); +lean_dec(x_178); +x_192 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_192, 0, x_190); +lean_ctor_set(x_192, 1, x_191); +return x_192; +} +} } -lean_ctor_set(x_190, 0, x_189); -lean_ctor_set(x_190, 1, x_172); -return x_190; } } else { uint8_t x_193; -lean_dec(x_167); -lean_free_object(x_152); +lean_dec(x_1); lean_dec(x_14); -x_193 = !lean_is_exclusive(x_170); +x_193 = !lean_is_exclusive(x_46); if (x_193 == 0) { -return x_170; +return x_46; } else { lean_object* x_194; lean_object* x_195; lean_object* x_196; -x_194 = lean_ctor_get(x_170, 0); -x_195 = lean_ctor_get(x_170, 1); +x_194 = lean_ctor_get(x_46, 0); +x_195 = lean_ctor_get(x_46, 1); lean_inc(x_195); lean_inc(x_194); -lean_dec(x_170); +lean_dec(x_46); 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; } } +block_37: +{ +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 = l_Lean_ppGoal___closed__5; +x_19 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_19, 0, x_15); +lean_ctor_set(x_19, 1, x_18); +x_20 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1; +x_21 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_21, 0, x_19); +lean_ctor_set(x_21, 1, x_20); +x_22 = l_Lean_ppGoal___closed__3; +x_23 = lean_alloc_ctor(3, 2, 0); +lean_ctor_set(x_23, 0, x_22); +lean_ctor_set(x_23, 1, x_16); +x_24 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_24, 0, x_21); +lean_ctor_set(x_24, 1, x_23); +x_25 = lean_ctor_get(x_14, 0); +lean_inc(x_25); +lean_dec(x_14); +if (lean_obj_tag(x_25) == 0) +{ +lean_object* x_26; +x_26 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_26, 0, x_24); +lean_ctor_set(x_26, 1, x_17); +return x_26; } else { -if (lean_obj_tag(x_170) == 0) +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; +x_27 = lean_erase_macro_scopes(x_25); +x_28 = l_System_FilePath_dirName___closed__1; +x_29 = l_Lean_Name_toStringWithSep___main(x_28, x_27); +x_30 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_30, 0, x_29); +x_31 = l_Lean_ppGoal___closed__7; +x_32 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_32, 0, x_31); +lean_ctor_set(x_32, 1, x_30); +x_33 = lean_box(1); +x_34 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_34, 0, x_32); +lean_ctor_set(x_34, 1, x_33); +x_35 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_35, 0, x_34); +lean_ctor_set(x_35, 1, x_24); +x_36 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_36, 0, x_35); +lean_ctor_set(x_36, 1, x_17); +return x_36; +} +} +} +} +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; -x_197 = lean_ctor_get(x_170, 0); -lean_inc(x_197); -x_198 = lean_ctor_get(x_170, 1); +lean_object* x_197; lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; +x_197 = lean_ctor_get(x_1, 0); +x_198 = lean_ctor_get(x_1, 1); +x_199 = lean_ctor_get(x_1, 3); +x_200 = lean_ctor_get(x_1, 4); +x_201 = lean_ctor_get(x_1, 5); +lean_inc(x_201); +lean_inc(x_200); +lean_inc(x_199); lean_inc(x_198); -if (lean_is_exclusive(x_170)) { - lean_ctor_release(x_170, 0); - lean_ctor_release(x_170, 1); - x_199 = x_170; -} else { - lean_dec_ref(x_170); - x_199 = lean_box(0); -} -x_200 = l_Lean_ppGoal___closed__6; -x_201 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_201, 0, x_167); -lean_ctor_set(x_201, 1, x_200); -x_202 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_202, 0, x_201); -lean_ctor_set(x_202, 1, x_157); -x_203 = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(x_203, 0, x_162); -lean_ctor_set(x_203, 1, x_197); -x_204 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_204, 0, x_202); -lean_ctor_set(x_204, 1, x_203); -x_205 = lean_ctor_get(x_14, 0); -lean_inc(x_205); -lean_dec(x_14); -if (lean_obj_tag(x_205) == 0) +lean_inc(x_197); +lean_dec(x_1); +lean_inc(x_198); +x_202 = lean_metavar_ctx_find_decl(x_198, x_2); +if (lean_obj_tag(x_202) == 0) { +lean_object* x_203; lean_object* x_204; +lean_dec(x_201); +lean_dec(x_200); lean_dec(x_199); -lean_ctor_set(x_152, 1, x_198); -lean_ctor_set(x_152, 0, x_204); -return x_152; +lean_dec(x_198); +lean_dec(x_197); +x_203 = l_Lean_ppGoal___closed__2; +x_204 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_204, 0, x_203); +lean_ctor_set(x_204, 1, x_3); +return x_204; } else { -lean_object* x_217; -lean_free_object(x_152); -x_217 = lean_box(0); -x_206 = x_217; -goto block_216; -} -block_216: -{ -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_dec(x_206); -x_207 = lean_erase_macro_scopes(x_205); -x_208 = l_System_FilePath_dirName___closed__1; -x_209 = l_Lean_Name_toStringWithSep___main(x_208, x_207); -x_210 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_210, 0, x_209); -x_211 = l_Lean_ppGoal___closed__8; -x_212 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_212, 0, x_211); -lean_ctor_set(x_212, 1, x_210); -x_213 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_213, 0, x_212); -lean_ctor_set(x_213, 1, x_33); -x_214 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_214, 0, x_213); -lean_ctor_set(x_214, 1, x_204); -if (lean_is_scalar(x_199)) { - x_215 = lean_alloc_ctor(0, 2, 0); -} else { - x_215 = x_199; -} -lean_ctor_set(x_215, 0, x_214); -lean_ctor_set(x_215, 1, x_198); -return x_215; -} -} -else -{ -uint8_t x_218; -lean_dec(x_167); -lean_free_object(x_152); -lean_dec(x_14); -x_218 = !lean_is_exclusive(x_170); -if (x_218 == 0) -{ -return x_170; -} -else -{ -lean_object* x_219; lean_object* x_220; lean_object* x_221; -x_219 = lean_ctor_get(x_170, 0); -x_220 = lean_ctor_get(x_170, 1); -lean_inc(x_220); -lean_inc(x_219); -lean_dec(x_170); -x_221 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_221, 0, x_219); -lean_ctor_set(x_221, 1, x_220); -return x_221; -} -} -} -} -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; uint8_t x_233; lean_object* x_234; lean_object* x_235; uint8_t x_236; lean_object* x_237; lean_object* x_238; -x_222 = lean_ctor_get(x_152, 0); -x_223 = lean_ctor_get(x_152, 1); -lean_inc(x_223); -lean_inc(x_222); -lean_dec(x_152); -x_224 = l_List_reverse___rarg(x_28); -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_224, 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_alloc_ctor(4, 2, 0); -lean_ctor_set(x_229, 0, x_33); -lean_ctor_set(x_229, 1, x_222); -x_230 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4; -x_231 = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(x_231, 0, x_230); -lean_ctor_set(x_231, 1, x_229); -x_232 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_232, 0, x_228); +lean_object* x_205; lean_object* x_206; lean_object* x_207; lean_object* x_208; uint8_t 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; +x_205 = lean_ctor_get(x_202, 0); +lean_inc(x_205); +lean_dec(x_202); +x_229 = l_Lean_getAuxDeclsOption(x_199); +x_230 = lean_ctor_get(x_205, 1); +lean_inc(x_230); +x_231 = lean_box(0); +lean_inc(x_199); +x_232 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_232, 0, x_199); lean_ctor_set(x_232, 1, x_231); -x_233 = 0; -x_234 = lean_alloc_ctor(5, 1, 1); -lean_ctor_set(x_234, 0, x_232); -lean_ctor_set_uint8(x_234, sizeof(void*)*1, x_233); -x_235 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_235, 0, x_34); -lean_ctor_set(x_235, 1, x_234); -x_236 = l_Lean_Format_isNil(x_235); -x_237 = lean_ctor_get(x_14, 2); -lean_inc(x_237); -x_238 = l_Lean_ppExpr(x_1, x_237, x_223); -if (x_236 == 0) -{ +lean_ctor_set(x_232, 2, x_231); +x_233 = l_Lean_LocalContext_sanitizeNames(x_230, x_232); +x_234 = lean_ctor_get(x_233, 0); +lean_inc(x_234); +lean_dec(x_233); +lean_inc(x_234); +lean_inc(x_198); +x_235 = lean_alloc_ctor(0, 6, 0); +lean_ctor_set(x_235, 0, x_197); +lean_ctor_set(x_235, 1, x_198); +lean_ctor_set(x_235, 2, x_234); +lean_ctor_set(x_235, 3, x_199); +lean_ctor_set(x_235, 4, x_200); +lean_ctor_set(x_235, 5, x_201); +x_236 = l_Lean_ppGoal___closed__3; +x_237 = l_Lean_ppGoal___closed__9; +lean_inc(x_235); +x_238 = l_Lean_LocalContext_foldlM___at_Lean_ppGoal___spec__2(x_198, x_236, x_229, x_235, x_234, x_237, x_3); +lean_dec(x_234); if (lean_obj_tag(x_238) == 0) { -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_239; lean_object* x_240; lean_object* x_241; lean_object* x_242; lean_object* x_243; lean_object* x_244; uint8_t x_245; x_239 = lean_ctor_get(x_238, 0); lean_inc(x_239); -x_240 = lean_ctor_get(x_238, 1); +x_240 = lean_ctor_get(x_239, 1); lean_inc(x_240); -if (lean_is_exclusive(x_238)) { - lean_ctor_release(x_238, 0); - lean_ctor_release(x_238, 1); - x_241 = x_238; -} else { - lean_dec_ref(x_238); - x_241 = lean_box(0); -} -x_242 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_242, 0, x_235); -lean_ctor_set(x_242, 1, x_33); -x_243 = l_Lean_ppGoal___closed__6; -x_244 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_244, 0, x_242); -lean_ctor_set(x_244, 1, x_243); -x_245 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_245, 0, x_244); -lean_ctor_set(x_245, 1, x_225); -x_246 = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(x_246, 0, x_230); -lean_ctor_set(x_246, 1, x_239); -x_247 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_247, 0, x_245); -lean_ctor_set(x_247, 1, x_246); -x_248 = lean_ctor_get(x_14, 0); -lean_inc(x_248); -lean_dec(x_14); -if (lean_obj_tag(x_248) == 0) +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); +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); +lean_dec(x_240); +x_245 = l_List_isEmpty___rarg(x_242); +if (x_245 == 0) { -lean_object* x_260; -lean_dec(x_241); -x_260 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_260, 0, x_247); -lean_ctor_set(x_260, 1, x_240); -return x_260; +uint8_t x_246; +x_246 = l_Lean_Format_isNil(x_244); +if (x_246 == 0) +{ +lean_object* x_247; lean_object* x_248; +x_247 = lean_box(1); +x_248 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_248, 0, x_244); +lean_ctor_set(x_248, 1, x_247); +if (lean_obj_tag(x_242) == 0) +{ +uint8_t x_249; lean_object* x_250; lean_object* x_251; +lean_dec(x_243); +x_249 = l_Lean_Format_isNil(x_248); +x_250 = lean_ctor_get(x_205, 2); +lean_inc(x_250); +x_251 = l_Lean_ppExpr(x_235, x_250, x_241); +if (x_249 == 0) +{ +if (lean_obj_tag(x_251) == 0) +{ +lean_object* x_252; lean_object* x_253; lean_object* x_254; +x_252 = lean_ctor_get(x_251, 0); +lean_inc(x_252); +x_253 = lean_ctor_get(x_251, 1); +lean_inc(x_253); +lean_dec(x_251); +x_254 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_254, 0, x_248); +lean_ctor_set(x_254, 1, x_247); +x_206 = x_254; +x_207 = x_252; +x_208 = x_253; +goto block_228; } else { -lean_object* x_261; -x_261 = lean_box(0); -x_249 = x_261; -goto block_259; -} -block_259: -{ -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_dec(x_249); -x_250 = lean_erase_macro_scopes(x_248); -x_251 = l_System_FilePath_dirName___closed__1; -x_252 = l_Lean_Name_toStringWithSep___main(x_251, x_250); -x_253 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_253, 0, x_252); -x_254 = l_Lean_ppGoal___closed__8; -x_255 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_255, 0, x_254); -lean_ctor_set(x_255, 1, x_253); -x_256 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_256, 0, x_255); -lean_ctor_set(x_256, 1, x_33); -x_257 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_257, 0, x_256); -lean_ctor_set(x_257, 1, x_247); -if (lean_is_scalar(x_241)) { - x_258 = lean_alloc_ctor(0, 2, 0); +lean_object* x_255; lean_object* x_256; lean_object* x_257; lean_object* x_258; +lean_dec(x_248); +lean_dec(x_205); +x_255 = lean_ctor_get(x_251, 0); +lean_inc(x_255); +x_256 = lean_ctor_get(x_251, 1); +lean_inc(x_256); +if (lean_is_exclusive(x_251)) { + lean_ctor_release(x_251, 0); + lean_ctor_release(x_251, 1); + x_257 = x_251; } else { - x_258 = x_241; + lean_dec_ref(x_251); + x_257 = lean_box(0); } -lean_ctor_set(x_258, 0, x_257); -lean_ctor_set(x_258, 1, x_240); +if (lean_is_scalar(x_257)) { + x_258 = lean_alloc_ctor(1, 2, 0); +} else { + x_258 = x_257; +} +lean_ctor_set(x_258, 0, x_255); +lean_ctor_set(x_258, 1, x_256); return x_258; } } else { -lean_object* x_262; lean_object* x_263; lean_object* x_264; lean_object* x_265; -lean_dec(x_235); -lean_dec(x_14); -x_262 = lean_ctor_get(x_238, 0); +if (lean_obj_tag(x_251) == 0) +{ +lean_object* x_259; lean_object* x_260; +x_259 = lean_ctor_get(x_251, 0); +lean_inc(x_259); +x_260 = lean_ctor_get(x_251, 1); +lean_inc(x_260); +lean_dec(x_251); +x_206 = x_248; +x_207 = x_259; +x_208 = x_260; +goto block_228; +} +else +{ +lean_object* x_261; lean_object* x_262; lean_object* x_263; lean_object* x_264; +lean_dec(x_248); +lean_dec(x_205); +x_261 = lean_ctor_get(x_251, 0); +lean_inc(x_261); +x_262 = lean_ctor_get(x_251, 1); lean_inc(x_262); -x_263 = lean_ctor_get(x_238, 1); -lean_inc(x_263); -if (lean_is_exclusive(x_238)) { - lean_ctor_release(x_238, 0); - lean_ctor_release(x_238, 1); - x_264 = x_238; +if (lean_is_exclusive(x_251)) { + lean_ctor_release(x_251, 0); + lean_ctor_release(x_251, 1); + x_263 = x_251; } else { - lean_dec_ref(x_238); - x_264 = lean_box(0); + lean_dec_ref(x_251); + x_263 = lean_box(0); } -if (lean_is_scalar(x_264)) { - x_265 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_263)) { + x_264 = lean_alloc_ctor(1, 2, 0); } else { - x_265 = x_264; + x_264 = x_263; +} +lean_ctor_set(x_264, 0, x_261); +lean_ctor_set(x_264, 1, x_262); +return x_264; } -lean_ctor_set(x_265, 0, x_262); -lean_ctor_set(x_265, 1, x_263); -return x_265; } } else { -if (lean_obj_tag(x_238) == 0) +if (lean_obj_tag(x_243) == 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; -x_266 = lean_ctor_get(x_238, 0); +uint8_t x_265; lean_object* x_266; lean_object* x_267; +lean_dec(x_242); +x_265 = l_Lean_Format_isNil(x_248); +x_266 = lean_ctor_get(x_205, 2); lean_inc(x_266); -x_267 = lean_ctor_get(x_238, 1); -lean_inc(x_267); -if (lean_is_exclusive(x_238)) { - lean_ctor_release(x_238, 0); - lean_ctor_release(x_238, 1); - x_268 = x_238; -} else { - lean_dec_ref(x_238); - x_268 = lean_box(0); -} -x_269 = l_Lean_ppGoal___closed__6; +x_267 = l_Lean_ppExpr(x_235, x_266, x_241); +if (x_265 == 0) +{ +if (lean_obj_tag(x_267) == 0) +{ +lean_object* x_268; lean_object* x_269; lean_object* x_270; +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_alloc_ctor(4, 2, 0); -lean_ctor_set(x_270, 0, x_235); -lean_ctor_set(x_270, 1, x_269); -x_271 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_271, 0, x_270); -lean_ctor_set(x_271, 1, x_225); -x_272 = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(x_272, 0, x_230); -lean_ctor_set(x_272, 1, x_266); -x_273 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_273, 0, x_271); -lean_ctor_set(x_273, 1, x_272); -x_274 = lean_ctor_get(x_14, 0); -lean_inc(x_274); -lean_dec(x_14); -if (lean_obj_tag(x_274) == 0) -{ -lean_object* x_286; -lean_dec(x_268); -x_286 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_286, 0, x_273); -lean_ctor_set(x_286, 1, x_267); -return x_286; +lean_ctor_set(x_270, 0, x_248); +lean_ctor_set(x_270, 1, x_247); +x_206 = x_270; +x_207 = x_268; +x_208 = x_269; +goto block_228; } else { -lean_object* x_287; -x_287 = lean_box(0); -x_275 = x_287; -goto block_285; -} -block_285: -{ -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_dec(x_275); -x_276 = lean_erase_macro_scopes(x_274); -x_277 = l_System_FilePath_dirName___closed__1; -x_278 = l_Lean_Name_toStringWithSep___main(x_277, x_276); -x_279 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_279, 0, x_278); -x_280 = l_Lean_ppGoal___closed__8; -x_281 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_281, 0, x_280); -lean_ctor_set(x_281, 1, x_279); -x_282 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_282, 0, x_281); -lean_ctor_set(x_282, 1, x_33); -x_283 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_283, 0, x_282); -lean_ctor_set(x_283, 1, x_273); -if (lean_is_scalar(x_268)) { - x_284 = lean_alloc_ctor(0, 2, 0); +lean_object* x_271; lean_object* x_272; lean_object* x_273; lean_object* x_274; +lean_dec(x_248); +lean_dec(x_205); +x_271 = lean_ctor_get(x_267, 0); +lean_inc(x_271); +x_272 = lean_ctor_get(x_267, 1); +lean_inc(x_272); +if (lean_is_exclusive(x_267)) { + lean_ctor_release(x_267, 0); + lean_ctor_release(x_267, 1); + x_273 = x_267; } else { - x_284 = x_268; + lean_dec_ref(x_267); + x_273 = lean_box(0); } -lean_ctor_set(x_284, 0, x_283); -lean_ctor_set(x_284, 1, x_267); -return x_284; -} -} -else -{ -lean_object* x_288; lean_object* x_289; lean_object* x_290; lean_object* x_291; -lean_dec(x_235); -lean_dec(x_14); -x_288 = lean_ctor_get(x_238, 0); -lean_inc(x_288); -x_289 = lean_ctor_get(x_238, 1); -lean_inc(x_289); -if (lean_is_exclusive(x_238)) { - lean_ctor_release(x_238, 0); - lean_ctor_release(x_238, 1); - x_290 = x_238; +if (lean_is_scalar(x_273)) { + x_274 = lean_alloc_ctor(1, 2, 0); } else { - lean_dec_ref(x_238); - x_290 = lean_box(0); + x_274 = x_273; } -if (lean_is_scalar(x_290)) { - x_291 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_274, 0, x_271); +lean_ctor_set(x_274, 1, x_272); +return x_274; +} +} +else +{ +if (lean_obj_tag(x_267) == 0) +{ +lean_object* x_275; lean_object* x_276; +x_275 = lean_ctor_get(x_267, 0); +lean_inc(x_275); +x_276 = lean_ctor_get(x_267, 1); +lean_inc(x_276); +lean_dec(x_267); +x_206 = x_248; +x_207 = x_275; +x_208 = x_276; +goto block_228; +} +else +{ +lean_object* x_277; lean_object* x_278; lean_object* x_279; lean_object* x_280; +lean_dec(x_248); +lean_dec(x_205); +x_277 = lean_ctor_get(x_267, 0); +lean_inc(x_277); +x_278 = lean_ctor_get(x_267, 1); +lean_inc(x_278); +if (lean_is_exclusive(x_267)) { + lean_ctor_release(x_267, 0); + lean_ctor_release(x_267, 1); + x_279 = x_267; } else { - x_291 = x_290; + lean_dec_ref(x_267); + x_279 = lean_box(0); } -lean_ctor_set(x_291, 0, x_288); -lean_ctor_set(x_291, 1, x_289); -return x_291; +if (lean_is_scalar(x_279)) { + x_280 = lean_alloc_ctor(1, 2, 0); +} else { + x_280 = x_279; } +lean_ctor_set(x_280, 0, x_277); +lean_ctor_set(x_280, 1, x_278); +return x_280; } } } else { -uint8_t x_292; -lean_dec(x_34); -lean_dec(x_28); -lean_dec(x_1); -lean_dec(x_14); -x_292 = !lean_is_exclusive(x_152); -if (x_292 == 0) +lean_object* x_281; lean_object* x_282; +x_281 = lean_ctor_get(x_243, 0); +lean_inc(x_281); +lean_dec(x_243); +lean_inc(x_235); +x_282 = l_Lean_ppExpr(x_235, x_281, x_241); +if (lean_obj_tag(x_282) == 0) { -return x_152; -} -else -{ -lean_object* x_293; lean_object* x_294; lean_object* x_295; -x_293 = lean_ctor_get(x_152, 0); -x_294 = lean_ctor_get(x_152, 1); -lean_inc(x_294); -lean_inc(x_293); -lean_dec(x_152); -x_295 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_295, 0, x_293); +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; uint8_t x_293; lean_object* x_294; lean_object* x_295; uint8_t x_296; lean_object* x_297; lean_object* x_298; +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 = l_List_reverse___rarg(x_242); +x_286 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1; +x_287 = l_Lean_Format_joinSep___main___at_Lean_ppGoal___spec__1(x_285, x_286); +x_288 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__3; +x_289 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_289, 0, x_287); +lean_ctor_set(x_289, 1, x_288); +x_290 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_290, 0, x_247); +lean_ctor_set(x_290, 1, x_283); +x_291 = lean_alloc_ctor(3, 2, 0); +lean_ctor_set(x_291, 0, x_236); +lean_ctor_set(x_291, 1, x_290); +x_292 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_292, 0, x_289); +lean_ctor_set(x_292, 1, x_291); +x_293 = 0; +x_294 = lean_alloc_ctor(5, 1, 1); +lean_ctor_set(x_294, 0, x_292); +lean_ctor_set_uint8(x_294, sizeof(void*)*1, x_293); +x_295 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_295, 0, x_248); lean_ctor_set(x_295, 1, x_294); -return x_295; -} -} -} -} -} -else +x_296 = l_Lean_Format_isNil(x_295); +x_297 = lean_ctor_get(x_205, 2); +lean_inc(x_297); +x_298 = l_Lean_ppExpr(x_235, x_297, x_284); +if (x_296 == 0) { -if (lean_obj_tag(x_28) == 0) +if (lean_obj_tag(x_298) == 0) { -lean_object* x_296; lean_object* x_297; -lean_dec(x_29); -x_296 = lean_ctor_get(x_14, 2); -lean_inc(x_296); -x_297 = l_Lean_ppExpr(x_1, x_296, x_26); -if (lean_obj_tag(x_297) == 0) -{ -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_298 = lean_ctor_get(x_297, 0); -lean_inc(x_298); -x_299 = lean_ctor_get(x_297, 1); +lean_object* x_299; lean_object* x_300; lean_object* x_301; +x_299 = lean_ctor_get(x_298, 0); lean_inc(x_299); -if (lean_is_exclusive(x_297)) { - lean_ctor_release(x_297, 0); - lean_ctor_release(x_297, 1); - x_300 = x_297; -} else { - lean_dec_ref(x_297); - x_300 = lean_box(0); +x_300 = lean_ctor_get(x_298, 1); +lean_inc(x_300); +lean_dec(x_298); +x_301 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_301, 0, x_295); +lean_ctor_set(x_301, 1, x_247); +x_206 = x_301; +x_207 = x_299; +x_208 = x_300; +goto block_228; } -x_301 = l_Lean_ppGoal___closed__6; -x_302 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_302, 0, x_30); -lean_ctor_set(x_302, 1, x_301); -x_303 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1; -x_304 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_304, 0, x_302); -lean_ctor_set(x_304, 1, x_303); -x_305 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4; -x_306 = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(x_306, 0, x_305); -lean_ctor_set(x_306, 1, x_298); -x_307 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_307, 0, x_304); -lean_ctor_set(x_307, 1, x_306); -x_308 = lean_ctor_get(x_14, 0); +else +{ +lean_object* x_302; lean_object* x_303; lean_object* x_304; lean_object* x_305; +lean_dec(x_295); +lean_dec(x_205); +x_302 = lean_ctor_get(x_298, 0); +lean_inc(x_302); +x_303 = lean_ctor_get(x_298, 1); +lean_inc(x_303); +if (lean_is_exclusive(x_298)) { + lean_ctor_release(x_298, 0); + lean_ctor_release(x_298, 1); + x_304 = x_298; +} else { + lean_dec_ref(x_298); + x_304 = lean_box(0); +} +if (lean_is_scalar(x_304)) { + x_305 = lean_alloc_ctor(1, 2, 0); +} else { + x_305 = x_304; +} +lean_ctor_set(x_305, 0, x_302); +lean_ctor_set(x_305, 1, x_303); +return x_305; +} +} +else +{ +if (lean_obj_tag(x_298) == 0) +{ +lean_object* x_306; lean_object* x_307; +x_306 = lean_ctor_get(x_298, 0); +lean_inc(x_306); +x_307 = lean_ctor_get(x_298, 1); +lean_inc(x_307); +lean_dec(x_298); +x_206 = x_295; +x_207 = x_306; +x_208 = x_307; +goto block_228; +} +else +{ +lean_object* x_308; lean_object* x_309; lean_object* x_310; lean_object* x_311; +lean_dec(x_295); +lean_dec(x_205); +x_308 = lean_ctor_get(x_298, 0); lean_inc(x_308); -lean_dec(x_14); -if (lean_obj_tag(x_308) == 0) -{ -lean_dec(x_300); -lean_ctor_set(x_22, 1, x_299); -lean_ctor_set(x_22, 0, x_307); -return x_22; -} -else -{ -lean_object* x_321; -lean_free_object(x_22); -x_321 = lean_box(0); -x_309 = x_321; -goto block_320; -} -block_320: -{ -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_dec(x_309); -x_310 = lean_erase_macro_scopes(x_308); -x_311 = l_System_FilePath_dirName___closed__1; -x_312 = l_Lean_Name_toStringWithSep___main(x_311, x_310); -x_313 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_313, 0, x_312); -x_314 = l_Lean_ppGoal___closed__8; -x_315 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_315, 0, x_314); -lean_ctor_set(x_315, 1, x_313); -x_316 = lean_box(1); -x_317 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_317, 0, x_315); -lean_ctor_set(x_317, 1, x_316); -x_318 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_318, 0, x_317); -lean_ctor_set(x_318, 1, x_307); -if (lean_is_scalar(x_300)) { - x_319 = lean_alloc_ctor(0, 2, 0); +x_309 = lean_ctor_get(x_298, 1); +lean_inc(x_309); +if (lean_is_exclusive(x_298)) { + lean_ctor_release(x_298, 0); + lean_ctor_release(x_298, 1); + x_310 = x_298; } else { - x_319 = x_300; + lean_dec_ref(x_298); + x_310 = lean_box(0); +} +if (lean_is_scalar(x_310)) { + x_311 = lean_alloc_ctor(1, 2, 0); +} else { + x_311 = x_310; +} +lean_ctor_set(x_311, 0, x_308); +lean_ctor_set(x_311, 1, x_309); +return x_311; } -lean_ctor_set(x_319, 0, x_318); -lean_ctor_set(x_319, 1, x_299); -return x_319; } } else { -uint8_t x_322; -lean_dec(x_30); -lean_free_object(x_22); -lean_dec(x_14); -x_322 = !lean_is_exclusive(x_297); -if (x_322 == 0) -{ -return x_297; +lean_object* x_312; lean_object* x_313; lean_object* x_314; lean_object* x_315; +lean_dec(x_248); +lean_dec(x_242); +lean_dec(x_235); +lean_dec(x_205); +x_312 = lean_ctor_get(x_282, 0); +lean_inc(x_312); +x_313 = lean_ctor_get(x_282, 1); +lean_inc(x_313); +if (lean_is_exclusive(x_282)) { + lean_ctor_release(x_282, 0); + lean_ctor_release(x_282, 1); + x_314 = x_282; +} else { + lean_dec_ref(x_282); + x_314 = lean_box(0); +} +if (lean_is_scalar(x_314)) { + x_315 = lean_alloc_ctor(1, 2, 0); +} else { + x_315 = x_314; +} +lean_ctor_set(x_315, 0, x_312); +lean_ctor_set(x_315, 1, x_313); +return x_315; +} +} +} } else { -lean_object* x_323; lean_object* x_324; lean_object* x_325; -x_323 = lean_ctor_get(x_297, 0); -x_324 = lean_ctor_get(x_297, 1); +if (lean_obj_tag(x_242) == 0) +{ +lean_object* x_316; lean_object* x_317; +lean_dec(x_243); +x_316 = lean_ctor_get(x_205, 2); +lean_inc(x_316); +x_317 = l_Lean_ppExpr(x_235, x_316, x_241); +if (lean_obj_tag(x_317) == 0) +{ +lean_object* x_318; lean_object* x_319; +x_318 = lean_ctor_get(x_317, 0); +lean_inc(x_318); +x_319 = lean_ctor_get(x_317, 1); +lean_inc(x_319); +lean_dec(x_317); +x_206 = x_244; +x_207 = x_318; +x_208 = x_319; +goto block_228; +} +else +{ +lean_object* x_320; lean_object* x_321; lean_object* x_322; lean_object* x_323; +lean_dec(x_244); +lean_dec(x_205); +x_320 = lean_ctor_get(x_317, 0); +lean_inc(x_320); +x_321 = lean_ctor_get(x_317, 1); +lean_inc(x_321); +if (lean_is_exclusive(x_317)) { + lean_ctor_release(x_317, 0); + lean_ctor_release(x_317, 1); + x_322 = x_317; +} else { + lean_dec_ref(x_317); + x_322 = lean_box(0); +} +if (lean_is_scalar(x_322)) { + x_323 = lean_alloc_ctor(1, 2, 0); +} else { + x_323 = x_322; +} +lean_ctor_set(x_323, 0, x_320); +lean_ctor_set(x_323, 1, x_321); +return x_323; +} +} +else +{ +if (lean_obj_tag(x_243) == 0) +{ +lean_object* x_324; lean_object* x_325; +lean_dec(x_242); +x_324 = lean_ctor_get(x_205, 2); lean_inc(x_324); -lean_inc(x_323); -lean_dec(x_297); -x_325 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_325, 0, x_323); -lean_ctor_set(x_325, 1, x_324); -return x_325; -} -} -} -else -{ -if (lean_obj_tag(x_29) == 0) +x_325 = l_Lean_ppExpr(x_235, x_324, x_241); +if (lean_obj_tag(x_325) == 0) { lean_object* x_326; lean_object* x_327; -lean_dec(x_28); -x_326 = lean_ctor_get(x_14, 2); +x_326 = lean_ctor_get(x_325, 0); lean_inc(x_326); -x_327 = l_Lean_ppExpr(x_1, x_326, x_26); -if (lean_obj_tag(x_327) == 0) +x_327 = lean_ctor_get(x_325, 1); +lean_inc(x_327); +lean_dec(x_325); +x_206 = x_244; +x_207 = x_326; +x_208 = x_327; +goto block_228; +} +else { -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; -x_328 = lean_ctor_get(x_327, 0); +lean_object* x_328; lean_object* x_329; lean_object* x_330; lean_object* x_331; +lean_dec(x_244); +lean_dec(x_205); +x_328 = lean_ctor_get(x_325, 0); lean_inc(x_328); -x_329 = lean_ctor_get(x_327, 1); +x_329 = lean_ctor_get(x_325, 1); lean_inc(x_329); -if (lean_is_exclusive(x_327)) { - lean_ctor_release(x_327, 0); - lean_ctor_release(x_327, 1); - x_330 = x_327; +if (lean_is_exclusive(x_325)) { + lean_ctor_release(x_325, 0); + lean_ctor_release(x_325, 1); + x_330 = x_325; } else { - lean_dec_ref(x_327); + lean_dec_ref(x_325); x_330 = lean_box(0); } -x_331 = l_Lean_ppGoal___closed__6; -x_332 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_332, 0, x_30); -lean_ctor_set(x_332, 1, x_331); -x_333 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1; -x_334 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_334, 0, x_332); -lean_ctor_set(x_334, 1, x_333); -x_335 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4; -x_336 = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(x_336, 0, x_335); -lean_ctor_set(x_336, 1, x_328); -x_337 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_337, 0, x_334); -lean_ctor_set(x_337, 1, x_336); -x_338 = lean_ctor_get(x_14, 0); -lean_inc(x_338); -lean_dec(x_14); -if (lean_obj_tag(x_338) == 0) -{ -lean_dec(x_330); -lean_ctor_set(x_22, 1, x_329); -lean_ctor_set(x_22, 0, x_337); -return x_22; -} -else -{ -lean_object* x_351; -lean_free_object(x_22); -x_351 = lean_box(0); -x_339 = x_351; -goto block_350; -} -block_350: -{ -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_dec(x_339); -x_340 = lean_erase_macro_scopes(x_338); -x_341 = l_System_FilePath_dirName___closed__1; -x_342 = l_Lean_Name_toStringWithSep___main(x_341, x_340); -x_343 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_343, 0, x_342); -x_344 = l_Lean_ppGoal___closed__8; -x_345 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_345, 0, x_344); -lean_ctor_set(x_345, 1, x_343); -x_346 = lean_box(1); -x_347 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_347, 0, x_345); -lean_ctor_set(x_347, 1, x_346); -x_348 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_348, 0, x_347); -lean_ctor_set(x_348, 1, x_337); if (lean_is_scalar(x_330)) { - x_349 = lean_alloc_ctor(0, 2, 0); + x_331 = lean_alloc_ctor(1, 2, 0); } else { - x_349 = x_330; + x_331 = x_330; } -lean_ctor_set(x_349, 0, x_348); -lean_ctor_set(x_349, 1, x_329); -return x_349; +lean_ctor_set(x_331, 0, x_328); +lean_ctor_set(x_331, 1, x_329); +return x_331; } } else { -uint8_t x_352; -lean_dec(x_30); -lean_free_object(x_22); -lean_dec(x_14); -x_352 = !lean_is_exclusive(x_327); -if (x_352 == 0) +lean_object* x_332; lean_object* x_333; +x_332 = lean_ctor_get(x_243, 0); +lean_inc(x_332); +lean_dec(x_243); +lean_inc(x_235); +x_333 = l_Lean_ppExpr(x_235, x_332, x_241); +if (lean_obj_tag(x_333) == 0) { -return x_327; +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; uint8_t x_345; lean_object* x_346; lean_object* x_347; uint8_t x_348; lean_object* x_349; lean_object* x_350; +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 = l_List_reverse___rarg(x_242); +x_337 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1; +x_338 = l_Lean_Format_joinSep___main___at_Lean_ppGoal___spec__1(x_336, x_337); +x_339 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__3; +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_box(1); +x_342 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_342, 0, x_341); +lean_ctor_set(x_342, 1, x_334); +x_343 = lean_alloc_ctor(3, 2, 0); +lean_ctor_set(x_343, 0, x_236); +lean_ctor_set(x_343, 1, x_342); +x_344 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_344, 0, x_340); +lean_ctor_set(x_344, 1, x_343); +x_345 = 0; +x_346 = lean_alloc_ctor(5, 1, 1); +lean_ctor_set(x_346, 0, x_344); +lean_ctor_set_uint8(x_346, sizeof(void*)*1, x_345); +x_347 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_347, 0, x_244); +lean_ctor_set(x_347, 1, x_346); +x_348 = l_Lean_Format_isNil(x_347); +x_349 = lean_ctor_get(x_205, 2); +lean_inc(x_349); +x_350 = l_Lean_ppExpr(x_235, x_349, x_335); +if (x_348 == 0) +{ +if (lean_obj_tag(x_350) == 0) +{ +lean_object* x_351; lean_object* x_352; lean_object* x_353; +x_351 = lean_ctor_get(x_350, 0); +lean_inc(x_351); +x_352 = lean_ctor_get(x_350, 1); +lean_inc(x_352); +lean_dec(x_350); +x_353 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_353, 0, x_347); +lean_ctor_set(x_353, 1, x_341); +x_206 = x_353; +x_207 = x_351; +x_208 = x_352; +goto block_228; } else { -lean_object* x_353; lean_object* x_354; lean_object* x_355; -x_353 = lean_ctor_get(x_327, 0); -x_354 = lean_ctor_get(x_327, 1); +lean_object* x_354; lean_object* x_355; lean_object* x_356; lean_object* x_357; +lean_dec(x_347); +lean_dec(x_205); +x_354 = lean_ctor_get(x_350, 0); lean_inc(x_354); -lean_inc(x_353); -lean_dec(x_327); -x_355 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_355, 0, x_353); -lean_ctor_set(x_355, 1, x_354); -return x_355; +x_355 = lean_ctor_get(x_350, 1); +lean_inc(x_355); +if (lean_is_exclusive(x_350)) { + lean_ctor_release(x_350, 0); + lean_ctor_release(x_350, 1); + x_356 = x_350; +} else { + lean_dec_ref(x_350); + x_356 = lean_box(0); +} +if (lean_is_scalar(x_356)) { + x_357 = lean_alloc_ctor(1, 2, 0); +} else { + x_357 = x_356; +} +lean_ctor_set(x_357, 0, x_354); +lean_ctor_set(x_357, 1, x_355); +return x_357; +} +} +else +{ +if (lean_obj_tag(x_350) == 0) +{ +lean_object* x_358; lean_object* x_359; +x_358 = lean_ctor_get(x_350, 0); +lean_inc(x_358); +x_359 = lean_ctor_get(x_350, 1); +lean_inc(x_359); +lean_dec(x_350); +x_206 = x_347; +x_207 = x_358; +x_208 = x_359; +goto block_228; +} +else +{ +lean_object* x_360; lean_object* x_361; lean_object* x_362; lean_object* x_363; +lean_dec(x_347); +lean_dec(x_205); +x_360 = lean_ctor_get(x_350, 0); +lean_inc(x_360); +x_361 = lean_ctor_get(x_350, 1); +lean_inc(x_361); +if (lean_is_exclusive(x_350)) { + lean_ctor_release(x_350, 0); + lean_ctor_release(x_350, 1); + x_362 = x_350; +} else { + lean_dec_ref(x_350); + x_362 = lean_box(0); +} +if (lean_is_scalar(x_362)) { + x_363 = lean_alloc_ctor(1, 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; } } } else { -lean_object* x_356; lean_object* x_357; -lean_free_object(x_22); -x_356 = lean_ctor_get(x_29, 0); -lean_inc(x_356); -lean_dec(x_29); -lean_inc(x_1); -x_357 = l_Lean_ppExpr(x_1, x_356, x_26); -if (lean_obj_tag(x_357) == 0) +lean_object* x_364; lean_object* x_365; lean_object* x_366; lean_object* x_367; +lean_dec(x_244); +lean_dec(x_242); +lean_dec(x_235); +lean_dec(x_205); +x_364 = lean_ctor_get(x_333, 0); +lean_inc(x_364); +x_365 = lean_ctor_get(x_333, 1); +lean_inc(x_365); +if (lean_is_exclusive(x_333)) { + lean_ctor_release(x_333, 0); + lean_ctor_release(x_333, 1); + x_366 = x_333; +} else { + lean_dec_ref(x_333); + 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 { -uint8_t x_358; -x_358 = !lean_is_exclusive(x_357); -if (x_358 == 0) +uint8_t x_368; lean_object* x_369; lean_object* x_370; +lean_dec(x_243); +lean_dec(x_242); +x_368 = l_Lean_Format_isNil(x_244); +x_369 = lean_ctor_get(x_205, 2); +lean_inc(x_369); +x_370 = l_Lean_ppExpr(x_235, x_369, x_241); +if (x_368 == 0) { -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; uint8_t x_371; lean_object* x_372; lean_object* x_373; uint8_t x_374; lean_object* x_375; lean_object* x_376; -x_359 = lean_ctor_get(x_357, 0); -x_360 = lean_ctor_get(x_357, 1); -x_361 = l_List_reverse___rarg(x_28); -x_362 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1; -x_363 = l_Lean_Format_joinSep___main___at_Lean_ppGoal___spec__1(x_361, x_362); -x_364 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__3; -x_365 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_365, 0, x_363); -lean_ctor_set(x_365, 1, x_364); -x_366 = lean_box(1); -x_367 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_367, 0, x_366); -lean_ctor_set(x_367, 1, x_359); -x_368 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4; -x_369 = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(x_369, 0, x_368); -lean_ctor_set(x_369, 1, x_367); -x_370 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_370, 0, x_365); -lean_ctor_set(x_370, 1, x_369); -x_371 = 0; -x_372 = lean_alloc_ctor(5, 1, 1); -lean_ctor_set(x_372, 0, x_370); -lean_ctor_set_uint8(x_372, sizeof(void*)*1, x_371); -x_373 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_373, 0, x_30); -lean_ctor_set(x_373, 1, x_372); -x_374 = l_Lean_Format_isNil(x_373); -x_375 = lean_ctor_get(x_14, 2); +if (lean_obj_tag(x_370) == 0) +{ +lean_object* x_371; lean_object* x_372; lean_object* x_373; lean_object* x_374; +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_box(1); +x_374 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_374, 0, x_244); +lean_ctor_set(x_374, 1, x_373); +x_206 = x_374; +x_207 = x_371; +x_208 = x_372; +goto block_228; +} +else +{ +lean_object* x_375; lean_object* x_376; lean_object* x_377; lean_object* x_378; +lean_dec(x_244); +lean_dec(x_205); +x_375 = lean_ctor_get(x_370, 0); lean_inc(x_375); -x_376 = l_Lean_ppExpr(x_1, x_375, x_360); -if (x_374 == 0) -{ -if (lean_obj_tag(x_376) == 0) -{ -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; -x_377 = lean_ctor_get(x_376, 0); -lean_inc(x_377); -x_378 = lean_ctor_get(x_376, 1); -lean_inc(x_378); -if (lean_is_exclusive(x_376)) { - lean_ctor_release(x_376, 0); - lean_ctor_release(x_376, 1); - x_379 = x_376; +x_376 = lean_ctor_get(x_370, 1); +lean_inc(x_376); +if (lean_is_exclusive(x_370)) { + lean_ctor_release(x_370, 0); + lean_ctor_release(x_370, 1); + x_377 = x_370; } else { - lean_dec_ref(x_376); - x_379 = lean_box(0); + lean_dec_ref(x_370); + x_377 = lean_box(0); } -x_380 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_380, 0, x_373); -lean_ctor_set(x_380, 1, x_366); -x_381 = l_Lean_ppGoal___closed__6; -x_382 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_382, 0, x_380); -lean_ctor_set(x_382, 1, x_381); -x_383 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_383, 0, x_382); -lean_ctor_set(x_383, 1, x_362); -x_384 = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(x_384, 0, x_368); -lean_ctor_set(x_384, 1, x_377); -x_385 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_385, 0, x_383); -lean_ctor_set(x_385, 1, x_384); -x_386 = lean_ctor_get(x_14, 0); +if (lean_is_scalar(x_377)) { + x_378 = lean_alloc_ctor(1, 2, 0); +} else { + x_378 = x_377; +} +lean_ctor_set(x_378, 0, x_375); +lean_ctor_set(x_378, 1, x_376); +return x_378; +} +} +else +{ +if (lean_obj_tag(x_370) == 0) +{ +lean_object* x_379; lean_object* x_380; +x_379 = lean_ctor_get(x_370, 0); +lean_inc(x_379); +x_380 = lean_ctor_get(x_370, 1); +lean_inc(x_380); +lean_dec(x_370); +x_206 = x_244; +x_207 = x_379; +x_208 = x_380; +goto block_228; +} +else +{ +lean_object* x_381; lean_object* x_382; lean_object* x_383; lean_object* x_384; +lean_dec(x_244); +lean_dec(x_205); +x_381 = lean_ctor_get(x_370, 0); +lean_inc(x_381); +x_382 = lean_ctor_get(x_370, 1); +lean_inc(x_382); +if (lean_is_exclusive(x_370)) { + lean_ctor_release(x_370, 0); + lean_ctor_release(x_370, 1); + x_383 = x_370; +} else { + lean_dec_ref(x_370); + x_383 = lean_box(0); +} +if (lean_is_scalar(x_383)) { + x_384 = lean_alloc_ctor(1, 2, 0); +} else { + x_384 = x_383; +} +lean_ctor_set(x_384, 0, x_381); +lean_ctor_set(x_384, 1, x_382); +return x_384; +} +} +} +} +else +{ +lean_object* x_385; lean_object* x_386; lean_object* x_387; lean_object* x_388; +lean_dec(x_235); +lean_dec(x_205); +x_385 = lean_ctor_get(x_238, 0); +lean_inc(x_385); +x_386 = lean_ctor_get(x_238, 1); lean_inc(x_386); -lean_dec(x_14); -if (lean_obj_tag(x_386) == 0) -{ -lean_dec(x_379); -lean_ctor_set(x_357, 1, x_378); -lean_ctor_set(x_357, 0, x_385); -return x_357; -} -else -{ -lean_object* x_398; -lean_free_object(x_357); -x_398 = lean_box(0); -x_387 = x_398; -goto block_397; -} -block_397: -{ -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_387); -x_388 = lean_erase_macro_scopes(x_386); -x_389 = l_System_FilePath_dirName___closed__1; -x_390 = l_Lean_Name_toStringWithSep___main(x_389, x_388); -x_391 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_391, 0, x_390); -x_392 = l_Lean_ppGoal___closed__8; -x_393 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_393, 0, x_392); -lean_ctor_set(x_393, 1, x_391); -x_394 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_394, 0, x_393); -lean_ctor_set(x_394, 1, x_366); -x_395 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_395, 0, x_394); -lean_ctor_set(x_395, 1, x_385); -if (lean_is_scalar(x_379)) { - x_396 = lean_alloc_ctor(0, 2, 0); -} else { - x_396 = x_379; -} -lean_ctor_set(x_396, 0, x_395); -lean_ctor_set(x_396, 1, x_378); -return x_396; -} -} -else -{ -uint8_t x_399; -lean_dec(x_373); -lean_free_object(x_357); -lean_dec(x_14); -x_399 = !lean_is_exclusive(x_376); -if (x_399 == 0) -{ -return x_376; -} -else -{ -lean_object* x_400; lean_object* x_401; lean_object* x_402; -x_400 = lean_ctor_get(x_376, 0); -x_401 = lean_ctor_get(x_376, 1); -lean_inc(x_401); -lean_inc(x_400); -lean_dec(x_376); -x_402 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_402, 0, x_400); -lean_ctor_set(x_402, 1, x_401); -return x_402; -} -} -} -else -{ -if (lean_obj_tag(x_376) == 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; lean_object* x_409; lean_object* x_410; lean_object* x_411; lean_object* x_412; -x_403 = lean_ctor_get(x_376, 0); -lean_inc(x_403); -x_404 = lean_ctor_get(x_376, 1); -lean_inc(x_404); -if (lean_is_exclusive(x_376)) { - lean_ctor_release(x_376, 0); - lean_ctor_release(x_376, 1); - x_405 = x_376; -} else { - lean_dec_ref(x_376); - x_405 = lean_box(0); -} -x_406 = l_Lean_ppGoal___closed__6; -x_407 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_407, 0, x_373); -lean_ctor_set(x_407, 1, x_406); -x_408 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_408, 0, x_407); -lean_ctor_set(x_408, 1, x_362); -x_409 = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(x_409, 0, x_368); -lean_ctor_set(x_409, 1, x_403); -x_410 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_410, 0, x_408); -lean_ctor_set(x_410, 1, x_409); -x_411 = lean_ctor_get(x_14, 0); -lean_inc(x_411); -lean_dec(x_14); -if (lean_obj_tag(x_411) == 0) -{ -lean_dec(x_405); -lean_ctor_set(x_357, 1, x_404); -lean_ctor_set(x_357, 0, x_410); -return x_357; -} -else -{ -lean_object* x_423; -lean_free_object(x_357); -x_423 = lean_box(0); -x_412 = x_423; -goto block_422; -} -block_422: -{ -lean_object* x_413; lean_object* x_414; lean_object* x_415; lean_object* x_416; lean_object* x_417; lean_object* x_418; lean_object* x_419; lean_object* x_420; lean_object* x_421; -lean_dec(x_412); -x_413 = lean_erase_macro_scopes(x_411); -x_414 = l_System_FilePath_dirName___closed__1; -x_415 = l_Lean_Name_toStringWithSep___main(x_414, x_413); -x_416 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_416, 0, x_415); -x_417 = l_Lean_ppGoal___closed__8; -x_418 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_418, 0, x_417); -lean_ctor_set(x_418, 1, x_416); -x_419 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_419, 0, x_418); -lean_ctor_set(x_419, 1, x_366); -x_420 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_420, 0, x_419); -lean_ctor_set(x_420, 1, x_410); -if (lean_is_scalar(x_405)) { - x_421 = lean_alloc_ctor(0, 2, 0); -} else { - x_421 = x_405; -} -lean_ctor_set(x_421, 0, x_420); -lean_ctor_set(x_421, 1, x_404); -return x_421; -} -} -else -{ -uint8_t x_424; -lean_dec(x_373); -lean_free_object(x_357); -lean_dec(x_14); -x_424 = !lean_is_exclusive(x_376); -if (x_424 == 0) -{ -return x_376; -} -else -{ -lean_object* x_425; lean_object* x_426; lean_object* x_427; -x_425 = lean_ctor_get(x_376, 0); -x_426 = lean_ctor_get(x_376, 1); -lean_inc(x_426); -lean_inc(x_425); -lean_dec(x_376); -x_427 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_427, 0, x_425); -lean_ctor_set(x_427, 1, x_426); -return x_427; -} -} -} -} -else -{ -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; uint8_t x_440; lean_object* x_441; lean_object* x_442; uint8_t x_443; lean_object* x_444; lean_object* x_445; -x_428 = lean_ctor_get(x_357, 0); -x_429 = lean_ctor_get(x_357, 1); -lean_inc(x_429); -lean_inc(x_428); -lean_dec(x_357); -x_430 = l_List_reverse___rarg(x_28); -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_box(1); -x_436 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_436, 0, x_435); -lean_ctor_set(x_436, 1, x_428); -x_437 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4; -x_438 = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(x_438, 0, x_437); -lean_ctor_set(x_438, 1, x_436); -x_439 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_439, 0, x_434); -lean_ctor_set(x_439, 1, x_438); -x_440 = 0; -x_441 = lean_alloc_ctor(5, 1, 1); -lean_ctor_set(x_441, 0, x_439); -lean_ctor_set_uint8(x_441, sizeof(void*)*1, x_440); -x_442 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_442, 0, x_30); -lean_ctor_set(x_442, 1, x_441); -x_443 = l_Lean_Format_isNil(x_442); -x_444 = lean_ctor_get(x_14, 2); -lean_inc(x_444); -x_445 = l_Lean_ppExpr(x_1, x_444, x_429); -if (x_443 == 0) -{ -if (lean_obj_tag(x_445) == 0) -{ -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; lean_object* x_456; -x_446 = lean_ctor_get(x_445, 0); -lean_inc(x_446); -x_447 = lean_ctor_get(x_445, 1); -lean_inc(x_447); -if (lean_is_exclusive(x_445)) { - lean_ctor_release(x_445, 0); - lean_ctor_release(x_445, 1); - x_448 = x_445; -} else { - lean_dec_ref(x_445); - x_448 = lean_box(0); -} -x_449 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_449, 0, x_442); -lean_ctor_set(x_449, 1, x_435); -x_450 = l_Lean_ppGoal___closed__6; -x_451 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_451, 0, x_449); -lean_ctor_set(x_451, 1, x_450); -x_452 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_452, 0, x_451); -lean_ctor_set(x_452, 1, x_431); -x_453 = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(x_453, 0, x_437); -lean_ctor_set(x_453, 1, x_446); -x_454 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_454, 0, x_452); -lean_ctor_set(x_454, 1, x_453); -x_455 = lean_ctor_get(x_14, 0); -lean_inc(x_455); -lean_dec(x_14); -if (lean_obj_tag(x_455) == 0) -{ -lean_object* x_467; -lean_dec(x_448); -x_467 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_467, 0, x_454); -lean_ctor_set(x_467, 1, x_447); -return x_467; -} -else -{ -lean_object* x_468; -x_468 = lean_box(0); -x_456 = x_468; -goto block_466; -} -block_466: -{ -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_dec(x_456); -x_457 = lean_erase_macro_scopes(x_455); -x_458 = l_System_FilePath_dirName___closed__1; -x_459 = l_Lean_Name_toStringWithSep___main(x_458, x_457); -x_460 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_460, 0, x_459); -x_461 = l_Lean_ppGoal___closed__8; -x_462 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_462, 0, x_461); -lean_ctor_set(x_462, 1, x_460); -x_463 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_463, 0, x_462); -lean_ctor_set(x_463, 1, x_435); -x_464 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_464, 0, x_463); -lean_ctor_set(x_464, 1, x_454); -if (lean_is_scalar(x_448)) { - x_465 = lean_alloc_ctor(0, 2, 0); -} else { - x_465 = x_448; -} -lean_ctor_set(x_465, 0, x_464); -lean_ctor_set(x_465, 1, x_447); -return x_465; -} -} -else -{ -lean_object* x_469; lean_object* x_470; lean_object* x_471; lean_object* x_472; -lean_dec(x_442); -lean_dec(x_14); -x_469 = lean_ctor_get(x_445, 0); -lean_inc(x_469); -x_470 = lean_ctor_get(x_445, 1); -lean_inc(x_470); -if (lean_is_exclusive(x_445)) { - lean_ctor_release(x_445, 0); - lean_ctor_release(x_445, 1); - x_471 = x_445; -} else { - lean_dec_ref(x_445); - x_471 = lean_box(0); -} -if (lean_is_scalar(x_471)) { - x_472 = lean_alloc_ctor(1, 2, 0); -} else { - x_472 = x_471; -} -lean_ctor_set(x_472, 0, x_469); -lean_ctor_set(x_472, 1, x_470); -return x_472; -} -} -else -{ -if (lean_obj_tag(x_445) == 0) -{ -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_object* x_482; -x_473 = lean_ctor_get(x_445, 0); -lean_inc(x_473); -x_474 = lean_ctor_get(x_445, 1); -lean_inc(x_474); -if (lean_is_exclusive(x_445)) { - lean_ctor_release(x_445, 0); - lean_ctor_release(x_445, 1); - x_475 = x_445; -} else { - lean_dec_ref(x_445); - x_475 = lean_box(0); -} -x_476 = l_Lean_ppGoal___closed__6; -x_477 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_477, 0, x_442); -lean_ctor_set(x_477, 1, x_476); -x_478 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_478, 0, x_477); -lean_ctor_set(x_478, 1, x_431); -x_479 = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(x_479, 0, x_437); -lean_ctor_set(x_479, 1, x_473); -x_480 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_480, 0, x_478); -lean_ctor_set(x_480, 1, x_479); -x_481 = lean_ctor_get(x_14, 0); -lean_inc(x_481); -lean_dec(x_14); -if (lean_obj_tag(x_481) == 0) -{ -lean_object* x_493; -lean_dec(x_475); -x_493 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_493, 0, x_480); -lean_ctor_set(x_493, 1, x_474); -return x_493; -} -else -{ -lean_object* x_494; -x_494 = lean_box(0); -x_482 = x_494; -goto block_492; -} -block_492: -{ -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_dec(x_482); -x_483 = lean_erase_macro_scopes(x_481); -x_484 = l_System_FilePath_dirName___closed__1; -x_485 = l_Lean_Name_toStringWithSep___main(x_484, x_483); -x_486 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_486, 0, x_485); -x_487 = l_Lean_ppGoal___closed__8; -x_488 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_488, 0, x_487); -lean_ctor_set(x_488, 1, x_486); -x_489 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_489, 0, x_488); -lean_ctor_set(x_489, 1, x_435); -x_490 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_490, 0, x_489); -lean_ctor_set(x_490, 1, x_480); -if (lean_is_scalar(x_475)) { - x_491 = lean_alloc_ctor(0, 2, 0); -} else { - x_491 = x_475; -} -lean_ctor_set(x_491, 0, x_490); -lean_ctor_set(x_491, 1, x_474); -return x_491; -} -} -else -{ -lean_object* x_495; lean_object* x_496; lean_object* x_497; lean_object* x_498; -lean_dec(x_442); -lean_dec(x_14); -x_495 = lean_ctor_get(x_445, 0); -lean_inc(x_495); -x_496 = lean_ctor_get(x_445, 1); -lean_inc(x_496); -if (lean_is_exclusive(x_445)) { - lean_ctor_release(x_445, 0); - lean_ctor_release(x_445, 1); - x_497 = x_445; -} else { - lean_dec_ref(x_445); - x_497 = lean_box(0); -} -if (lean_is_scalar(x_497)) { - x_498 = lean_alloc_ctor(1, 2, 0); -} else { - x_498 = x_497; -} -lean_ctor_set(x_498, 0, x_495); -lean_ctor_set(x_498, 1, x_496); -return x_498; -} -} -} -} -else -{ -uint8_t x_499; -lean_dec(x_30); -lean_dec(x_28); -lean_dec(x_1); -lean_dec(x_14); -x_499 = !lean_is_exclusive(x_357); -if (x_499 == 0) -{ -return x_357; -} -else -{ -lean_object* x_500; lean_object* x_501; lean_object* x_502; -x_500 = lean_ctor_get(x_357, 0); -x_501 = lean_ctor_get(x_357, 1); -lean_inc(x_501); -lean_inc(x_500); -lean_dec(x_357); -x_502 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_502, 0, x_500); -lean_ctor_set(x_502, 1, x_501); -return x_502; -} -} -} -} -} -} -else -{ -uint8_t x_503; lean_object* x_504; lean_object* x_505; -lean_dec(x_29); -lean_dec(x_28); -x_503 = l_Lean_Format_isNil(x_30); -x_504 = lean_ctor_get(x_14, 2); -lean_inc(x_504); -x_505 = l_Lean_ppExpr(x_1, x_504, x_26); -if (x_503 == 0) -{ -if (lean_obj_tag(x_505) == 0) -{ -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; -x_506 = lean_ctor_get(x_505, 0); -lean_inc(x_506); -x_507 = lean_ctor_get(x_505, 1); -lean_inc(x_507); -if (lean_is_exclusive(x_505)) { - lean_ctor_release(x_505, 0); - lean_ctor_release(x_505, 1); - x_508 = x_505; -} else { - lean_dec_ref(x_505); - x_508 = lean_box(0); -} -x_509 = lean_box(1); -x_510 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_510, 0, x_30); -lean_ctor_set(x_510, 1, x_509); -x_511 = l_Lean_ppGoal___closed__6; -x_512 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_512, 0, x_510); -lean_ctor_set(x_512, 1, x_511); -x_513 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1; -x_514 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_514, 0, x_512); -lean_ctor_set(x_514, 1, x_513); -x_515 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4; -x_516 = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(x_516, 0, x_515); -lean_ctor_set(x_516, 1, x_506); -x_517 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_517, 0, x_514); -lean_ctor_set(x_517, 1, x_516); -x_518 = lean_ctor_get(x_14, 0); -lean_inc(x_518); -lean_dec(x_14); -if (lean_obj_tag(x_518) == 0) -{ -lean_dec(x_508); -lean_ctor_set(x_22, 1, x_507); -lean_ctor_set(x_22, 0, x_517); -return x_22; -} -else -{ -lean_object* x_530; -lean_free_object(x_22); -x_530 = lean_box(0); -x_519 = x_530; -goto block_529; -} -block_529: -{ -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_dec(x_519); -x_520 = lean_erase_macro_scopes(x_518); -x_521 = l_System_FilePath_dirName___closed__1; -x_522 = l_Lean_Name_toStringWithSep___main(x_521, x_520); -x_523 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_523, 0, x_522); -x_524 = l_Lean_ppGoal___closed__8; -x_525 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_525, 0, x_524); -lean_ctor_set(x_525, 1, x_523); -x_526 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_526, 0, x_525); -lean_ctor_set(x_526, 1, x_509); -x_527 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_527, 0, x_526); -lean_ctor_set(x_527, 1, x_517); -if (lean_is_scalar(x_508)) { - x_528 = lean_alloc_ctor(0, 2, 0); -} else { - x_528 = x_508; -} -lean_ctor_set(x_528, 0, x_527); -lean_ctor_set(x_528, 1, x_507); -return x_528; -} -} -else -{ -uint8_t x_531; -lean_dec(x_30); -lean_free_object(x_22); -lean_dec(x_14); -x_531 = !lean_is_exclusive(x_505); -if (x_531 == 0) -{ -return x_505; -} -else -{ -lean_object* x_532; lean_object* x_533; lean_object* x_534; -x_532 = lean_ctor_get(x_505, 0); -x_533 = lean_ctor_get(x_505, 1); -lean_inc(x_533); -lean_inc(x_532); -lean_dec(x_505); -x_534 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_534, 0, x_532); -lean_ctor_set(x_534, 1, x_533); -return x_534; -} -} -} -else -{ -if (lean_obj_tag(x_505) == 0) -{ -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; -x_535 = lean_ctor_get(x_505, 0); -lean_inc(x_535); -x_536 = lean_ctor_get(x_505, 1); -lean_inc(x_536); -if (lean_is_exclusive(x_505)) { - lean_ctor_release(x_505, 0); - lean_ctor_release(x_505, 1); - x_537 = x_505; -} else { - lean_dec_ref(x_505); - x_537 = lean_box(0); -} -x_538 = l_Lean_ppGoal___closed__6; -x_539 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_539, 0, x_30); -lean_ctor_set(x_539, 1, x_538); -x_540 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1; -x_541 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_541, 0, x_539); -lean_ctor_set(x_541, 1, x_540); -x_542 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4; -x_543 = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(x_543, 0, x_542); -lean_ctor_set(x_543, 1, x_535); -x_544 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_544, 0, x_541); -lean_ctor_set(x_544, 1, x_543); -x_545 = lean_ctor_get(x_14, 0); -lean_inc(x_545); -lean_dec(x_14); -if (lean_obj_tag(x_545) == 0) -{ -lean_dec(x_537); -lean_ctor_set(x_22, 1, x_536); -lean_ctor_set(x_22, 0, x_544); -return x_22; -} -else -{ -lean_object* x_558; -lean_free_object(x_22); -x_558 = lean_box(0); -x_546 = x_558; -goto block_557; -} -block_557: -{ -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_dec(x_546); -x_547 = lean_erase_macro_scopes(x_545); -x_548 = l_System_FilePath_dirName___closed__1; -x_549 = l_Lean_Name_toStringWithSep___main(x_548, x_547); -x_550 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_550, 0, x_549); -x_551 = l_Lean_ppGoal___closed__8; -x_552 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_552, 0, x_551); -lean_ctor_set(x_552, 1, x_550); -x_553 = lean_box(1); -x_554 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_554, 0, x_552); -lean_ctor_set(x_554, 1, x_553); -x_555 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_555, 0, x_554); -lean_ctor_set(x_555, 1, x_544); -if (lean_is_scalar(x_537)) { - x_556 = lean_alloc_ctor(0, 2, 0); -} else { - x_556 = x_537; -} -lean_ctor_set(x_556, 0, x_555); -lean_ctor_set(x_556, 1, x_536); -return x_556; -} -} -else -{ -uint8_t x_559; -lean_dec(x_30); -lean_free_object(x_22); -lean_dec(x_14); -x_559 = !lean_is_exclusive(x_505); -if (x_559 == 0) -{ -return x_505; -} -else -{ -lean_object* x_560; lean_object* x_561; lean_object* x_562; -x_560 = lean_ctor_get(x_505, 0); -x_561 = lean_ctor_get(x_505, 1); -lean_inc(x_561); -lean_inc(x_560); -lean_dec(x_505); -x_562 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_562, 0, x_560); -lean_ctor_set(x_562, 1, x_561); -return x_562; -} -} -} -} -} -else -{ -lean_object* x_563; lean_object* x_564; lean_object* x_565; lean_object* x_566; uint8_t x_567; -x_563 = lean_ctor_get(x_22, 1); -lean_inc(x_563); -lean_dec(x_22); -x_564 = lean_ctor_get(x_23, 0); -lean_inc(x_564); -lean_dec(x_23); -x_565 = lean_ctor_get(x_24, 0); -lean_inc(x_565); -x_566 = lean_ctor_get(x_24, 1); -lean_inc(x_566); -lean_dec(x_24); -x_567 = l_List_isEmpty___rarg(x_564); -if (x_567 == 0) -{ -uint8_t x_568; -x_568 = l_Lean_Format_isNil(x_566); -if (x_568 == 0) -{ -lean_object* x_569; lean_object* x_570; -x_569 = lean_box(1); -x_570 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_570, 0, x_566); -lean_ctor_set(x_570, 1, x_569); -if (lean_obj_tag(x_564) == 0) -{ -uint8_t x_571; lean_object* x_572; lean_object* x_573; -lean_dec(x_565); -x_571 = l_Lean_Format_isNil(x_570); -x_572 = lean_ctor_get(x_14, 2); -lean_inc(x_572); -x_573 = l_Lean_ppExpr(x_1, x_572, x_563); -if (x_571 == 0) -{ -if (lean_obj_tag(x_573) == 0) -{ -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; lean_object* x_581; lean_object* x_582; lean_object* x_583; lean_object* x_584; lean_object* x_585; lean_object* x_586; -x_574 = lean_ctor_get(x_573, 0); -lean_inc(x_574); -x_575 = lean_ctor_get(x_573, 1); -lean_inc(x_575); -if (lean_is_exclusive(x_573)) { - lean_ctor_release(x_573, 0); - lean_ctor_release(x_573, 1); - x_576 = x_573; -} else { - lean_dec_ref(x_573); - x_576 = lean_box(0); -} -x_577 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_577, 0, x_570); -lean_ctor_set(x_577, 1, x_569); -x_578 = l_Lean_ppGoal___closed__6; -x_579 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_579, 0, x_577); -lean_ctor_set(x_579, 1, x_578); -x_580 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1; -x_581 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_581, 0, x_579); -lean_ctor_set(x_581, 1, x_580); -x_582 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4; -x_583 = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(x_583, 0, x_582); -lean_ctor_set(x_583, 1, x_574); -x_584 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_584, 0, x_581); -lean_ctor_set(x_584, 1, x_583); -x_585 = lean_ctor_get(x_14, 0); -lean_inc(x_585); -lean_dec(x_14); -if (lean_obj_tag(x_585) == 0) -{ -lean_object* x_597; -lean_dec(x_576); -x_597 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_597, 0, x_584); -lean_ctor_set(x_597, 1, x_575); -return x_597; -} -else -{ -lean_object* x_598; -x_598 = lean_box(0); -x_586 = x_598; -goto block_596; -} -block_596: -{ -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_dec(x_586); -x_587 = lean_erase_macro_scopes(x_585); -x_588 = l_System_FilePath_dirName___closed__1; -x_589 = l_Lean_Name_toStringWithSep___main(x_588, x_587); -x_590 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_590, 0, x_589); -x_591 = l_Lean_ppGoal___closed__8; -x_592 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_592, 0, x_591); -lean_ctor_set(x_592, 1, x_590); -x_593 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_593, 0, x_592); -lean_ctor_set(x_593, 1, x_569); -x_594 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_594, 0, x_593); -lean_ctor_set(x_594, 1, x_584); -if (lean_is_scalar(x_576)) { - x_595 = lean_alloc_ctor(0, 2, 0); -} else { - x_595 = x_576; -} -lean_ctor_set(x_595, 0, x_594); -lean_ctor_set(x_595, 1, x_575); -return x_595; -} -} -else -{ -lean_object* x_599; lean_object* x_600; lean_object* x_601; lean_object* x_602; -lean_dec(x_570); -lean_dec(x_14); -x_599 = lean_ctor_get(x_573, 0); -lean_inc(x_599); -x_600 = lean_ctor_get(x_573, 1); -lean_inc(x_600); -if (lean_is_exclusive(x_573)) { - lean_ctor_release(x_573, 0); - lean_ctor_release(x_573, 1); - x_601 = x_573; -} else { - lean_dec_ref(x_573); - x_601 = lean_box(0); -} -if (lean_is_scalar(x_601)) { - x_602 = lean_alloc_ctor(1, 2, 0); -} else { - x_602 = x_601; -} -lean_ctor_set(x_602, 0, x_599); -lean_ctor_set(x_602, 1, x_600); -return x_602; -} -} -else -{ -if (lean_obj_tag(x_573) == 0) -{ -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; -x_603 = lean_ctor_get(x_573, 0); -lean_inc(x_603); -x_604 = lean_ctor_get(x_573, 1); -lean_inc(x_604); -if (lean_is_exclusive(x_573)) { - lean_ctor_release(x_573, 0); - lean_ctor_release(x_573, 1); - x_605 = x_573; -} else { - lean_dec_ref(x_573); - x_605 = lean_box(0); -} -x_606 = l_Lean_ppGoal___closed__6; -x_607 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_607, 0, x_570); -lean_ctor_set(x_607, 1, x_606); -x_608 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1; -x_609 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_609, 0, x_607); -lean_ctor_set(x_609, 1, x_608); -x_610 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4; -x_611 = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(x_611, 0, x_610); -lean_ctor_set(x_611, 1, x_603); -x_612 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_612, 0, x_609); -lean_ctor_set(x_612, 1, x_611); -x_613 = lean_ctor_get(x_14, 0); -lean_inc(x_613); -lean_dec(x_14); -if (lean_obj_tag(x_613) == 0) -{ -lean_object* x_625; -lean_dec(x_605); -x_625 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_625, 0, x_612); -lean_ctor_set(x_625, 1, x_604); -return x_625; -} -else -{ -lean_object* x_626; -x_626 = lean_box(0); -x_614 = x_626; -goto block_624; -} -block_624: -{ -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_dec(x_614); -x_615 = lean_erase_macro_scopes(x_613); -x_616 = l_System_FilePath_dirName___closed__1; -x_617 = l_Lean_Name_toStringWithSep___main(x_616, x_615); -x_618 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_618, 0, x_617); -x_619 = l_Lean_ppGoal___closed__8; -x_620 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_620, 0, x_619); -lean_ctor_set(x_620, 1, x_618); -x_621 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_621, 0, x_620); -lean_ctor_set(x_621, 1, x_569); -x_622 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_622, 0, x_621); -lean_ctor_set(x_622, 1, x_612); -if (lean_is_scalar(x_605)) { - x_623 = lean_alloc_ctor(0, 2, 0); -} else { - x_623 = x_605; -} -lean_ctor_set(x_623, 0, x_622); -lean_ctor_set(x_623, 1, x_604); -return x_623; -} -} -else -{ -lean_object* x_627; lean_object* x_628; lean_object* x_629; lean_object* x_630; -lean_dec(x_570); -lean_dec(x_14); -x_627 = lean_ctor_get(x_573, 0); -lean_inc(x_627); -x_628 = lean_ctor_get(x_573, 1); -lean_inc(x_628); -if (lean_is_exclusive(x_573)) { - lean_ctor_release(x_573, 0); - lean_ctor_release(x_573, 1); - x_629 = x_573; -} else { - lean_dec_ref(x_573); - x_629 = lean_box(0); -} -if (lean_is_scalar(x_629)) { - x_630 = lean_alloc_ctor(1, 2, 0); -} else { - x_630 = x_629; -} -lean_ctor_set(x_630, 0, x_627); -lean_ctor_set(x_630, 1, x_628); -return x_630; -} -} -} -else -{ -if (lean_obj_tag(x_565) == 0) -{ -uint8_t x_631; lean_object* x_632; lean_object* x_633; -lean_dec(x_564); -x_631 = l_Lean_Format_isNil(x_570); -x_632 = lean_ctor_get(x_14, 2); -lean_inc(x_632); -x_633 = l_Lean_ppExpr(x_1, x_632, x_563); -if (x_631 == 0) -{ -if (lean_obj_tag(x_633) == 0) -{ -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; -x_634 = lean_ctor_get(x_633, 0); -lean_inc(x_634); -x_635 = lean_ctor_get(x_633, 1); -lean_inc(x_635); -if (lean_is_exclusive(x_633)) { - lean_ctor_release(x_633, 0); - lean_ctor_release(x_633, 1); - x_636 = x_633; -} else { - lean_dec_ref(x_633); - x_636 = lean_box(0); -} -x_637 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_637, 0, x_570); -lean_ctor_set(x_637, 1, x_569); -x_638 = l_Lean_ppGoal___closed__6; -x_639 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_639, 0, x_637); -lean_ctor_set(x_639, 1, x_638); -x_640 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1; -x_641 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_641, 0, x_639); -lean_ctor_set(x_641, 1, x_640); -x_642 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4; -x_643 = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(x_643, 0, x_642); -lean_ctor_set(x_643, 1, x_634); -x_644 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_644, 0, x_641); -lean_ctor_set(x_644, 1, x_643); -x_645 = lean_ctor_get(x_14, 0); -lean_inc(x_645); -lean_dec(x_14); -if (lean_obj_tag(x_645) == 0) -{ -lean_object* x_657; -lean_dec(x_636); -x_657 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_657, 0, x_644); -lean_ctor_set(x_657, 1, x_635); -return x_657; -} -else -{ -lean_object* x_658; -x_658 = lean_box(0); -x_646 = x_658; -goto block_656; -} -block_656: -{ -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_dec(x_646); -x_647 = lean_erase_macro_scopes(x_645); -x_648 = l_System_FilePath_dirName___closed__1; -x_649 = l_Lean_Name_toStringWithSep___main(x_648, x_647); -x_650 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_650, 0, x_649); -x_651 = l_Lean_ppGoal___closed__8; -x_652 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_652, 0, x_651); -lean_ctor_set(x_652, 1, x_650); -x_653 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_653, 0, x_652); -lean_ctor_set(x_653, 1, x_569); -x_654 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_654, 0, x_653); -lean_ctor_set(x_654, 1, x_644); -if (lean_is_scalar(x_636)) { - x_655 = lean_alloc_ctor(0, 2, 0); -} else { - x_655 = x_636; -} -lean_ctor_set(x_655, 0, x_654); -lean_ctor_set(x_655, 1, x_635); -return x_655; -} -} -else -{ -lean_object* x_659; lean_object* x_660; lean_object* x_661; lean_object* x_662; -lean_dec(x_570); -lean_dec(x_14); -x_659 = lean_ctor_get(x_633, 0); -lean_inc(x_659); -x_660 = lean_ctor_get(x_633, 1); -lean_inc(x_660); -if (lean_is_exclusive(x_633)) { - lean_ctor_release(x_633, 0); - lean_ctor_release(x_633, 1); - x_661 = x_633; -} else { - lean_dec_ref(x_633); - x_661 = lean_box(0); -} -if (lean_is_scalar(x_661)) { - x_662 = lean_alloc_ctor(1, 2, 0); -} else { - x_662 = x_661; -} -lean_ctor_set(x_662, 0, x_659); -lean_ctor_set(x_662, 1, x_660); -return x_662; -} -} -else -{ -if (lean_obj_tag(x_633) == 0) -{ -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_object* x_671; lean_object* x_672; lean_object* x_673; lean_object* x_674; -x_663 = lean_ctor_get(x_633, 0); -lean_inc(x_663); -x_664 = lean_ctor_get(x_633, 1); -lean_inc(x_664); -if (lean_is_exclusive(x_633)) { - lean_ctor_release(x_633, 0); - lean_ctor_release(x_633, 1); - x_665 = x_633; -} else { - lean_dec_ref(x_633); - x_665 = lean_box(0); -} -x_666 = l_Lean_ppGoal___closed__6; -x_667 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_667, 0, x_570); -lean_ctor_set(x_667, 1, x_666); -x_668 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1; -x_669 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_669, 0, x_667); -lean_ctor_set(x_669, 1, x_668); -x_670 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4; -x_671 = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(x_671, 0, x_670); -lean_ctor_set(x_671, 1, x_663); -x_672 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_672, 0, x_669); -lean_ctor_set(x_672, 1, x_671); -x_673 = lean_ctor_get(x_14, 0); -lean_inc(x_673); -lean_dec(x_14); -if (lean_obj_tag(x_673) == 0) -{ -lean_object* x_685; -lean_dec(x_665); -x_685 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_685, 0, x_672); -lean_ctor_set(x_685, 1, x_664); -return x_685; -} -else -{ -lean_object* x_686; -x_686 = lean_box(0); -x_674 = x_686; -goto block_684; -} -block_684: -{ -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_dec(x_674); -x_675 = lean_erase_macro_scopes(x_673); -x_676 = l_System_FilePath_dirName___closed__1; -x_677 = l_Lean_Name_toStringWithSep___main(x_676, x_675); -x_678 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_678, 0, x_677); -x_679 = l_Lean_ppGoal___closed__8; -x_680 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_680, 0, x_679); -lean_ctor_set(x_680, 1, x_678); -x_681 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_681, 0, x_680); -lean_ctor_set(x_681, 1, x_569); -x_682 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_682, 0, x_681); -lean_ctor_set(x_682, 1, x_672); -if (lean_is_scalar(x_665)) { - x_683 = lean_alloc_ctor(0, 2, 0); -} else { - x_683 = x_665; -} -lean_ctor_set(x_683, 0, x_682); -lean_ctor_set(x_683, 1, x_664); -return x_683; -} -} -else -{ -lean_object* x_687; lean_object* x_688; lean_object* x_689; lean_object* x_690; -lean_dec(x_570); -lean_dec(x_14); -x_687 = lean_ctor_get(x_633, 0); -lean_inc(x_687); -x_688 = lean_ctor_get(x_633, 1); -lean_inc(x_688); -if (lean_is_exclusive(x_633)) { - lean_ctor_release(x_633, 0); - lean_ctor_release(x_633, 1); - x_689 = x_633; -} else { - lean_dec_ref(x_633); - x_689 = lean_box(0); -} -if (lean_is_scalar(x_689)) { - x_690 = lean_alloc_ctor(1, 2, 0); -} else { - x_690 = x_689; -} -lean_ctor_set(x_690, 0, x_687); -lean_ctor_set(x_690, 1, x_688); -return x_690; -} -} -} -else -{ -lean_object* x_691; lean_object* x_692; -x_691 = lean_ctor_get(x_565, 0); -lean_inc(x_691); -lean_dec(x_565); -lean_inc(x_1); -x_692 = l_Lean_ppExpr(x_1, x_691, x_563); -if (lean_obj_tag(x_692) == 0) -{ -lean_object* x_693; lean_object* x_694; lean_object* x_695; lean_object* x_696; lean_object* 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; lean_object* x_704; uint8_t x_705; lean_object* x_706; lean_object* x_707; uint8_t x_708; lean_object* x_709; lean_object* x_710; -x_693 = lean_ctor_get(x_692, 0); -lean_inc(x_693); -x_694 = lean_ctor_get(x_692, 1); -lean_inc(x_694); -if (lean_is_exclusive(x_692)) { - lean_ctor_release(x_692, 0); - lean_ctor_release(x_692, 1); - x_695 = x_692; -} else { - lean_dec_ref(x_692); - x_695 = lean_box(0); -} -x_696 = l_List_reverse___rarg(x_564); -x_697 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1; -x_698 = l_Lean_Format_joinSep___main___at_Lean_ppGoal___spec__1(x_696, x_697); -x_699 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__3; -x_700 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_700, 0, x_698); -lean_ctor_set(x_700, 1, x_699); -x_701 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_701, 0, x_569); -lean_ctor_set(x_701, 1, x_693); -x_702 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4; -x_703 = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(x_703, 0, x_702); -lean_ctor_set(x_703, 1, x_701); -x_704 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_704, 0, x_700); -lean_ctor_set(x_704, 1, x_703); -x_705 = 0; -x_706 = lean_alloc_ctor(5, 1, 1); -lean_ctor_set(x_706, 0, x_704); -lean_ctor_set_uint8(x_706, sizeof(void*)*1, x_705); -x_707 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_707, 0, x_570); -lean_ctor_set(x_707, 1, x_706); -x_708 = l_Lean_Format_isNil(x_707); -x_709 = lean_ctor_get(x_14, 2); -lean_inc(x_709); -x_710 = l_Lean_ppExpr(x_1, x_709, x_694); -if (x_708 == 0) -{ -if (lean_obj_tag(x_710) == 0) -{ -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; -x_711 = lean_ctor_get(x_710, 0); -lean_inc(x_711); -x_712 = lean_ctor_get(x_710, 1); -lean_inc(x_712); -if (lean_is_exclusive(x_710)) { - lean_ctor_release(x_710, 0); - lean_ctor_release(x_710, 1); - x_713 = x_710; -} else { - lean_dec_ref(x_710); - x_713 = lean_box(0); -} -x_714 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_714, 0, x_707); -lean_ctor_set(x_714, 1, x_569); -x_715 = l_Lean_ppGoal___closed__6; -x_716 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_716, 0, x_714); -lean_ctor_set(x_716, 1, x_715); -x_717 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_717, 0, x_716); -lean_ctor_set(x_717, 1, x_697); -x_718 = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(x_718, 0, x_702); -lean_ctor_set(x_718, 1, x_711); -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_ctor_get(x_14, 0); -lean_inc(x_720); -lean_dec(x_14); -if (lean_obj_tag(x_720) == 0) -{ -lean_object* x_732; -lean_dec(x_713); -if (lean_is_scalar(x_695)) { - x_732 = lean_alloc_ctor(0, 2, 0); -} else { - x_732 = x_695; -} -lean_ctor_set(x_732, 0, x_719); -lean_ctor_set(x_732, 1, x_712); -return x_732; -} -else -{ -lean_object* x_733; -lean_dec(x_695); -x_733 = lean_box(0); -x_721 = x_733; -goto block_731; -} -block_731: -{ -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_dec(x_721); -x_722 = lean_erase_macro_scopes(x_720); -x_723 = l_System_FilePath_dirName___closed__1; -x_724 = l_Lean_Name_toStringWithSep___main(x_723, x_722); -x_725 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_725, 0, x_724); -x_726 = l_Lean_ppGoal___closed__8; -x_727 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_727, 0, x_726); -lean_ctor_set(x_727, 1, x_725); -x_728 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_728, 0, x_727); -lean_ctor_set(x_728, 1, x_569); -x_729 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_729, 0, x_728); -lean_ctor_set(x_729, 1, x_719); -if (lean_is_scalar(x_713)) { - x_730 = lean_alloc_ctor(0, 2, 0); -} else { - x_730 = x_713; -} -lean_ctor_set(x_730, 0, x_729); -lean_ctor_set(x_730, 1, x_712); -return x_730; -} -} -else -{ -lean_object* x_734; lean_object* x_735; lean_object* x_736; lean_object* x_737; -lean_dec(x_707); -lean_dec(x_695); -lean_dec(x_14); -x_734 = lean_ctor_get(x_710, 0); -lean_inc(x_734); -x_735 = lean_ctor_get(x_710, 1); -lean_inc(x_735); -if (lean_is_exclusive(x_710)) { - lean_ctor_release(x_710, 0); - lean_ctor_release(x_710, 1); - x_736 = x_710; -} else { - lean_dec_ref(x_710); - x_736 = lean_box(0); -} -if (lean_is_scalar(x_736)) { - x_737 = lean_alloc_ctor(1, 2, 0); -} else { - x_737 = x_736; -} -lean_ctor_set(x_737, 0, x_734); -lean_ctor_set(x_737, 1, x_735); -return x_737; -} -} -else -{ -if (lean_obj_tag(x_710) == 0) -{ -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_object* x_746; lean_object* x_747; -x_738 = lean_ctor_get(x_710, 0); -lean_inc(x_738); -x_739 = lean_ctor_get(x_710, 1); -lean_inc(x_739); -if (lean_is_exclusive(x_710)) { - lean_ctor_release(x_710, 0); - lean_ctor_release(x_710, 1); - x_740 = x_710; -} else { - lean_dec_ref(x_710); - x_740 = lean_box(0); -} -x_741 = l_Lean_ppGoal___closed__6; -x_742 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_742, 0, x_707); -lean_ctor_set(x_742, 1, x_741); -x_743 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_743, 0, x_742); -lean_ctor_set(x_743, 1, x_697); -x_744 = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(x_744, 0, x_702); -lean_ctor_set(x_744, 1, x_738); -x_745 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_745, 0, x_743); -lean_ctor_set(x_745, 1, x_744); -x_746 = lean_ctor_get(x_14, 0); -lean_inc(x_746); -lean_dec(x_14); -if (lean_obj_tag(x_746) == 0) -{ -lean_object* x_758; -lean_dec(x_740); -if (lean_is_scalar(x_695)) { - x_758 = lean_alloc_ctor(0, 2, 0); -} else { - x_758 = x_695; -} -lean_ctor_set(x_758, 0, x_745); -lean_ctor_set(x_758, 1, x_739); -return x_758; -} -else -{ -lean_object* x_759; -lean_dec(x_695); -x_759 = lean_box(0); -x_747 = x_759; -goto block_757; -} -block_757: -{ -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_747); -x_748 = lean_erase_macro_scopes(x_746); -x_749 = l_System_FilePath_dirName___closed__1; -x_750 = l_Lean_Name_toStringWithSep___main(x_749, x_748); -x_751 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_751, 0, x_750); -x_752 = l_Lean_ppGoal___closed__8; -x_753 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_753, 0, x_752); -lean_ctor_set(x_753, 1, x_751); -x_754 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_754, 0, x_753); -lean_ctor_set(x_754, 1, x_569); -x_755 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_755, 0, x_754); -lean_ctor_set(x_755, 1, x_745); -if (lean_is_scalar(x_740)) { - x_756 = lean_alloc_ctor(0, 2, 0); -} else { - x_756 = x_740; -} -lean_ctor_set(x_756, 0, x_755); -lean_ctor_set(x_756, 1, x_739); -return x_756; -} -} -else -{ -lean_object* x_760; lean_object* x_761; lean_object* x_762; lean_object* x_763; -lean_dec(x_707); -lean_dec(x_695); -lean_dec(x_14); -x_760 = lean_ctor_get(x_710, 0); -lean_inc(x_760); -x_761 = lean_ctor_get(x_710, 1); -lean_inc(x_761); -if (lean_is_exclusive(x_710)) { - lean_ctor_release(x_710, 0); - lean_ctor_release(x_710, 1); - x_762 = x_710; -} else { - lean_dec_ref(x_710); - x_762 = lean_box(0); -} -if (lean_is_scalar(x_762)) { - x_763 = lean_alloc_ctor(1, 2, 0); -} else { - x_763 = x_762; -} -lean_ctor_set(x_763, 0, x_760); -lean_ctor_set(x_763, 1, x_761); -return x_763; -} -} -} -else -{ -lean_object* x_764; lean_object* x_765; lean_object* x_766; lean_object* x_767; -lean_dec(x_570); -lean_dec(x_564); -lean_dec(x_1); -lean_dec(x_14); -x_764 = lean_ctor_get(x_692, 0); -lean_inc(x_764); -x_765 = lean_ctor_get(x_692, 1); -lean_inc(x_765); -if (lean_is_exclusive(x_692)) { - lean_ctor_release(x_692, 0); - lean_ctor_release(x_692, 1); - x_766 = x_692; -} else { - lean_dec_ref(x_692); - x_766 = lean_box(0); -} -if (lean_is_scalar(x_766)) { - x_767 = lean_alloc_ctor(1, 2, 0); -} else { - x_767 = x_766; -} -lean_ctor_set(x_767, 0, x_764); -lean_ctor_set(x_767, 1, x_765); -return x_767; -} -} -} -} -else -{ -if (lean_obj_tag(x_564) == 0) -{ -lean_object* x_768; lean_object* x_769; -lean_dec(x_565); -x_768 = lean_ctor_get(x_14, 2); -lean_inc(x_768); -x_769 = l_Lean_ppExpr(x_1, x_768, x_563); -if (lean_obj_tag(x_769) == 0) -{ -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; lean_object* x_780; lean_object* x_781; -x_770 = lean_ctor_get(x_769, 0); -lean_inc(x_770); -x_771 = lean_ctor_get(x_769, 1); -lean_inc(x_771); -if (lean_is_exclusive(x_769)) { - lean_ctor_release(x_769, 0); - lean_ctor_release(x_769, 1); - x_772 = x_769; -} else { - lean_dec_ref(x_769); - x_772 = lean_box(0); -} -x_773 = l_Lean_ppGoal___closed__6; -x_774 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_774, 0, x_566); -lean_ctor_set(x_774, 1, x_773); -x_775 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1; -x_776 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_776, 0, x_774); -lean_ctor_set(x_776, 1, x_775); -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_770); -x_779 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_779, 0, x_776); -lean_ctor_set(x_779, 1, x_778); -x_780 = lean_ctor_get(x_14, 0); -lean_inc(x_780); -lean_dec(x_14); -if (lean_obj_tag(x_780) == 0) -{ -lean_object* x_793; -lean_dec(x_772); -x_793 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_793, 0, x_779); -lean_ctor_set(x_793, 1, x_771); -return x_793; -} -else -{ -lean_object* x_794; -x_794 = lean_box(0); -x_781 = x_794; -goto block_792; -} -block_792: -{ -lean_object* x_782; lean_object* 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_dec(x_781); -x_782 = lean_erase_macro_scopes(x_780); -x_783 = l_System_FilePath_dirName___closed__1; -x_784 = l_Lean_Name_toStringWithSep___main(x_783, x_782); -x_785 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_785, 0, x_784); -x_786 = l_Lean_ppGoal___closed__8; -x_787 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_787, 0, x_786); -lean_ctor_set(x_787, 1, x_785); -x_788 = lean_box(1); -x_789 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_789, 0, x_787); -lean_ctor_set(x_789, 1, x_788); -x_790 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_790, 0, x_789); -lean_ctor_set(x_790, 1, x_779); -if (lean_is_scalar(x_772)) { - x_791 = lean_alloc_ctor(0, 2, 0); -} else { - x_791 = x_772; -} -lean_ctor_set(x_791, 0, x_790); -lean_ctor_set(x_791, 1, x_771); -return x_791; -} -} -else -{ -lean_object* x_795; lean_object* x_796; lean_object* x_797; lean_object* x_798; -lean_dec(x_566); -lean_dec(x_14); -x_795 = lean_ctor_get(x_769, 0); -lean_inc(x_795); -x_796 = lean_ctor_get(x_769, 1); -lean_inc(x_796); -if (lean_is_exclusive(x_769)) { - lean_ctor_release(x_769, 0); - lean_ctor_release(x_769, 1); - x_797 = x_769; -} else { - lean_dec_ref(x_769); - x_797 = lean_box(0); -} -if (lean_is_scalar(x_797)) { - x_798 = lean_alloc_ctor(1, 2, 0); -} else { - x_798 = x_797; -} -lean_ctor_set(x_798, 0, x_795); -lean_ctor_set(x_798, 1, x_796); -return x_798; -} -} -else -{ -if (lean_obj_tag(x_565) == 0) -{ -lean_object* x_799; lean_object* x_800; -lean_dec(x_564); -x_799 = lean_ctor_get(x_14, 2); -lean_inc(x_799); -x_800 = l_Lean_ppExpr(x_1, x_799, x_563); -if (lean_obj_tag(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; lean_object* x_808; lean_object* x_809; lean_object* x_810; lean_object* x_811; lean_object* x_812; -x_801 = lean_ctor_get(x_800, 0); -lean_inc(x_801); -x_802 = lean_ctor_get(x_800, 1); -lean_inc(x_802); -if (lean_is_exclusive(x_800)) { - lean_ctor_release(x_800, 0); - lean_ctor_release(x_800, 1); - x_803 = x_800; -} else { - lean_dec_ref(x_800); - x_803 = lean_box(0); -} -x_804 = l_Lean_ppGoal___closed__6; -x_805 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_805, 0, x_566); -lean_ctor_set(x_805, 1, x_804); -x_806 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1; -x_807 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_807, 0, x_805); -lean_ctor_set(x_807, 1, x_806); -x_808 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4; -x_809 = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(x_809, 0, x_808); -lean_ctor_set(x_809, 1, x_801); -x_810 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_810, 0, x_807); -lean_ctor_set(x_810, 1, x_809); -x_811 = lean_ctor_get(x_14, 0); -lean_inc(x_811); -lean_dec(x_14); -if (lean_obj_tag(x_811) == 0) -{ -lean_object* x_824; -lean_dec(x_803); -x_824 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_824, 0, x_810); -lean_ctor_set(x_824, 1, x_802); -return x_824; -} -else -{ -lean_object* x_825; -x_825 = lean_box(0); -x_812 = x_825; -goto block_823; -} -block_823: -{ -lean_object* 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_821; lean_object* x_822; -lean_dec(x_812); -x_813 = lean_erase_macro_scopes(x_811); -x_814 = l_System_FilePath_dirName___closed__1; -x_815 = l_Lean_Name_toStringWithSep___main(x_814, x_813); -x_816 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_816, 0, x_815); -x_817 = l_Lean_ppGoal___closed__8; -x_818 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_818, 0, x_817); -lean_ctor_set(x_818, 1, x_816); -x_819 = lean_box(1); -x_820 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_820, 0, x_818); -lean_ctor_set(x_820, 1, x_819); -x_821 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_821, 0, x_820); -lean_ctor_set(x_821, 1, x_810); -if (lean_is_scalar(x_803)) { - x_822 = lean_alloc_ctor(0, 2, 0); -} else { - x_822 = x_803; -} -lean_ctor_set(x_822, 0, x_821); -lean_ctor_set(x_822, 1, x_802); -return x_822; -} -} -else -{ -lean_object* x_826; lean_object* x_827; lean_object* x_828; lean_object* x_829; -lean_dec(x_566); -lean_dec(x_14); -x_826 = lean_ctor_get(x_800, 0); -lean_inc(x_826); -x_827 = lean_ctor_get(x_800, 1); -lean_inc(x_827); -if (lean_is_exclusive(x_800)) { - lean_ctor_release(x_800, 0); - lean_ctor_release(x_800, 1); - x_828 = x_800; -} else { - lean_dec_ref(x_800); - x_828 = lean_box(0); -} -if (lean_is_scalar(x_828)) { - x_829 = lean_alloc_ctor(1, 2, 0); -} else { - x_829 = x_828; -} -lean_ctor_set(x_829, 0, x_826); -lean_ctor_set(x_829, 1, x_827); -return x_829; -} -} -else -{ -lean_object* x_830; lean_object* x_831; -x_830 = lean_ctor_get(x_565, 0); -lean_inc(x_830); -lean_dec(x_565); -lean_inc(x_1); -x_831 = l_Lean_ppExpr(x_1, x_830, x_563); -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; uint8_t x_848; lean_object* x_849; lean_object* x_850; -x_832 = lean_ctor_get(x_831, 0); -lean_inc(x_832); -x_833 = lean_ctor_get(x_831, 1); -lean_inc(x_833); -if (lean_is_exclusive(x_831)) { - lean_ctor_release(x_831, 0); - lean_ctor_release(x_831, 1); - x_834 = x_831; -} else { - lean_dec_ref(x_831); - x_834 = lean_box(0); -} -x_835 = l_List_reverse___rarg(x_564); -x_836 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1; -x_837 = l_Lean_Format_joinSep___main___at_Lean_ppGoal___spec__1(x_835, x_836); -x_838 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__3; -x_839 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_839, 0, x_837); -lean_ctor_set(x_839, 1, x_838); -x_840 = lean_box(1); -x_841 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_841, 0, x_840); -lean_ctor_set(x_841, 1, x_832); -x_842 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4; -x_843 = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(x_843, 0, x_842); -lean_ctor_set(x_843, 1, x_841); -x_844 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_844, 0, x_839); -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_566); -lean_ctor_set(x_847, 1, x_846); -x_848 = l_Lean_Format_isNil(x_847); -x_849 = lean_ctor_get(x_14, 2); -lean_inc(x_849); -x_850 = l_Lean_ppExpr(x_1, x_849, x_833); -if (x_848 == 0) -{ -if (lean_obj_tag(x_850) == 0) -{ -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; lean_object* x_861; -x_851 = lean_ctor_get(x_850, 0); -lean_inc(x_851); -x_852 = lean_ctor_get(x_850, 1); -lean_inc(x_852); -if (lean_is_exclusive(x_850)) { - lean_ctor_release(x_850, 0); - lean_ctor_release(x_850, 1); - x_853 = x_850; -} else { - lean_dec_ref(x_850); - x_853 = lean_box(0); -} -x_854 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_854, 0, x_847); -lean_ctor_set(x_854, 1, x_840); -x_855 = l_Lean_ppGoal___closed__6; -x_856 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_856, 0, x_854); -lean_ctor_set(x_856, 1, x_855); -x_857 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_857, 0, x_856); -lean_ctor_set(x_857, 1, x_836); -x_858 = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(x_858, 0, x_842); -lean_ctor_set(x_858, 1, x_851); -x_859 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_859, 0, x_857); -lean_ctor_set(x_859, 1, x_858); -x_860 = lean_ctor_get(x_14, 0); -lean_inc(x_860); -lean_dec(x_14); -if (lean_obj_tag(x_860) == 0) -{ -lean_object* x_872; -lean_dec(x_853); -if (lean_is_scalar(x_834)) { - x_872 = lean_alloc_ctor(0, 2, 0); -} else { - x_872 = x_834; -} -lean_ctor_set(x_872, 0, x_859); -lean_ctor_set(x_872, 1, x_852); -return x_872; -} -else -{ -lean_object* x_873; -lean_dec(x_834); -x_873 = lean_box(0); -x_861 = x_873; -goto block_871; -} -block_871: -{ -lean_object* x_862; 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_dec(x_861); -x_862 = lean_erase_macro_scopes(x_860); -x_863 = l_System_FilePath_dirName___closed__1; -x_864 = l_Lean_Name_toStringWithSep___main(x_863, x_862); -x_865 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_865, 0, x_864); -x_866 = l_Lean_ppGoal___closed__8; -x_867 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_867, 0, x_866); -lean_ctor_set(x_867, 1, x_865); -x_868 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_868, 0, x_867); -lean_ctor_set(x_868, 1, x_840); -x_869 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_869, 0, x_868); -lean_ctor_set(x_869, 1, x_859); -if (lean_is_scalar(x_853)) { - x_870 = lean_alloc_ctor(0, 2, 0); -} else { - x_870 = x_853; -} -lean_ctor_set(x_870, 0, x_869); -lean_ctor_set(x_870, 1, x_852); -return x_870; -} -} -else -{ -lean_object* x_874; lean_object* x_875; lean_object* x_876; lean_object* x_877; -lean_dec(x_847); -lean_dec(x_834); -lean_dec(x_14); -x_874 = lean_ctor_get(x_850, 0); -lean_inc(x_874); -x_875 = lean_ctor_get(x_850, 1); -lean_inc(x_875); -if (lean_is_exclusive(x_850)) { - lean_ctor_release(x_850, 0); - lean_ctor_release(x_850, 1); - x_876 = x_850; -} else { - lean_dec_ref(x_850); - x_876 = lean_box(0); -} -if (lean_is_scalar(x_876)) { - x_877 = lean_alloc_ctor(1, 2, 0); -} else { - x_877 = x_876; -} -lean_ctor_set(x_877, 0, x_874); -lean_ctor_set(x_877, 1, x_875); -return x_877; -} -} -else -{ -if (lean_obj_tag(x_850) == 0) -{ -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; -x_878 = lean_ctor_get(x_850, 0); -lean_inc(x_878); -x_879 = lean_ctor_get(x_850, 1); -lean_inc(x_879); -if (lean_is_exclusive(x_850)) { - lean_ctor_release(x_850, 0); - lean_ctor_release(x_850, 1); - x_880 = x_850; -} else { - lean_dec_ref(x_850); - x_880 = lean_box(0); -} -x_881 = l_Lean_ppGoal___closed__6; -x_882 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_882, 0, x_847); -lean_ctor_set(x_882, 1, x_881); -x_883 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_883, 0, x_882); -lean_ctor_set(x_883, 1, x_836); -x_884 = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(x_884, 0, x_842); -lean_ctor_set(x_884, 1, x_878); -x_885 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_885, 0, x_883); -lean_ctor_set(x_885, 1, x_884); -x_886 = lean_ctor_get(x_14, 0); -lean_inc(x_886); -lean_dec(x_14); -if (lean_obj_tag(x_886) == 0) -{ -lean_object* x_898; -lean_dec(x_880); -if (lean_is_scalar(x_834)) { - x_898 = lean_alloc_ctor(0, 2, 0); -} else { - x_898 = x_834; -} -lean_ctor_set(x_898, 0, x_885); -lean_ctor_set(x_898, 1, x_879); -return x_898; -} -else -{ -lean_object* x_899; -lean_dec(x_834); -x_899 = lean_box(0); -x_887 = x_899; -goto block_897; -} -block_897: -{ -lean_object* x_888; lean_object* x_889; lean_object* x_890; lean_object* x_891; lean_object* x_892; lean_object* x_893; lean_object* x_894; lean_object* x_895; lean_object* x_896; -lean_dec(x_887); -x_888 = lean_erase_macro_scopes(x_886); -x_889 = l_System_FilePath_dirName___closed__1; -x_890 = l_Lean_Name_toStringWithSep___main(x_889, x_888); -x_891 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_891, 0, x_890); -x_892 = l_Lean_ppGoal___closed__8; -x_893 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_893, 0, x_892); -lean_ctor_set(x_893, 1, x_891); -x_894 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_894, 0, x_893); -lean_ctor_set(x_894, 1, x_840); -x_895 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_895, 0, x_894); -lean_ctor_set(x_895, 1, x_885); -if (lean_is_scalar(x_880)) { - x_896 = lean_alloc_ctor(0, 2, 0); -} else { - x_896 = x_880; -} -lean_ctor_set(x_896, 0, x_895); -lean_ctor_set(x_896, 1, x_879); -return x_896; -} -} -else -{ -lean_object* x_900; lean_object* x_901; lean_object* x_902; lean_object* x_903; -lean_dec(x_847); -lean_dec(x_834); -lean_dec(x_14); -x_900 = lean_ctor_get(x_850, 0); -lean_inc(x_900); -x_901 = lean_ctor_get(x_850, 1); -lean_inc(x_901); -if (lean_is_exclusive(x_850)) { - lean_ctor_release(x_850, 0); - lean_ctor_release(x_850, 1); - x_902 = x_850; -} else { - lean_dec_ref(x_850); - x_902 = lean_box(0); -} -if (lean_is_scalar(x_902)) { - x_903 = lean_alloc_ctor(1, 2, 0); -} else { - x_903 = x_902; -} -lean_ctor_set(x_903, 0, x_900); -lean_ctor_set(x_903, 1, x_901); -return x_903; -} -} -} -else -{ -lean_object* x_904; lean_object* x_905; lean_object* x_906; lean_object* x_907; -lean_dec(x_566); -lean_dec(x_564); -lean_dec(x_1); -lean_dec(x_14); -x_904 = lean_ctor_get(x_831, 0); -lean_inc(x_904); -x_905 = lean_ctor_get(x_831, 1); -lean_inc(x_905); -if (lean_is_exclusive(x_831)) { - lean_ctor_release(x_831, 0); - lean_ctor_release(x_831, 1); - x_906 = x_831; -} else { - lean_dec_ref(x_831); - x_906 = lean_box(0); -} -if (lean_is_scalar(x_906)) { - x_907 = lean_alloc_ctor(1, 2, 0); -} else { - x_907 = x_906; -} -lean_ctor_set(x_907, 0, x_904); -lean_ctor_set(x_907, 1, x_905); -return x_907; -} -} -} -} -} -else -{ -uint8_t x_908; lean_object* x_909; lean_object* x_910; -lean_dec(x_565); -lean_dec(x_564); -x_908 = l_Lean_Format_isNil(x_566); -x_909 = lean_ctor_get(x_14, 2); -lean_inc(x_909); -x_910 = l_Lean_ppExpr(x_1, x_909, x_563); -if (x_908 == 0) -{ -if (lean_obj_tag(x_910) == 0) -{ -lean_object* x_911; lean_object* x_912; lean_object* x_913; lean_object* x_914; 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; -x_911 = lean_ctor_get(x_910, 0); -lean_inc(x_911); -x_912 = lean_ctor_get(x_910, 1); -lean_inc(x_912); -if (lean_is_exclusive(x_910)) { - lean_ctor_release(x_910, 0); - lean_ctor_release(x_910, 1); - x_913 = x_910; -} else { - lean_dec_ref(x_910); - x_913 = lean_box(0); -} -x_914 = lean_box(1); -x_915 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_915, 0, x_566); -lean_ctor_set(x_915, 1, x_914); -x_916 = l_Lean_ppGoal___closed__6; -x_917 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_917, 0, x_915); -lean_ctor_set(x_917, 1, x_916); -x_918 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1; -x_919 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_919, 0, x_917); -lean_ctor_set(x_919, 1, x_918); -x_920 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4; -x_921 = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(x_921, 0, x_920); -lean_ctor_set(x_921, 1, x_911); -x_922 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_922, 0, x_919); -lean_ctor_set(x_922, 1, x_921); -x_923 = lean_ctor_get(x_14, 0); -lean_inc(x_923); -lean_dec(x_14); -if (lean_obj_tag(x_923) == 0) -{ -lean_object* x_935; -lean_dec(x_913); -x_935 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_935, 0, x_922); -lean_ctor_set(x_935, 1, x_912); -return x_935; -} -else -{ -lean_object* x_936; -x_936 = lean_box(0); -x_924 = x_936; -goto block_934; -} -block_934: -{ -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_dec(x_924); -x_925 = lean_erase_macro_scopes(x_923); -x_926 = l_System_FilePath_dirName___closed__1; -x_927 = l_Lean_Name_toStringWithSep___main(x_926, x_925); -x_928 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_928, 0, x_927); -x_929 = l_Lean_ppGoal___closed__8; -x_930 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_930, 0, x_929); -lean_ctor_set(x_930, 1, x_928); -x_931 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_931, 0, x_930); -lean_ctor_set(x_931, 1, x_914); -x_932 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_932, 0, x_931); -lean_ctor_set(x_932, 1, x_922); -if (lean_is_scalar(x_913)) { - x_933 = lean_alloc_ctor(0, 2, 0); -} else { - x_933 = x_913; -} -lean_ctor_set(x_933, 0, x_932); -lean_ctor_set(x_933, 1, x_912); -return x_933; -} -} -else -{ -lean_object* x_937; lean_object* x_938; lean_object* x_939; lean_object* x_940; -lean_dec(x_566); -lean_dec(x_14); -x_937 = lean_ctor_get(x_910, 0); -lean_inc(x_937); -x_938 = lean_ctor_get(x_910, 1); -lean_inc(x_938); -if (lean_is_exclusive(x_910)) { - lean_ctor_release(x_910, 0); - lean_ctor_release(x_910, 1); - x_939 = x_910; -} else { - lean_dec_ref(x_910); - x_939 = lean_box(0); -} -if (lean_is_scalar(x_939)) { - x_940 = lean_alloc_ctor(1, 2, 0); -} else { - x_940 = x_939; -} -lean_ctor_set(x_940, 0, x_937); -lean_ctor_set(x_940, 1, x_938); -return x_940; -} -} -else -{ -if (lean_obj_tag(x_910) == 0) -{ -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_object* x_948; lean_object* x_949; lean_object* x_950; lean_object* x_951; lean_object* x_952; -x_941 = lean_ctor_get(x_910, 0); -lean_inc(x_941); -x_942 = lean_ctor_get(x_910, 1); -lean_inc(x_942); -if (lean_is_exclusive(x_910)) { - lean_ctor_release(x_910, 0); - lean_ctor_release(x_910, 1); - x_943 = x_910; -} else { - lean_dec_ref(x_910); - x_943 = lean_box(0); -} -x_944 = l_Lean_ppGoal___closed__6; -x_945 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_945, 0, x_566); -lean_ctor_set(x_945, 1, x_944); -x_946 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1; -x_947 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_947, 0, x_945); -lean_ctor_set(x_947, 1, x_946); -x_948 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4; -x_949 = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(x_949, 0, x_948); -lean_ctor_set(x_949, 1, x_941); -x_950 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_950, 0, x_947); -lean_ctor_set(x_950, 1, x_949); -x_951 = lean_ctor_get(x_14, 0); -lean_inc(x_951); -lean_dec(x_14); -if (lean_obj_tag(x_951) == 0) -{ -lean_object* x_964; -lean_dec(x_943); -x_964 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_964, 0, x_950); -lean_ctor_set(x_964, 1, x_942); -return x_964; -} -else -{ -lean_object* x_965; -x_965 = lean_box(0); -x_952 = x_965; -goto block_963; -} -block_963: -{ -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_dec(x_952); -x_953 = lean_erase_macro_scopes(x_951); -x_954 = l_System_FilePath_dirName___closed__1; -x_955 = l_Lean_Name_toStringWithSep___main(x_954, x_953); -x_956 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_956, 0, x_955); -x_957 = l_Lean_ppGoal___closed__8; -x_958 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_958, 0, x_957); -lean_ctor_set(x_958, 1, x_956); -x_959 = lean_box(1); -x_960 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_960, 0, x_958); -lean_ctor_set(x_960, 1, x_959); -x_961 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_961, 0, x_960); -lean_ctor_set(x_961, 1, x_950); -if (lean_is_scalar(x_943)) { - x_962 = lean_alloc_ctor(0, 2, 0); -} else { - x_962 = x_943; -} -lean_ctor_set(x_962, 0, x_961); -lean_ctor_set(x_962, 1, x_942); -return x_962; -} -} -else -{ -lean_object* x_966; lean_object* x_967; lean_object* x_968; lean_object* x_969; -lean_dec(x_566); -lean_dec(x_14); -x_966 = lean_ctor_get(x_910, 0); -lean_inc(x_966); -x_967 = lean_ctor_get(x_910, 1); -lean_inc(x_967); -if (lean_is_exclusive(x_910)) { - lean_ctor_release(x_910, 0); - lean_ctor_release(x_910, 1); - x_968 = x_910; -} else { - lean_dec_ref(x_910); - 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); -return x_969; -} -} -} -} -} -else -{ -uint8_t x_970; -lean_dec(x_1); -lean_dec(x_14); -x_970 = !lean_is_exclusive(x_22); -if (x_970 == 0) -{ -return x_22; -} -else -{ -lean_object* x_971; lean_object* x_972; lean_object* x_973; -x_971 = lean_ctor_get(x_22, 0); -x_972 = lean_ctor_get(x_22, 1); -lean_inc(x_972); -lean_inc(x_971); -lean_dec(x_22); -x_973 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_973, 0, x_971); -lean_ctor_set(x_973, 1, x_972); -return x_973; -} -} -} -} -else -{ -lean_object* x_974; lean_object* x_975; lean_object* x_976; lean_object* x_977; lean_object* x_978; lean_object* x_979; -x_974 = lean_ctor_get(x_1, 0); -x_975 = lean_ctor_get(x_1, 1); -x_976 = lean_ctor_get(x_1, 3); -x_977 = lean_ctor_get(x_1, 4); -x_978 = lean_ctor_get(x_1, 5); -lean_inc(x_978); -lean_inc(x_977); -lean_inc(x_976); -lean_inc(x_975); -lean_inc(x_974); -lean_dec(x_1); -lean_inc(x_975); -x_979 = lean_metavar_ctx_find_decl(x_975, x_2); -if (lean_obj_tag(x_979) == 0) -{ -lean_object* x_980; lean_object* x_981; -lean_dec(x_978); -lean_dec(x_977); -lean_dec(x_976); -lean_dec(x_975); -lean_dec(x_974); -x_980 = l_Lean_ppGoal___closed__2; -x_981 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_981, 0, x_980); -lean_ctor_set(x_981, 1, x_3); -return x_981; -} -else -{ -lean_object* x_982; uint8_t x_983; lean_object* x_984; lean_object* x_985; lean_object* x_986; lean_object* x_987; lean_object* x_988; lean_object* x_989; lean_object* x_990; lean_object* x_991; -x_982 = lean_ctor_get(x_979, 0); -lean_inc(x_982); -lean_dec(x_979); -x_983 = l_Lean_getAuxDeclsOption(x_976); -x_984 = lean_ctor_get(x_982, 1); -lean_inc(x_984); -x_985 = lean_box(0); -lean_inc(x_976); -x_986 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_986, 0, x_976); -lean_ctor_set(x_986, 1, x_985); -lean_ctor_set(x_986, 2, x_985); -x_987 = l_Lean_LocalContext_sanitizeNames(x_984, x_986); -x_988 = lean_ctor_get(x_987, 0); -lean_inc(x_988); -lean_dec(x_987); -lean_inc(x_988); -lean_inc(x_975); -x_989 = lean_alloc_ctor(0, 6, 0); -lean_ctor_set(x_989, 0, x_974); -lean_ctor_set(x_989, 1, x_975); -lean_ctor_set(x_989, 2, x_988); -lean_ctor_set(x_989, 3, x_976); -lean_ctor_set(x_989, 4, x_977); -lean_ctor_set(x_989, 5, x_978); -x_990 = l_Lean_ppGoal___closed__4; -lean_inc(x_989); -x_991 = l_Lean_LocalContext_foldlM___at_Lean_ppGoal___spec__2(x_975, x_983, x_989, x_988, x_990, x_3); -lean_dec(x_988); -if (lean_obj_tag(x_991) == 0) -{ -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; uint8_t x_999; -x_992 = lean_ctor_get(x_991, 0); -lean_inc(x_992); -x_993 = lean_ctor_get(x_992, 1); -lean_inc(x_993); -x_994 = lean_ctor_get(x_991, 1); -lean_inc(x_994); -if (lean_is_exclusive(x_991)) { - lean_ctor_release(x_991, 0); - lean_ctor_release(x_991, 1); - x_995 = x_991; -} else { - lean_dec_ref(x_991); - x_995 = lean_box(0); -} -x_996 = lean_ctor_get(x_992, 0); -lean_inc(x_996); -lean_dec(x_992); -x_997 = lean_ctor_get(x_993, 0); -lean_inc(x_997); -x_998 = lean_ctor_get(x_993, 1); -lean_inc(x_998); -lean_dec(x_993); -x_999 = l_List_isEmpty___rarg(x_996); -if (x_999 == 0) -{ -uint8_t x_1000; -x_1000 = l_Lean_Format_isNil(x_998); -if (x_1000 == 0) -{ -lean_object* x_1001; lean_object* x_1002; -x_1001 = lean_box(1); -x_1002 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1002, 0, x_998); -lean_ctor_set(x_1002, 1, x_1001); -if (lean_obj_tag(x_996) == 0) -{ -uint8_t x_1003; lean_object* x_1004; lean_object* x_1005; -lean_dec(x_997); -x_1003 = l_Lean_Format_isNil(x_1002); -x_1004 = lean_ctor_get(x_982, 2); -lean_inc(x_1004); -x_1005 = l_Lean_ppExpr(x_989, x_1004, x_994); -if (x_1003 == 0) -{ -if (lean_obj_tag(x_1005) == 0) -{ -lean_object* x_1006; lean_object* x_1007; lean_object* x_1008; lean_object* x_1009; lean_object* x_1010; lean_object* x_1011; 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; -x_1006 = lean_ctor_get(x_1005, 0); -lean_inc(x_1006); -x_1007 = lean_ctor_get(x_1005, 1); -lean_inc(x_1007); -if (lean_is_exclusive(x_1005)) { - lean_ctor_release(x_1005, 0); - lean_ctor_release(x_1005, 1); - x_1008 = x_1005; -} else { - lean_dec_ref(x_1005); - x_1008 = lean_box(0); -} -x_1009 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1009, 0, x_1002); -lean_ctor_set(x_1009, 1, x_1001); -x_1010 = l_Lean_ppGoal___closed__6; -x_1011 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1011, 0, x_1009); -lean_ctor_set(x_1011, 1, x_1010); -x_1012 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1; -x_1013 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1013, 0, x_1011); -lean_ctor_set(x_1013, 1, x_1012); -x_1014 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4; -x_1015 = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(x_1015, 0, x_1014); -lean_ctor_set(x_1015, 1, x_1006); -x_1016 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1016, 0, x_1013); -lean_ctor_set(x_1016, 1, x_1015); -x_1017 = lean_ctor_get(x_982, 0); -lean_inc(x_1017); -lean_dec(x_982); -if (lean_obj_tag(x_1017) == 0) -{ -lean_object* x_1029; -lean_dec(x_1008); -if (lean_is_scalar(x_995)) { - x_1029 = lean_alloc_ctor(0, 2, 0); -} else { - x_1029 = x_995; -} -lean_ctor_set(x_1029, 0, x_1016); -lean_ctor_set(x_1029, 1, x_1007); -return x_1029; -} -else -{ -lean_object* x_1030; -lean_dec(x_995); -x_1030 = lean_box(0); -x_1018 = x_1030; -goto block_1028; -} -block_1028: -{ -lean_object* x_1019; lean_object* x_1020; lean_object* x_1021; lean_object* x_1022; lean_object* x_1023; lean_object* x_1024; lean_object* x_1025; lean_object* x_1026; lean_object* x_1027; -lean_dec(x_1018); -x_1019 = lean_erase_macro_scopes(x_1017); -x_1020 = l_System_FilePath_dirName___closed__1; -x_1021 = l_Lean_Name_toStringWithSep___main(x_1020, x_1019); -x_1022 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_1022, 0, x_1021); -x_1023 = l_Lean_ppGoal___closed__8; -x_1024 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1024, 0, x_1023); -lean_ctor_set(x_1024, 1, x_1022); -x_1025 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1025, 0, x_1024); -lean_ctor_set(x_1025, 1, x_1001); -x_1026 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1026, 0, x_1025); -lean_ctor_set(x_1026, 1, x_1016); -if (lean_is_scalar(x_1008)) { - x_1027 = lean_alloc_ctor(0, 2, 0); -} else { - x_1027 = x_1008; -} -lean_ctor_set(x_1027, 0, x_1026); -lean_ctor_set(x_1027, 1, x_1007); -return x_1027; -} -} -else -{ -lean_object* x_1031; lean_object* x_1032; lean_object* x_1033; lean_object* x_1034; -lean_dec(x_1002); -lean_dec(x_995); -lean_dec(x_982); -x_1031 = lean_ctor_get(x_1005, 0); -lean_inc(x_1031); -x_1032 = lean_ctor_get(x_1005, 1); -lean_inc(x_1032); -if (lean_is_exclusive(x_1005)) { - lean_ctor_release(x_1005, 0); - lean_ctor_release(x_1005, 1); - x_1033 = x_1005; -} else { - lean_dec_ref(x_1005); - x_1033 = lean_box(0); -} -if (lean_is_scalar(x_1033)) { - x_1034 = lean_alloc_ctor(1, 2, 0); -} else { - x_1034 = x_1033; -} -lean_ctor_set(x_1034, 0, x_1031); -lean_ctor_set(x_1034, 1, x_1032); -return x_1034; -} -} -else -{ -if (lean_obj_tag(x_1005) == 0) -{ -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_object* x_1046; -x_1035 = lean_ctor_get(x_1005, 0); -lean_inc(x_1035); -x_1036 = lean_ctor_get(x_1005, 1); -lean_inc(x_1036); -if (lean_is_exclusive(x_1005)) { - lean_ctor_release(x_1005, 0); - lean_ctor_release(x_1005, 1); - x_1037 = x_1005; -} else { - lean_dec_ref(x_1005); - x_1037 = lean_box(0); -} -x_1038 = l_Lean_ppGoal___closed__6; -x_1039 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1039, 0, x_1002); -lean_ctor_set(x_1039, 1, x_1038); -x_1040 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1; -x_1041 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1041, 0, x_1039); -lean_ctor_set(x_1041, 1, x_1040); -x_1042 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4; -x_1043 = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(x_1043, 0, x_1042); -lean_ctor_set(x_1043, 1, x_1035); -x_1044 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1044, 0, x_1041); -lean_ctor_set(x_1044, 1, x_1043); -x_1045 = lean_ctor_get(x_982, 0); -lean_inc(x_1045); -lean_dec(x_982); -if (lean_obj_tag(x_1045) == 0) -{ -lean_object* x_1057; -lean_dec(x_1037); -if (lean_is_scalar(x_995)) { - x_1057 = lean_alloc_ctor(0, 2, 0); -} else { - x_1057 = x_995; -} -lean_ctor_set(x_1057, 0, x_1044); -lean_ctor_set(x_1057, 1, x_1036); -return x_1057; -} -else -{ -lean_object* x_1058; -lean_dec(x_995); -x_1058 = lean_box(0); -x_1046 = x_1058; -goto block_1056; -} -block_1056: -{ -lean_object* x_1047; lean_object* x_1048; lean_object* x_1049; lean_object* x_1050; lean_object* x_1051; lean_object* x_1052; lean_object* x_1053; lean_object* x_1054; lean_object* x_1055; -lean_dec(x_1046); -x_1047 = lean_erase_macro_scopes(x_1045); -x_1048 = l_System_FilePath_dirName___closed__1; -x_1049 = l_Lean_Name_toStringWithSep___main(x_1048, x_1047); -x_1050 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_1050, 0, x_1049); -x_1051 = l_Lean_ppGoal___closed__8; -x_1052 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1052, 0, x_1051); -lean_ctor_set(x_1052, 1, x_1050); -x_1053 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1053, 0, x_1052); -lean_ctor_set(x_1053, 1, x_1001); -x_1054 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1054, 0, x_1053); -lean_ctor_set(x_1054, 1, x_1044); -if (lean_is_scalar(x_1037)) { - x_1055 = lean_alloc_ctor(0, 2, 0); -} else { - x_1055 = x_1037; -} -lean_ctor_set(x_1055, 0, x_1054); -lean_ctor_set(x_1055, 1, x_1036); -return x_1055; -} -} -else -{ -lean_object* x_1059; lean_object* x_1060; lean_object* x_1061; lean_object* x_1062; -lean_dec(x_1002); -lean_dec(x_995); -lean_dec(x_982); -x_1059 = lean_ctor_get(x_1005, 0); -lean_inc(x_1059); -x_1060 = lean_ctor_get(x_1005, 1); -lean_inc(x_1060); -if (lean_is_exclusive(x_1005)) { - lean_ctor_release(x_1005, 0); - lean_ctor_release(x_1005, 1); - x_1061 = x_1005; -} else { - lean_dec_ref(x_1005); - x_1061 = lean_box(0); -} -if (lean_is_scalar(x_1061)) { - x_1062 = lean_alloc_ctor(1, 2, 0); -} else { - x_1062 = x_1061; -} -lean_ctor_set(x_1062, 0, x_1059); -lean_ctor_set(x_1062, 1, x_1060); -return x_1062; -} -} -} -else -{ -if (lean_obj_tag(x_997) == 0) -{ -uint8_t x_1063; lean_object* x_1064; lean_object* x_1065; -lean_dec(x_996); -x_1063 = l_Lean_Format_isNil(x_1002); -x_1064 = lean_ctor_get(x_982, 2); -lean_inc(x_1064); -x_1065 = l_Lean_ppExpr(x_989, x_1064, x_994); -if (x_1063 == 0) -{ -if (lean_obj_tag(x_1065) == 0) -{ -lean_object* x_1066; lean_object* x_1067; lean_object* x_1068; lean_object* x_1069; lean_object* x_1070; lean_object* x_1071; lean_object* x_1072; lean_object* x_1073; lean_object* x_1074; lean_object* x_1075; lean_object* x_1076; lean_object* x_1077; lean_object* x_1078; -x_1066 = lean_ctor_get(x_1065, 0); -lean_inc(x_1066); -x_1067 = lean_ctor_get(x_1065, 1); -lean_inc(x_1067); -if (lean_is_exclusive(x_1065)) { - lean_ctor_release(x_1065, 0); - lean_ctor_release(x_1065, 1); - x_1068 = x_1065; -} else { - lean_dec_ref(x_1065); - x_1068 = lean_box(0); -} -x_1069 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1069, 0, x_1002); -lean_ctor_set(x_1069, 1, x_1001); -x_1070 = l_Lean_ppGoal___closed__6; -x_1071 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1071, 0, x_1069); -lean_ctor_set(x_1071, 1, x_1070); -x_1072 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1; -x_1073 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1073, 0, x_1071); -lean_ctor_set(x_1073, 1, x_1072); -x_1074 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4; -x_1075 = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(x_1075, 0, x_1074); -lean_ctor_set(x_1075, 1, x_1066); -x_1076 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1076, 0, x_1073); -lean_ctor_set(x_1076, 1, x_1075); -x_1077 = lean_ctor_get(x_982, 0); -lean_inc(x_1077); -lean_dec(x_982); -if (lean_obj_tag(x_1077) == 0) -{ -lean_object* x_1089; -lean_dec(x_1068); -if (lean_is_scalar(x_995)) { - x_1089 = lean_alloc_ctor(0, 2, 0); -} else { - x_1089 = x_995; -} -lean_ctor_set(x_1089, 0, x_1076); -lean_ctor_set(x_1089, 1, x_1067); -return x_1089; -} -else -{ -lean_object* x_1090; -lean_dec(x_995); -x_1090 = lean_box(0); -x_1078 = x_1090; -goto block_1088; -} -block_1088: -{ -lean_object* x_1079; lean_object* x_1080; 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_dec(x_1078); -x_1079 = lean_erase_macro_scopes(x_1077); -x_1080 = l_System_FilePath_dirName___closed__1; -x_1081 = l_Lean_Name_toStringWithSep___main(x_1080, x_1079); -x_1082 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_1082, 0, x_1081); -x_1083 = l_Lean_ppGoal___closed__8; -x_1084 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1084, 0, x_1083); -lean_ctor_set(x_1084, 1, x_1082); -x_1085 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1085, 0, x_1084); -lean_ctor_set(x_1085, 1, x_1001); -x_1086 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1086, 0, x_1085); -lean_ctor_set(x_1086, 1, x_1076); -if (lean_is_scalar(x_1068)) { - x_1087 = lean_alloc_ctor(0, 2, 0); -} else { - x_1087 = x_1068; -} -lean_ctor_set(x_1087, 0, x_1086); -lean_ctor_set(x_1087, 1, x_1067); -return x_1087; -} -} -else -{ -lean_object* x_1091; lean_object* x_1092; lean_object* x_1093; lean_object* x_1094; -lean_dec(x_1002); -lean_dec(x_995); -lean_dec(x_982); -x_1091 = lean_ctor_get(x_1065, 0); -lean_inc(x_1091); -x_1092 = lean_ctor_get(x_1065, 1); -lean_inc(x_1092); -if (lean_is_exclusive(x_1065)) { - lean_ctor_release(x_1065, 0); - lean_ctor_release(x_1065, 1); - x_1093 = x_1065; -} else { - lean_dec_ref(x_1065); - x_1093 = lean_box(0); -} -if (lean_is_scalar(x_1093)) { - x_1094 = lean_alloc_ctor(1, 2, 0); -} else { - x_1094 = x_1093; -} -lean_ctor_set(x_1094, 0, x_1091); -lean_ctor_set(x_1094, 1, x_1092); -return x_1094; -} -} -else -{ -if (lean_obj_tag(x_1065) == 0) -{ -lean_object* x_1095; lean_object* x_1096; lean_object* x_1097; lean_object* x_1098; lean_object* x_1099; lean_object* x_1100; lean_object* x_1101; lean_object* x_1102; lean_object* x_1103; lean_object* x_1104; lean_object* x_1105; lean_object* x_1106; -x_1095 = lean_ctor_get(x_1065, 0); -lean_inc(x_1095); -x_1096 = lean_ctor_get(x_1065, 1); -lean_inc(x_1096); -if (lean_is_exclusive(x_1065)) { - lean_ctor_release(x_1065, 0); - lean_ctor_release(x_1065, 1); - x_1097 = x_1065; -} else { - lean_dec_ref(x_1065); - x_1097 = lean_box(0); -} -x_1098 = l_Lean_ppGoal___closed__6; -x_1099 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1099, 0, x_1002); -lean_ctor_set(x_1099, 1, x_1098); -x_1100 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1; -x_1101 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1101, 0, x_1099); -lean_ctor_set(x_1101, 1, x_1100); -x_1102 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4; -x_1103 = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(x_1103, 0, x_1102); -lean_ctor_set(x_1103, 1, x_1095); -x_1104 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1104, 0, x_1101); -lean_ctor_set(x_1104, 1, x_1103); -x_1105 = lean_ctor_get(x_982, 0); -lean_inc(x_1105); -lean_dec(x_982); -if (lean_obj_tag(x_1105) == 0) -{ -lean_object* x_1117; -lean_dec(x_1097); -if (lean_is_scalar(x_995)) { - x_1117 = lean_alloc_ctor(0, 2, 0); -} else { - x_1117 = x_995; -} -lean_ctor_set(x_1117, 0, x_1104); -lean_ctor_set(x_1117, 1, x_1096); -return x_1117; -} -else -{ -lean_object* x_1118; -lean_dec(x_995); -x_1118 = lean_box(0); -x_1106 = x_1118; -goto block_1116; -} -block_1116: -{ -lean_object* x_1107; lean_object* x_1108; lean_object* x_1109; lean_object* x_1110; lean_object* x_1111; lean_object* x_1112; lean_object* x_1113; lean_object* x_1114; lean_object* x_1115; -lean_dec(x_1106); -x_1107 = lean_erase_macro_scopes(x_1105); -x_1108 = l_System_FilePath_dirName___closed__1; -x_1109 = l_Lean_Name_toStringWithSep___main(x_1108, x_1107); -x_1110 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_1110, 0, x_1109); -x_1111 = l_Lean_ppGoal___closed__8; -x_1112 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1112, 0, x_1111); -lean_ctor_set(x_1112, 1, x_1110); -x_1113 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1113, 0, x_1112); -lean_ctor_set(x_1113, 1, x_1001); -x_1114 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1114, 0, x_1113); -lean_ctor_set(x_1114, 1, x_1104); -if (lean_is_scalar(x_1097)) { - x_1115 = lean_alloc_ctor(0, 2, 0); -} else { - x_1115 = x_1097; -} -lean_ctor_set(x_1115, 0, x_1114); -lean_ctor_set(x_1115, 1, x_1096); -return x_1115; -} -} -else -{ -lean_object* x_1119; lean_object* x_1120; lean_object* x_1121; lean_object* x_1122; -lean_dec(x_1002); -lean_dec(x_995); -lean_dec(x_982); -x_1119 = lean_ctor_get(x_1065, 0); -lean_inc(x_1119); -x_1120 = lean_ctor_get(x_1065, 1); -lean_inc(x_1120); -if (lean_is_exclusive(x_1065)) { - lean_ctor_release(x_1065, 0); - lean_ctor_release(x_1065, 1); - x_1121 = x_1065; -} else { - lean_dec_ref(x_1065); - x_1121 = lean_box(0); -} -if (lean_is_scalar(x_1121)) { - x_1122 = lean_alloc_ctor(1, 2, 0); -} else { - x_1122 = x_1121; -} -lean_ctor_set(x_1122, 0, x_1119); -lean_ctor_set(x_1122, 1, x_1120); -return x_1122; -} -} -} -else -{ -lean_object* x_1123; lean_object* x_1124; -lean_dec(x_995); -x_1123 = lean_ctor_get(x_997, 0); -lean_inc(x_1123); -lean_dec(x_997); -lean_inc(x_989); -x_1124 = l_Lean_ppExpr(x_989, x_1123, x_994); -if (lean_obj_tag(x_1124) == 0) -{ -lean_object* x_1125; lean_object* x_1126; lean_object* x_1127; lean_object* x_1128; lean_object* x_1129; lean_object* x_1130; lean_object* x_1131; lean_object* x_1132; lean_object* x_1133; lean_object* x_1134; lean_object* x_1135; lean_object* x_1136; uint8_t x_1137; lean_object* x_1138; lean_object* x_1139; uint8_t x_1140; lean_object* x_1141; lean_object* x_1142; -x_1125 = lean_ctor_get(x_1124, 0); -lean_inc(x_1125); -x_1126 = lean_ctor_get(x_1124, 1); -lean_inc(x_1126); -if (lean_is_exclusive(x_1124)) { - lean_ctor_release(x_1124, 0); - lean_ctor_release(x_1124, 1); - x_1127 = x_1124; -} else { - lean_dec_ref(x_1124); - x_1127 = lean_box(0); -} -x_1128 = l_List_reverse___rarg(x_996); -x_1129 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1; -x_1130 = l_Lean_Format_joinSep___main___at_Lean_ppGoal___spec__1(x_1128, x_1129); -x_1131 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__3; -x_1132 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1132, 0, x_1130); -lean_ctor_set(x_1132, 1, x_1131); -x_1133 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1133, 0, x_1001); -lean_ctor_set(x_1133, 1, x_1125); -x_1134 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4; -x_1135 = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(x_1135, 0, x_1134); -lean_ctor_set(x_1135, 1, x_1133); -x_1136 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1136, 0, x_1132); -lean_ctor_set(x_1136, 1, x_1135); -x_1137 = 0; -x_1138 = lean_alloc_ctor(5, 1, 1); -lean_ctor_set(x_1138, 0, x_1136); -lean_ctor_set_uint8(x_1138, sizeof(void*)*1, x_1137); -x_1139 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1139, 0, x_1002); -lean_ctor_set(x_1139, 1, x_1138); -x_1140 = l_Lean_Format_isNil(x_1139); -x_1141 = lean_ctor_get(x_982, 2); -lean_inc(x_1141); -x_1142 = l_Lean_ppExpr(x_989, x_1141, x_1126); -if (x_1140 == 0) -{ -if (lean_obj_tag(x_1142) == 0) -{ -lean_object* x_1143; lean_object* x_1144; lean_object* x_1145; lean_object* x_1146; lean_object* x_1147; lean_object* x_1148; lean_object* x_1149; lean_object* x_1150; lean_object* x_1151; lean_object* x_1152; lean_object* x_1153; -x_1143 = lean_ctor_get(x_1142, 0); -lean_inc(x_1143); -x_1144 = lean_ctor_get(x_1142, 1); -lean_inc(x_1144); -if (lean_is_exclusive(x_1142)) { - lean_ctor_release(x_1142, 0); - lean_ctor_release(x_1142, 1); - x_1145 = x_1142; -} else { - lean_dec_ref(x_1142); - x_1145 = lean_box(0); -} -x_1146 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1146, 0, x_1139); -lean_ctor_set(x_1146, 1, x_1001); -x_1147 = l_Lean_ppGoal___closed__6; -x_1148 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1148, 0, x_1146); -lean_ctor_set(x_1148, 1, x_1147); -x_1149 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1149, 0, x_1148); -lean_ctor_set(x_1149, 1, x_1129); -x_1150 = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(x_1150, 0, x_1134); -lean_ctor_set(x_1150, 1, x_1143); -x_1151 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1151, 0, x_1149); -lean_ctor_set(x_1151, 1, x_1150); -x_1152 = lean_ctor_get(x_982, 0); -lean_inc(x_1152); -lean_dec(x_982); -if (lean_obj_tag(x_1152) == 0) -{ -lean_object* x_1164; -lean_dec(x_1145); -if (lean_is_scalar(x_1127)) { - x_1164 = lean_alloc_ctor(0, 2, 0); -} else { - x_1164 = x_1127; -} -lean_ctor_set(x_1164, 0, x_1151); -lean_ctor_set(x_1164, 1, x_1144); -return x_1164; -} -else -{ -lean_object* x_1165; -lean_dec(x_1127); -x_1165 = lean_box(0); -x_1153 = x_1165; -goto block_1163; -} -block_1163: -{ -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_dec(x_1153); -x_1154 = lean_erase_macro_scopes(x_1152); -x_1155 = l_System_FilePath_dirName___closed__1; -x_1156 = l_Lean_Name_toStringWithSep___main(x_1155, x_1154); -x_1157 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_1157, 0, x_1156); -x_1158 = l_Lean_ppGoal___closed__8; -x_1159 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1159, 0, x_1158); -lean_ctor_set(x_1159, 1, x_1157); -x_1160 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1160, 0, x_1159); -lean_ctor_set(x_1160, 1, x_1001); -x_1161 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1161, 0, x_1160); -lean_ctor_set(x_1161, 1, x_1151); -if (lean_is_scalar(x_1145)) { - x_1162 = lean_alloc_ctor(0, 2, 0); -} else { - x_1162 = x_1145; -} -lean_ctor_set(x_1162, 0, x_1161); -lean_ctor_set(x_1162, 1, x_1144); -return x_1162; -} -} -else -{ -lean_object* x_1166; lean_object* x_1167; lean_object* x_1168; lean_object* x_1169; -lean_dec(x_1139); -lean_dec(x_1127); -lean_dec(x_982); -x_1166 = lean_ctor_get(x_1142, 0); -lean_inc(x_1166); -x_1167 = lean_ctor_get(x_1142, 1); -lean_inc(x_1167); -if (lean_is_exclusive(x_1142)) { - lean_ctor_release(x_1142, 0); - lean_ctor_release(x_1142, 1); - x_1168 = x_1142; -} else { - lean_dec_ref(x_1142); - x_1168 = lean_box(0); -} -if (lean_is_scalar(x_1168)) { - x_1169 = lean_alloc_ctor(1, 2, 0); -} else { - x_1169 = x_1168; -} -lean_ctor_set(x_1169, 0, x_1166); -lean_ctor_set(x_1169, 1, x_1167); -return x_1169; -} -} -else -{ -if (lean_obj_tag(x_1142) == 0) -{ -lean_object* x_1170; lean_object* x_1171; lean_object* x_1172; lean_object* x_1173; lean_object* x_1174; lean_object* x_1175; lean_object* x_1176; lean_object* x_1177; lean_object* x_1178; lean_object* x_1179; -x_1170 = lean_ctor_get(x_1142, 0); -lean_inc(x_1170); -x_1171 = lean_ctor_get(x_1142, 1); -lean_inc(x_1171); -if (lean_is_exclusive(x_1142)) { - lean_ctor_release(x_1142, 0); - lean_ctor_release(x_1142, 1); - x_1172 = x_1142; -} else { - lean_dec_ref(x_1142); - x_1172 = lean_box(0); -} -x_1173 = l_Lean_ppGoal___closed__6; -x_1174 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1174, 0, x_1139); -lean_ctor_set(x_1174, 1, x_1173); -x_1175 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1175, 0, x_1174); -lean_ctor_set(x_1175, 1, x_1129); -x_1176 = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(x_1176, 0, x_1134); -lean_ctor_set(x_1176, 1, x_1170); -x_1177 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1177, 0, x_1175); -lean_ctor_set(x_1177, 1, x_1176); -x_1178 = lean_ctor_get(x_982, 0); -lean_inc(x_1178); -lean_dec(x_982); -if (lean_obj_tag(x_1178) == 0) -{ -lean_object* x_1190; -lean_dec(x_1172); -if (lean_is_scalar(x_1127)) { - x_1190 = lean_alloc_ctor(0, 2, 0); -} else { - x_1190 = x_1127; -} -lean_ctor_set(x_1190, 0, x_1177); -lean_ctor_set(x_1190, 1, x_1171); -return x_1190; -} -else -{ -lean_object* x_1191; -lean_dec(x_1127); -x_1191 = lean_box(0); -x_1179 = x_1191; -goto block_1189; -} -block_1189: -{ -lean_object* x_1180; lean_object* x_1181; lean_object* x_1182; lean_object* x_1183; lean_object* x_1184; lean_object* x_1185; lean_object* x_1186; lean_object* x_1187; lean_object* x_1188; -lean_dec(x_1179); -x_1180 = lean_erase_macro_scopes(x_1178); -x_1181 = l_System_FilePath_dirName___closed__1; -x_1182 = l_Lean_Name_toStringWithSep___main(x_1181, x_1180); -x_1183 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_1183, 0, x_1182); -x_1184 = l_Lean_ppGoal___closed__8; -x_1185 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1185, 0, x_1184); -lean_ctor_set(x_1185, 1, x_1183); -x_1186 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1186, 0, x_1185); -lean_ctor_set(x_1186, 1, x_1001); -x_1187 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1187, 0, x_1186); -lean_ctor_set(x_1187, 1, x_1177); -if (lean_is_scalar(x_1172)) { - x_1188 = lean_alloc_ctor(0, 2, 0); -} else { - x_1188 = x_1172; -} -lean_ctor_set(x_1188, 0, x_1187); -lean_ctor_set(x_1188, 1, x_1171); -return x_1188; -} -} -else -{ -lean_object* x_1192; lean_object* x_1193; lean_object* x_1194; lean_object* x_1195; -lean_dec(x_1139); -lean_dec(x_1127); -lean_dec(x_982); -x_1192 = lean_ctor_get(x_1142, 0); -lean_inc(x_1192); -x_1193 = lean_ctor_get(x_1142, 1); -lean_inc(x_1193); -if (lean_is_exclusive(x_1142)) { - lean_ctor_release(x_1142, 0); - lean_ctor_release(x_1142, 1); - x_1194 = x_1142; -} else { - lean_dec_ref(x_1142); - x_1194 = lean_box(0); -} -if (lean_is_scalar(x_1194)) { - x_1195 = lean_alloc_ctor(1, 2, 0); -} else { - x_1195 = x_1194; -} -lean_ctor_set(x_1195, 0, x_1192); -lean_ctor_set(x_1195, 1, x_1193); -return x_1195; -} -} -} -else -{ -lean_object* x_1196; lean_object* x_1197; lean_object* x_1198; lean_object* x_1199; -lean_dec(x_1002); -lean_dec(x_996); -lean_dec(x_989); -lean_dec(x_982); -x_1196 = lean_ctor_get(x_1124, 0); -lean_inc(x_1196); -x_1197 = lean_ctor_get(x_1124, 1); -lean_inc(x_1197); -if (lean_is_exclusive(x_1124)) { - lean_ctor_release(x_1124, 0); - lean_ctor_release(x_1124, 1); - x_1198 = x_1124; -} else { - lean_dec_ref(x_1124); - x_1198 = lean_box(0); -} -if (lean_is_scalar(x_1198)) { - x_1199 = lean_alloc_ctor(1, 2, 0); -} else { - x_1199 = x_1198; -} -lean_ctor_set(x_1199, 0, x_1196); -lean_ctor_set(x_1199, 1, x_1197); -return x_1199; -} -} -} -} -else -{ -if (lean_obj_tag(x_996) == 0) -{ -lean_object* x_1200; lean_object* x_1201; -lean_dec(x_997); -x_1200 = lean_ctor_get(x_982, 2); -lean_inc(x_1200); -x_1201 = l_Lean_ppExpr(x_989, x_1200, x_994); -if (lean_obj_tag(x_1201) == 0) -{ -lean_object* x_1202; lean_object* x_1203; lean_object* x_1204; lean_object* x_1205; lean_object* x_1206; lean_object* x_1207; lean_object* x_1208; lean_object* x_1209; lean_object* x_1210; lean_object* x_1211; lean_object* x_1212; lean_object* x_1213; -x_1202 = lean_ctor_get(x_1201, 0); -lean_inc(x_1202); -x_1203 = lean_ctor_get(x_1201, 1); -lean_inc(x_1203); -if (lean_is_exclusive(x_1201)) { - lean_ctor_release(x_1201, 0); - lean_ctor_release(x_1201, 1); - x_1204 = x_1201; -} else { - lean_dec_ref(x_1201); - x_1204 = lean_box(0); -} -x_1205 = l_Lean_ppGoal___closed__6; -x_1206 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1206, 0, x_998); -lean_ctor_set(x_1206, 1, x_1205); -x_1207 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1; -x_1208 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1208, 0, x_1206); -lean_ctor_set(x_1208, 1, x_1207); -x_1209 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4; -x_1210 = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(x_1210, 0, x_1209); -lean_ctor_set(x_1210, 1, x_1202); -x_1211 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1211, 0, x_1208); -lean_ctor_set(x_1211, 1, x_1210); -x_1212 = lean_ctor_get(x_982, 0); -lean_inc(x_1212); -lean_dec(x_982); -if (lean_obj_tag(x_1212) == 0) -{ -lean_object* x_1225; -lean_dec(x_1204); -if (lean_is_scalar(x_995)) { - x_1225 = lean_alloc_ctor(0, 2, 0); -} else { - x_1225 = x_995; -} -lean_ctor_set(x_1225, 0, x_1211); -lean_ctor_set(x_1225, 1, x_1203); -return x_1225; -} -else -{ -lean_object* x_1226; -lean_dec(x_995); -x_1226 = lean_box(0); -x_1213 = x_1226; -goto block_1224; -} -block_1224: -{ -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; lean_object* x_1222; lean_object* x_1223; -lean_dec(x_1213); -x_1214 = lean_erase_macro_scopes(x_1212); -x_1215 = l_System_FilePath_dirName___closed__1; -x_1216 = l_Lean_Name_toStringWithSep___main(x_1215, x_1214); -x_1217 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_1217, 0, x_1216); -x_1218 = l_Lean_ppGoal___closed__8; -x_1219 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1219, 0, x_1218); -lean_ctor_set(x_1219, 1, x_1217); -x_1220 = lean_box(1); -x_1221 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1221, 0, x_1219); -lean_ctor_set(x_1221, 1, x_1220); -x_1222 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1222, 0, x_1221); -lean_ctor_set(x_1222, 1, x_1211); -if (lean_is_scalar(x_1204)) { - x_1223 = lean_alloc_ctor(0, 2, 0); -} else { - x_1223 = x_1204; -} -lean_ctor_set(x_1223, 0, x_1222); -lean_ctor_set(x_1223, 1, x_1203); -return x_1223; -} -} -else -{ -lean_object* x_1227; lean_object* x_1228; lean_object* x_1229; lean_object* x_1230; -lean_dec(x_998); -lean_dec(x_995); -lean_dec(x_982); -x_1227 = lean_ctor_get(x_1201, 0); -lean_inc(x_1227); -x_1228 = lean_ctor_get(x_1201, 1); -lean_inc(x_1228); -if (lean_is_exclusive(x_1201)) { - lean_ctor_release(x_1201, 0); - lean_ctor_release(x_1201, 1); - x_1229 = x_1201; -} else { - lean_dec_ref(x_1201); - x_1229 = lean_box(0); -} -if (lean_is_scalar(x_1229)) { - x_1230 = lean_alloc_ctor(1, 2, 0); -} else { - x_1230 = x_1229; -} -lean_ctor_set(x_1230, 0, x_1227); -lean_ctor_set(x_1230, 1, x_1228); -return x_1230; -} -} -else -{ -if (lean_obj_tag(x_997) == 0) -{ -lean_object* x_1231; lean_object* x_1232; -lean_dec(x_996); -x_1231 = lean_ctor_get(x_982, 2); -lean_inc(x_1231); -x_1232 = l_Lean_ppExpr(x_989, x_1231, x_994); -if (lean_obj_tag(x_1232) == 0) -{ -lean_object* x_1233; lean_object* x_1234; lean_object* x_1235; lean_object* x_1236; 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; -x_1233 = lean_ctor_get(x_1232, 0); -lean_inc(x_1233); -x_1234 = lean_ctor_get(x_1232, 1); -lean_inc(x_1234); -if (lean_is_exclusive(x_1232)) { - lean_ctor_release(x_1232, 0); - lean_ctor_release(x_1232, 1); - x_1235 = x_1232; -} else { - lean_dec_ref(x_1232); - x_1235 = lean_box(0); -} -x_1236 = l_Lean_ppGoal___closed__6; -x_1237 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1237, 0, x_998); -lean_ctor_set(x_1237, 1, x_1236); -x_1238 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1; -x_1239 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1239, 0, x_1237); -lean_ctor_set(x_1239, 1, x_1238); -x_1240 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4; -x_1241 = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(x_1241, 0, x_1240); -lean_ctor_set(x_1241, 1, x_1233); -x_1242 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1242, 0, x_1239); -lean_ctor_set(x_1242, 1, x_1241); -x_1243 = lean_ctor_get(x_982, 0); -lean_inc(x_1243); -lean_dec(x_982); -if (lean_obj_tag(x_1243) == 0) -{ -lean_object* x_1256; -lean_dec(x_1235); -if (lean_is_scalar(x_995)) { - x_1256 = lean_alloc_ctor(0, 2, 0); -} else { - x_1256 = x_995; -} -lean_ctor_set(x_1256, 0, x_1242); -lean_ctor_set(x_1256, 1, x_1234); -return x_1256; -} -else -{ -lean_object* x_1257; -lean_dec(x_995); -x_1257 = lean_box(0); -x_1244 = x_1257; -goto block_1255; -} -block_1255: -{ -lean_object* x_1245; lean_object* x_1246; lean_object* x_1247; lean_object* x_1248; lean_object* x_1249; lean_object* x_1250; lean_object* x_1251; lean_object* x_1252; lean_object* x_1253; lean_object* x_1254; -lean_dec(x_1244); -x_1245 = lean_erase_macro_scopes(x_1243); -x_1246 = l_System_FilePath_dirName___closed__1; -x_1247 = l_Lean_Name_toStringWithSep___main(x_1246, x_1245); -x_1248 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_1248, 0, x_1247); -x_1249 = l_Lean_ppGoal___closed__8; -x_1250 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1250, 0, x_1249); -lean_ctor_set(x_1250, 1, x_1248); -x_1251 = lean_box(1); -x_1252 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1252, 0, x_1250); -lean_ctor_set(x_1252, 1, x_1251); -x_1253 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1253, 0, x_1252); -lean_ctor_set(x_1253, 1, x_1242); -if (lean_is_scalar(x_1235)) { - x_1254 = lean_alloc_ctor(0, 2, 0); -} else { - x_1254 = x_1235; -} -lean_ctor_set(x_1254, 0, x_1253); -lean_ctor_set(x_1254, 1, x_1234); -return x_1254; -} -} -else -{ -lean_object* x_1258; lean_object* x_1259; lean_object* x_1260; lean_object* x_1261; -lean_dec(x_998); -lean_dec(x_995); -lean_dec(x_982); -x_1258 = lean_ctor_get(x_1232, 0); -lean_inc(x_1258); -x_1259 = lean_ctor_get(x_1232, 1); -lean_inc(x_1259); -if (lean_is_exclusive(x_1232)) { - lean_ctor_release(x_1232, 0); - lean_ctor_release(x_1232, 1); - x_1260 = x_1232; -} else { - lean_dec_ref(x_1232); - 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); -return x_1261; -} -} -else -{ -lean_object* x_1262; lean_object* x_1263; -lean_dec(x_995); -x_1262 = lean_ctor_get(x_997, 0); -lean_inc(x_1262); -lean_dec(x_997); -lean_inc(x_989); -x_1263 = l_Lean_ppExpr(x_989, x_1262, x_994); -if (lean_obj_tag(x_1263) == 0) -{ -lean_object* x_1264; lean_object* x_1265; lean_object* x_1266; lean_object* x_1267; lean_object* x_1268; 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; uint8_t x_1277; lean_object* x_1278; lean_object* x_1279; uint8_t x_1280; lean_object* x_1281; lean_object* x_1282; -x_1264 = lean_ctor_get(x_1263, 0); -lean_inc(x_1264); -x_1265 = lean_ctor_get(x_1263, 1); -lean_inc(x_1265); -if (lean_is_exclusive(x_1263)) { - lean_ctor_release(x_1263, 0); - lean_ctor_release(x_1263, 1); - x_1266 = x_1263; -} else { - lean_dec_ref(x_1263); - x_1266 = lean_box(0); -} -x_1267 = l_List_reverse___rarg(x_996); -x_1268 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1; -x_1269 = l_Lean_Format_joinSep___main___at_Lean_ppGoal___spec__1(x_1267, x_1268); -x_1270 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__3; -x_1271 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1271, 0, x_1269); -lean_ctor_set(x_1271, 1, x_1270); -x_1272 = lean_box(1); -x_1273 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1273, 0, x_1272); -lean_ctor_set(x_1273, 1, x_1264); -x_1274 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4; -x_1275 = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(x_1275, 0, x_1274); -lean_ctor_set(x_1275, 1, x_1273); -x_1276 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1276, 0, x_1271); -lean_ctor_set(x_1276, 1, x_1275); -x_1277 = 0; -x_1278 = lean_alloc_ctor(5, 1, 1); -lean_ctor_set(x_1278, 0, x_1276); -lean_ctor_set_uint8(x_1278, sizeof(void*)*1, x_1277); -x_1279 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1279, 0, x_998); -lean_ctor_set(x_1279, 1, x_1278); -x_1280 = l_Lean_Format_isNil(x_1279); -x_1281 = lean_ctor_get(x_982, 2); -lean_inc(x_1281); -x_1282 = l_Lean_ppExpr(x_989, x_1281, x_1265); -if (x_1280 == 0) -{ -if (lean_obj_tag(x_1282) == 0) -{ -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; lean_object* x_1290; lean_object* x_1291; lean_object* x_1292; lean_object* x_1293; -x_1283 = lean_ctor_get(x_1282, 0); -lean_inc(x_1283); -x_1284 = lean_ctor_get(x_1282, 1); -lean_inc(x_1284); -if (lean_is_exclusive(x_1282)) { - lean_ctor_release(x_1282, 0); - lean_ctor_release(x_1282, 1); - x_1285 = x_1282; -} else { - lean_dec_ref(x_1282); - x_1285 = lean_box(0); -} -x_1286 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1286, 0, x_1279); -lean_ctor_set(x_1286, 1, x_1272); -x_1287 = l_Lean_ppGoal___closed__6; -x_1288 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1288, 0, x_1286); -lean_ctor_set(x_1288, 1, x_1287); -x_1289 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1289, 0, x_1288); -lean_ctor_set(x_1289, 1, x_1268); -x_1290 = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(x_1290, 0, x_1274); -lean_ctor_set(x_1290, 1, x_1283); -x_1291 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1291, 0, x_1289); -lean_ctor_set(x_1291, 1, x_1290); -x_1292 = lean_ctor_get(x_982, 0); -lean_inc(x_1292); -lean_dec(x_982); -if (lean_obj_tag(x_1292) == 0) -{ -lean_object* x_1304; -lean_dec(x_1285); -if (lean_is_scalar(x_1266)) { - x_1304 = lean_alloc_ctor(0, 2, 0); -} else { - x_1304 = x_1266; -} -lean_ctor_set(x_1304, 0, x_1291); -lean_ctor_set(x_1304, 1, x_1284); -return x_1304; -} -else -{ -lean_object* x_1305; -lean_dec(x_1266); -x_1305 = lean_box(0); -x_1293 = x_1305; -goto block_1303; -} -block_1303: -{ -lean_object* x_1294; lean_object* x_1295; lean_object* x_1296; lean_object* x_1297; lean_object* x_1298; lean_object* x_1299; lean_object* x_1300; lean_object* x_1301; lean_object* x_1302; -lean_dec(x_1293); -x_1294 = lean_erase_macro_scopes(x_1292); -x_1295 = l_System_FilePath_dirName___closed__1; -x_1296 = l_Lean_Name_toStringWithSep___main(x_1295, x_1294); -x_1297 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_1297, 0, x_1296); -x_1298 = l_Lean_ppGoal___closed__8; -x_1299 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1299, 0, x_1298); -lean_ctor_set(x_1299, 1, x_1297); -x_1300 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1300, 0, x_1299); -lean_ctor_set(x_1300, 1, x_1272); -x_1301 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1301, 0, x_1300); -lean_ctor_set(x_1301, 1, x_1291); -if (lean_is_scalar(x_1285)) { - x_1302 = lean_alloc_ctor(0, 2, 0); -} else { - x_1302 = x_1285; -} -lean_ctor_set(x_1302, 0, x_1301); -lean_ctor_set(x_1302, 1, x_1284); -return x_1302; -} -} -else -{ -lean_object* x_1306; lean_object* x_1307; lean_object* x_1308; lean_object* x_1309; -lean_dec(x_1279); -lean_dec(x_1266); -lean_dec(x_982); -x_1306 = lean_ctor_get(x_1282, 0); -lean_inc(x_1306); -x_1307 = lean_ctor_get(x_1282, 1); -lean_inc(x_1307); -if (lean_is_exclusive(x_1282)) { - lean_ctor_release(x_1282, 0); - lean_ctor_release(x_1282, 1); - x_1308 = x_1282; -} else { - lean_dec_ref(x_1282); - x_1308 = lean_box(0); -} -if (lean_is_scalar(x_1308)) { - x_1309 = lean_alloc_ctor(1, 2, 0); -} else { - x_1309 = x_1308; -} -lean_ctor_set(x_1309, 0, x_1306); -lean_ctor_set(x_1309, 1, x_1307); -return x_1309; -} -} -else -{ -if (lean_obj_tag(x_1282) == 0) -{ -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; -x_1310 = lean_ctor_get(x_1282, 0); -lean_inc(x_1310); -x_1311 = lean_ctor_get(x_1282, 1); -lean_inc(x_1311); -if (lean_is_exclusive(x_1282)) { - lean_ctor_release(x_1282, 0); - lean_ctor_release(x_1282, 1); - x_1312 = x_1282; -} else { - lean_dec_ref(x_1282); - x_1312 = lean_box(0); -} -x_1313 = l_Lean_ppGoal___closed__6; -x_1314 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1314, 0, x_1279); -lean_ctor_set(x_1314, 1, x_1313); -x_1315 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1315, 0, x_1314); -lean_ctor_set(x_1315, 1, x_1268); -x_1316 = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(x_1316, 0, x_1274); -lean_ctor_set(x_1316, 1, x_1310); -x_1317 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1317, 0, x_1315); -lean_ctor_set(x_1317, 1, x_1316); -x_1318 = lean_ctor_get(x_982, 0); -lean_inc(x_1318); -lean_dec(x_982); -if (lean_obj_tag(x_1318) == 0) -{ -lean_object* x_1330; -lean_dec(x_1312); -if (lean_is_scalar(x_1266)) { - x_1330 = lean_alloc_ctor(0, 2, 0); -} else { - x_1330 = x_1266; -} -lean_ctor_set(x_1330, 0, x_1317); -lean_ctor_set(x_1330, 1, x_1311); -return x_1330; -} -else -{ -lean_object* x_1331; -lean_dec(x_1266); -x_1331 = lean_box(0); -x_1319 = x_1331; -goto block_1329; -} -block_1329: -{ -lean_object* x_1320; lean_object* x_1321; lean_object* 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_dec(x_1319); -x_1320 = lean_erase_macro_scopes(x_1318); -x_1321 = l_System_FilePath_dirName___closed__1; -x_1322 = l_Lean_Name_toStringWithSep___main(x_1321, x_1320); -x_1323 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_1323, 0, x_1322); -x_1324 = l_Lean_ppGoal___closed__8; -x_1325 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1325, 0, x_1324); -lean_ctor_set(x_1325, 1, x_1323); -x_1326 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1326, 0, x_1325); -lean_ctor_set(x_1326, 1, x_1272); -x_1327 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1327, 0, x_1326); -lean_ctor_set(x_1327, 1, x_1317); -if (lean_is_scalar(x_1312)) { - x_1328 = lean_alloc_ctor(0, 2, 0); -} else { - x_1328 = x_1312; -} -lean_ctor_set(x_1328, 0, x_1327); -lean_ctor_set(x_1328, 1, x_1311); -return x_1328; -} -} -else -{ -lean_object* x_1332; lean_object* x_1333; lean_object* x_1334; lean_object* x_1335; -lean_dec(x_1279); -lean_dec(x_1266); -lean_dec(x_982); -x_1332 = lean_ctor_get(x_1282, 0); -lean_inc(x_1332); -x_1333 = lean_ctor_get(x_1282, 1); -lean_inc(x_1333); -if (lean_is_exclusive(x_1282)) { - lean_ctor_release(x_1282, 0); - lean_ctor_release(x_1282, 1); - x_1334 = x_1282; -} else { - lean_dec_ref(x_1282); - x_1334 = lean_box(0); -} -if (lean_is_scalar(x_1334)) { - x_1335 = lean_alloc_ctor(1, 2, 0); -} else { - x_1335 = x_1334; -} -lean_ctor_set(x_1335, 0, x_1332); -lean_ctor_set(x_1335, 1, x_1333); -return x_1335; -} -} -} -else -{ -lean_object* x_1336; lean_object* x_1337; lean_object* x_1338; lean_object* x_1339; -lean_dec(x_998); -lean_dec(x_996); -lean_dec(x_989); -lean_dec(x_982); -x_1336 = lean_ctor_get(x_1263, 0); -lean_inc(x_1336); -x_1337 = lean_ctor_get(x_1263, 1); -lean_inc(x_1337); -if (lean_is_exclusive(x_1263)) { - lean_ctor_release(x_1263, 0); - lean_ctor_release(x_1263, 1); - x_1338 = x_1263; -} else { - lean_dec_ref(x_1263); - x_1338 = lean_box(0); -} -if (lean_is_scalar(x_1338)) { - x_1339 = lean_alloc_ctor(1, 2, 0); -} else { - x_1339 = x_1338; -} -lean_ctor_set(x_1339, 0, x_1336); -lean_ctor_set(x_1339, 1, x_1337); -return x_1339; -} -} -} -} -} -else -{ -uint8_t x_1340; lean_object* x_1341; lean_object* x_1342; -lean_dec(x_997); -lean_dec(x_996); -x_1340 = l_Lean_Format_isNil(x_998); -x_1341 = lean_ctor_get(x_982, 2); -lean_inc(x_1341); -x_1342 = l_Lean_ppExpr(x_989, x_1341, x_994); -if (x_1340 == 0) -{ -if (lean_obj_tag(x_1342) == 0) -{ -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; lean_object* x_1354; lean_object* x_1355; lean_object* x_1356; -x_1343 = lean_ctor_get(x_1342, 0); -lean_inc(x_1343); -x_1344 = lean_ctor_get(x_1342, 1); -lean_inc(x_1344); -if (lean_is_exclusive(x_1342)) { - lean_ctor_release(x_1342, 0); - lean_ctor_release(x_1342, 1); - x_1345 = x_1342; -} else { - lean_dec_ref(x_1342); - x_1345 = lean_box(0); -} -x_1346 = lean_box(1); -x_1347 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1347, 0, x_998); -lean_ctor_set(x_1347, 1, x_1346); -x_1348 = l_Lean_ppGoal___closed__6; -x_1349 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1349, 0, x_1347); -lean_ctor_set(x_1349, 1, x_1348); -x_1350 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1; -x_1351 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1351, 0, x_1349); -lean_ctor_set(x_1351, 1, x_1350); -x_1352 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4; -x_1353 = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(x_1353, 0, x_1352); -lean_ctor_set(x_1353, 1, x_1343); -x_1354 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1354, 0, x_1351); -lean_ctor_set(x_1354, 1, x_1353); -x_1355 = lean_ctor_get(x_982, 0); -lean_inc(x_1355); -lean_dec(x_982); -if (lean_obj_tag(x_1355) == 0) -{ -lean_object* x_1367; -lean_dec(x_1345); -if (lean_is_scalar(x_995)) { - x_1367 = lean_alloc_ctor(0, 2, 0); -} else { - x_1367 = x_995; -} -lean_ctor_set(x_1367, 0, x_1354); -lean_ctor_set(x_1367, 1, x_1344); -return x_1367; -} -else -{ -lean_object* x_1368; -lean_dec(x_995); -x_1368 = lean_box(0); -x_1356 = x_1368; -goto block_1366; -} -block_1366: -{ -lean_object* x_1357; lean_object* x_1358; lean_object* x_1359; lean_object* x_1360; lean_object* x_1361; lean_object* x_1362; lean_object* x_1363; lean_object* x_1364; lean_object* x_1365; -lean_dec(x_1356); -x_1357 = lean_erase_macro_scopes(x_1355); -x_1358 = l_System_FilePath_dirName___closed__1; -x_1359 = l_Lean_Name_toStringWithSep___main(x_1358, x_1357); -x_1360 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_1360, 0, x_1359); -x_1361 = l_Lean_ppGoal___closed__8; -x_1362 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1362, 0, x_1361); -lean_ctor_set(x_1362, 1, x_1360); -x_1363 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1363, 0, x_1362); -lean_ctor_set(x_1363, 1, x_1346); -x_1364 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1364, 0, x_1363); -lean_ctor_set(x_1364, 1, x_1354); -if (lean_is_scalar(x_1345)) { - x_1365 = lean_alloc_ctor(0, 2, 0); -} else { - x_1365 = x_1345; -} -lean_ctor_set(x_1365, 0, x_1364); -lean_ctor_set(x_1365, 1, x_1344); -return x_1365; -} -} -else -{ -lean_object* x_1369; lean_object* x_1370; lean_object* x_1371; lean_object* x_1372; -lean_dec(x_998); -lean_dec(x_995); -lean_dec(x_982); -x_1369 = lean_ctor_get(x_1342, 0); -lean_inc(x_1369); -x_1370 = lean_ctor_get(x_1342, 1); -lean_inc(x_1370); -if (lean_is_exclusive(x_1342)) { - lean_ctor_release(x_1342, 0); - lean_ctor_release(x_1342, 1); - x_1371 = x_1342; -} else { - lean_dec_ref(x_1342); - x_1371 = lean_box(0); -} -if (lean_is_scalar(x_1371)) { - x_1372 = lean_alloc_ctor(1, 2, 0); -} else { - x_1372 = x_1371; -} -lean_ctor_set(x_1372, 0, x_1369); -lean_ctor_set(x_1372, 1, x_1370); -return x_1372; -} -} -else -{ -if (lean_obj_tag(x_1342) == 0) -{ -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; lean_object* x_1382; lean_object* x_1383; lean_object* x_1384; -x_1373 = lean_ctor_get(x_1342, 0); -lean_inc(x_1373); -x_1374 = lean_ctor_get(x_1342, 1); -lean_inc(x_1374); -if (lean_is_exclusive(x_1342)) { - lean_ctor_release(x_1342, 0); - lean_ctor_release(x_1342, 1); - x_1375 = x_1342; -} else { - lean_dec_ref(x_1342); - x_1375 = lean_box(0); -} -x_1376 = l_Lean_ppGoal___closed__6; -x_1377 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1377, 0, x_998); -lean_ctor_set(x_1377, 1, x_1376); -x_1378 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1; -x_1379 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1379, 0, x_1377); -lean_ctor_set(x_1379, 1, x_1378); -x_1380 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__4; -x_1381 = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(x_1381, 0, x_1380); -lean_ctor_set(x_1381, 1, x_1373); -x_1382 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1382, 0, x_1379); -lean_ctor_set(x_1382, 1, x_1381); -x_1383 = lean_ctor_get(x_982, 0); -lean_inc(x_1383); -lean_dec(x_982); -if (lean_obj_tag(x_1383) == 0) -{ -lean_object* x_1396; -lean_dec(x_1375); -if (lean_is_scalar(x_995)) { - x_1396 = lean_alloc_ctor(0, 2, 0); -} else { - x_1396 = x_995; -} -lean_ctor_set(x_1396, 0, x_1382); -lean_ctor_set(x_1396, 1, x_1374); -return x_1396; -} -else -{ -lean_object* x_1397; -lean_dec(x_995); -x_1397 = lean_box(0); -x_1384 = x_1397; -goto block_1395; -} -block_1395: -{ -lean_object* x_1385; lean_object* x_1386; lean_object* x_1387; lean_object* x_1388; lean_object* x_1389; lean_object* x_1390; lean_object* x_1391; lean_object* x_1392; lean_object* x_1393; lean_object* x_1394; -lean_dec(x_1384); -x_1385 = lean_erase_macro_scopes(x_1383); -x_1386 = l_System_FilePath_dirName___closed__1; -x_1387 = l_Lean_Name_toStringWithSep___main(x_1386, x_1385); -x_1388 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_1388, 0, x_1387); -x_1389 = l_Lean_ppGoal___closed__8; -x_1390 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1390, 0, x_1389); -lean_ctor_set(x_1390, 1, x_1388); -x_1391 = lean_box(1); -x_1392 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1392, 0, x_1390); -lean_ctor_set(x_1392, 1, x_1391); -x_1393 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_1393, 0, x_1392); -lean_ctor_set(x_1393, 1, x_1382); -if (lean_is_scalar(x_1375)) { - x_1394 = lean_alloc_ctor(0, 2, 0); -} else { - x_1394 = x_1375; -} -lean_ctor_set(x_1394, 0, x_1393); -lean_ctor_set(x_1394, 1, x_1374); -return x_1394; -} -} -else -{ -lean_object* x_1398; lean_object* x_1399; lean_object* x_1400; lean_object* x_1401; -lean_dec(x_998); -lean_dec(x_995); -lean_dec(x_982); -x_1398 = lean_ctor_get(x_1342, 0); -lean_inc(x_1398); -x_1399 = lean_ctor_get(x_1342, 1); -lean_inc(x_1399); -if (lean_is_exclusive(x_1342)) { - lean_ctor_release(x_1342, 0); - lean_ctor_release(x_1342, 1); - x_1400 = x_1342; -} else { - lean_dec_ref(x_1342); - x_1400 = lean_box(0); -} -if (lean_is_scalar(x_1400)) { - x_1401 = lean_alloc_ctor(1, 2, 0); -} else { - x_1401 = x_1400; -} -lean_ctor_set(x_1401, 0, x_1398); -lean_ctor_set(x_1401, 1, x_1399); -return x_1401; -} -} -} -} -else -{ -lean_object* x_1402; lean_object* x_1403; lean_object* x_1404; lean_object* x_1405; -lean_dec(x_989); -lean_dec(x_982); -x_1402 = lean_ctor_get(x_991, 0); -lean_inc(x_1402); -x_1403 = lean_ctor_get(x_991, 1); -lean_inc(x_1403); -if (lean_is_exclusive(x_991)) { - lean_ctor_release(x_991, 0); - lean_ctor_release(x_991, 1); - x_1404 = x_991; -} else { - lean_dec_ref(x_991); - x_1404 = lean_box(0); -} -if (lean_is_scalar(x_1404)) { - x_1405 = lean_alloc_ctor(1, 2, 0); -} else { - x_1405 = x_1404; -} -lean_ctor_set(x_1405, 0, x_1402); -lean_ctor_set(x_1405, 1, x_1403); -return x_1405; -} -} -} -} -} -lean_object* l_Array_iterateMAux___main___at_Lean_ppGoal___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) { +if (lean_is_exclusive(x_238)) { + lean_ctor_release(x_238, 0); + lean_ctor_release(x_238, 1); + x_387 = x_238; +} else { + lean_dec_ref(x_238); + x_387 = lean_box(0); +} +if (lean_is_scalar(x_387)) { + x_388 = lean_alloc_ctor(1, 2, 0); +} else { + x_388 = x_387; +} +lean_ctor_set(x_388, 0, x_385); +lean_ctor_set(x_388, 1, x_386); +return x_388; +} +block_228: +{ +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_209 = l_Lean_ppGoal___closed__5; +x_210 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_210, 0, x_206); +lean_ctor_set(x_210, 1, x_209); +x_211 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1; +x_212 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_212, 0, x_210); +lean_ctor_set(x_212, 1, x_211); +x_213 = l_Lean_ppGoal___closed__3; +x_214 = lean_alloc_ctor(3, 2, 0); +lean_ctor_set(x_214, 0, x_213); +lean_ctor_set(x_214, 1, x_207); +x_215 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_215, 0, x_212); +lean_ctor_set(x_215, 1, x_214); +x_216 = lean_ctor_get(x_205, 0); +lean_inc(x_216); +lean_dec(x_205); +if (lean_obj_tag(x_216) == 0) +{ +lean_object* x_217; +x_217 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_217, 0, x_215); +lean_ctor_set(x_217, 1, x_208); +return x_217; +} +else +{ +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; +x_218 = lean_erase_macro_scopes(x_216); +x_219 = l_System_FilePath_dirName___closed__1; +x_220 = l_Lean_Name_toStringWithSep___main(x_219, x_218); +x_221 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_221, 0, x_220); +x_222 = l_Lean_ppGoal___closed__7; +x_223 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_223, 0, x_222); +lean_ctor_set(x_223, 1, x_221); +x_224 = lean_box(1); +x_225 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_225, 0, x_223); +lean_ctor_set(x_225, 1, x_224); +x_226 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_226, 0, x_225); +lean_ctor_set(x_226, 1, x_215); +x_227 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_227, 0, x_226); +lean_ctor_set(x_227, 1, x_208); +return x_227; +} +} +} +} +} +} +lean_object* l_Array_iterateMAux___main___at_Lean_ppGoal___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: { -uint8_t x_9; lean_object* x_10; -x_9 = lean_unbox(x_2); -lean_dec(x_2); -x_10 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__5(x_1, x_9, x_3, x_4, x_5, x_6, x_7, x_8); +uint8_t x_10; lean_object* x_11; +x_10 = lean_unbox(x_3); +lean_dec(x_3); +x_11 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__5(x_1, x_2, x_10, x_4, x_5, x_6, x_7, x_8, x_9); +lean_dec(x_6); lean_dec(x_5); -lean_dec(x_4); -return x_10; +return x_11; } } -lean_object* l_Array_iterateMAux___main___at_Lean_ppGoal___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* l_Array_iterateMAux___main___at_Lean_ppGoal___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) { _start: { -uint8_t x_9; lean_object* x_10; -x_9 = lean_unbox(x_2); -lean_dec(x_2); -x_10 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6(x_1, x_9, x_3, x_4, x_5, x_6, x_7, x_8); +uint8_t x_10; lean_object* x_11; +x_10 = lean_unbox(x_3); +lean_dec(x_3); +x_11 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6(x_1, x_2, x_10, x_4, x_5, x_6, x_7, x_8, x_9); +lean_dec(x_6); lean_dec(x_5); -lean_dec(x_4); -return x_10; +return x_11; } } -lean_object* l_Std_PersistentArray_foldlMAux___at_Lean_ppGoal___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* l_Std_PersistentArray_foldlMAux___at_Lean_ppGoal___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: { -uint8_t x_7; lean_object* x_8; -x_7 = lean_unbox(x_2); -lean_dec(x_2); -x_8 = l_Std_PersistentArray_foldlMAux___at_Lean_ppGoal___spec__4(x_1, x_7, x_3, x_4, x_5, x_6); -lean_dec(x_4); -return x_8; -} -} -lean_object* l_Array_iterateMAux___main___at_Lean_ppGoal___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) { -_start: -{ -uint8_t x_9; lean_object* x_10; -x_9 = lean_unbox(x_2); -lean_dec(x_2); -x_10 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__7(x_1, x_9, x_3, x_4, x_5, x_6, x_7, x_8); +uint8_t x_8; lean_object* x_9; +x_8 = lean_unbox(x_3); +lean_dec(x_3); +x_9 = l_Std_PersistentArray_foldlMAux___at_Lean_ppGoal___spec__4(x_1, x_2, x_8, x_4, x_5, x_6, x_7); lean_dec(x_5); -lean_dec(x_4); -return x_10; +return x_9; } } -lean_object* l_Std_PersistentArray_foldlM___at_Lean_ppGoal___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_Array_iterateMAux___main___at_Lean_ppGoal___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: { -uint8_t x_7; lean_object* x_8; -x_7 = lean_unbox(x_2); -lean_dec(x_2); -x_8 = l_Std_PersistentArray_foldlM___at_Lean_ppGoal___spec__3(x_1, x_7, x_3, x_4, x_5, x_6); -lean_dec(x_4); -return x_8; +uint8_t x_10; lean_object* x_11; +x_10 = lean_unbox(x_3); +lean_dec(x_3); +x_11 = l_Array_iterateMAux___main___at_Lean_ppGoal___spec__7(x_1, x_2, x_10, x_4, x_5, x_6, x_7, x_8, x_9); +lean_dec(x_6); +lean_dec(x_5); +return x_11; } } -lean_object* l_Lean_LocalContext_foldlM___at_Lean_ppGoal___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_Std_PersistentArray_foldlM___at_Lean_ppGoal___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: { -uint8_t x_7; lean_object* x_8; -x_7 = lean_unbox(x_2); -lean_dec(x_2); -x_8 = l_Lean_LocalContext_foldlM___at_Lean_ppGoal___spec__2(x_1, x_7, x_3, x_4, x_5, x_6); -lean_dec(x_4); -return x_8; +uint8_t x_8; lean_object* x_9; +x_8 = lean_unbox(x_3); +lean_dec(x_3); +x_9 = l_Std_PersistentArray_foldlM___at_Lean_ppGoal___spec__3(x_1, x_2, x_8, x_4, x_5, x_6, x_7); +lean_dec(x_5); +return x_9; +} +} +lean_object* l_Lean_LocalContext_foldlM___at_Lean_ppGoal___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: +{ +uint8_t x_8; lean_object* x_9; +x_8 = lean_unbox(x_3); +lean_dec(x_3); +x_9 = l_Lean_LocalContext_foldlM___at_Lean_ppGoal___spec__2(x_1, x_2, x_8, x_4, x_5, x_6, x_7); +lean_dec(x_5); +return x_9; } } lean_object* initialize_Init(lean_object*); @@ -13595,17 +15865,17 @@ res = initialize_Lean_Util_PPExt(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); l_Lean_ppAuxDeclsDefault = _init_l_Lean_ppAuxDeclsDefault(); -l_Lean_ppAuxDeclsOption___closed__1 = _init_l_Lean_ppAuxDeclsOption___closed__1(); -lean_mark_persistent(l_Lean_ppAuxDeclsOption___closed__1); -l_Lean_ppAuxDeclsOption___closed__2 = _init_l_Lean_ppAuxDeclsOption___closed__2(); -lean_mark_persistent(l_Lean_ppAuxDeclsOption___closed__2); -l_Lean_ppAuxDeclsOption___closed__3 = _init_l_Lean_ppAuxDeclsOption___closed__3(); -lean_mark_persistent(l_Lean_ppAuxDeclsOption___closed__3); -l_Lean_ppAuxDeclsOption___closed__4 = _init_l_Lean_ppAuxDeclsOption___closed__4(); -lean_mark_persistent(l_Lean_ppAuxDeclsOption___closed__4); -l_Lean_ppAuxDeclsOption___closed__5 = _init_l_Lean_ppAuxDeclsOption___closed__5(); -lean_mark_persistent(l_Lean_ppAuxDeclsOption___closed__5); -res = l_Lean_ppAuxDeclsOption(lean_io_mk_world()); +l_Lean_initFn____x40_Lean_Util_PPGoal___hyg_6____closed__1 = _init_l_Lean_initFn____x40_Lean_Util_PPGoal___hyg_6____closed__1(); +lean_mark_persistent(l_Lean_initFn____x40_Lean_Util_PPGoal___hyg_6____closed__1); +l_Lean_initFn____x40_Lean_Util_PPGoal___hyg_6____closed__2 = _init_l_Lean_initFn____x40_Lean_Util_PPGoal___hyg_6____closed__2(); +lean_mark_persistent(l_Lean_initFn____x40_Lean_Util_PPGoal___hyg_6____closed__2); +l_Lean_initFn____x40_Lean_Util_PPGoal___hyg_6____closed__3 = _init_l_Lean_initFn____x40_Lean_Util_PPGoal___hyg_6____closed__3(); +lean_mark_persistent(l_Lean_initFn____x40_Lean_Util_PPGoal___hyg_6____closed__3); +l_Lean_initFn____x40_Lean_Util_PPGoal___hyg_6____closed__4 = _init_l_Lean_initFn____x40_Lean_Util_PPGoal___hyg_6____closed__4(); +lean_mark_persistent(l_Lean_initFn____x40_Lean_Util_PPGoal___hyg_6____closed__4); +l_Lean_initFn____x40_Lean_Util_PPGoal___hyg_6____closed__5 = _init_l_Lean_initFn____x40_Lean_Util_PPGoal___hyg_6____closed__5(); +lean_mark_persistent(l_Lean_initFn____x40_Lean_Util_PPGoal___hyg_6____closed__5); +res = l_Lean_initFn____x40_Lean_Util_PPGoal___hyg_6_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1 = _init_l_Array_iterateMAux___main___at_Lean_ppGoal___spec__6___closed__1(); @@ -13640,6 +15910,8 @@ l_Lean_ppGoal___closed__7 = _init_l_Lean_ppGoal___closed__7(); lean_mark_persistent(l_Lean_ppGoal___closed__7); l_Lean_ppGoal___closed__8 = _init_l_Lean_ppGoal___closed__8(); lean_mark_persistent(l_Lean_ppGoal___closed__8); +l_Lean_ppGoal___closed__9 = _init_l_Lean_ppGoal___closed__9(); +lean_mark_persistent(l_Lean_ppGoal___closed__9); return lean_io_result_mk_ok(lean_box(0)); } #ifdef __cplusplus diff --git a/stage0/stdlib/Lean/Util/ReplaceExpr.c b/stage0/stdlib/Lean/Util/ReplaceExpr.c index cd75b03505..4b5ab07ad9 100644 --- a/stage0/stdlib/Lean/Util/ReplaceExpr.c +++ b/stage0/stdlib/Lean/Util/ReplaceExpr.c @@ -15,19 +15,23 @@ extern "C" { #endif lean_object* lean_expr_update_forall(lean_object*, uint8_t, lean_object*, lean_object*); extern lean_object* l_Lean_Expr_Lean_Expr___instance__1; +extern lean_object* l_Lean_Name_getString_x21___closed__3; lean_object* l_Lean_Expr_ReplaceImpl_initCache___closed__1; -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*); lean_object* lean_array_uset(lean_object*, size_t, lean_object*); +lean_object* l_Lean_Expr_replace_match__2(lean_object*); lean_object* l_Lean_Expr_ReplaceImpl_cache___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_ReplaceImpl_initCache___closed__2; +lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit_match__2(lean_object*); lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafe(lean_object*, lean_object*); +lean_object* l_Lean_Expr_replace_match__1(lean_object*); extern lean_object* l___private_Lean_Data_Format_11__be___main___closed__1; -lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main(lean_object*, size_t, lean_object*, lean_object*); +lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___closed__3; +lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___closed__4; size_t l_Lean_Expr_ReplaceImpl_cacheSize; -lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM_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_expr_update_let(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM(lean_object*, size_t, lean_object*, lean_object*); uint8_t l_Lean_Expr_Data_binderInfo(uint64_t); @@ -36,13 +40,21 @@ lean_object* l_Lean_Expr_ReplaceImpl_cache(size_t, lean_object*, lean_object*, l size_t l_USize_mod(size_t, size_t); size_t lean_ptr_addr(lean_object*); lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Expr_replace___main(lean_object*, lean_object*); +lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___closed__1; +lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___closed__2; +lean_object* lean_panic_fn(lean_object*, lean_object*); +lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit_match__1(lean_object*); +lean_object* l_Lean_Expr_replace_match__1___rarg(lean_object*, lean_object*, lean_object*, 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* lean_mk_array(lean_object*, lean_object*); -lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___closed__1; +lean_object* l_Lean_Expr_replace_match__2___rarg(lean_object*, lean_object*, lean_object*); lean_object* lean_expr_update_app(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit_match__2___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_replace(lean_object*, lean_object*); lean_object* l_Lean_Expr_ReplaceImpl_initCache___closed__3; +lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit(lean_object*, size_t, 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_Expr_ReplaceImpl_initCache; extern lean_object* l_Lean_Expr_Lean_Expr___instance__1___closed__1; lean_object* l_monadInhabited___rarg(lean_object*, lean_object*); @@ -85,7 +97,218 @@ x_6 = l_Lean_Expr_ReplaceImpl_cache(x_5, x_2, x_3, x_4); return x_6; } } -static lean_object* _init_l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___closed__1() { +lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM_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 5: +{ +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_8); +lean_dec(x_7); +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_6, x_10, x_11, x_13); +return x_14; +} +case 6: +{ +lean_object* x_15; lean_object* x_16; lean_object* x_17; uint64_t x_18; lean_object* x_19; lean_object* x_20; +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_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_uint64(x_1, sizeof(void*)*3); +lean_dec(x_1); +x_19 = lean_box_uint64(x_18); +x_20 = lean_apply_4(x_3, x_15, x_16, x_17, x_19); +return x_20; +} +case 7: +{ +lean_object* x_21; lean_object* x_22; lean_object* x_23; uint64_t x_24; lean_object* x_25; lean_object* x_26; +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_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_24 = lean_ctor_get_uint64(x_1, sizeof(void*)*3); +lean_dec(x_1); +x_25 = lean_box_uint64(x_24); +x_26 = lean_apply_4(x_2, x_21, x_22, x_23, x_25); +return x_26; +} +case 8: +{ +lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; uint64_t x_31; lean_object* x_32; lean_object* x_33; +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_27 = lean_ctor_get(x_1, 0); +lean_inc(x_27); +x_28 = lean_ctor_get(x_1, 1); +lean_inc(x_28); +x_29 = lean_ctor_get(x_1, 2); +lean_inc(x_29); +x_30 = lean_ctor_get(x_1, 3); +lean_inc(x_30); +x_31 = lean_ctor_get_uint64(x_1, sizeof(void*)*4); +lean_dec(x_1); +x_32 = lean_box_uint64(x_31); +x_33 = lean_apply_5(x_5, x_27, x_28, x_29, x_30, x_32); +return x_33; +} +case 10: +{ +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_5); +lean_dec(x_3); +lean_dec(x_2); +x_34 = lean_ctor_get(x_1, 0); +lean_inc(x_34); +x_35 = lean_ctor_get(x_1, 1); +lean_inc(x_35); +x_36 = lean_ctor_get_uint64(x_1, sizeof(void*)*2); +lean_dec(x_1); +x_37 = lean_box_uint64(x_36); +x_38 = lean_apply_3(x_4, x_34, x_35, x_37); +return x_38; +} +case 11: +{ +lean_object* x_39; lean_object* x_40; lean_object* x_41; uint64_t x_42; lean_object* x_43; lean_object* x_44; +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_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(x_1, 2); +lean_inc(x_41); +x_42 = lean_ctor_get_uint64(x_1, sizeof(void*)*3); +lean_dec(x_1); +x_43 = lean_box_uint64(x_42); +x_44 = lean_apply_4(x_7, x_39, x_40, x_41, x_43); +return x_44; +} +case 12: +{ +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_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_45 = lean_ctor_get(x_1, 0); +lean_inc(x_45); +x_46 = lean_ctor_get(x_1, 1); +lean_inc(x_46); +x_47 = lean_ctor_get(x_1, 2); +lean_inc(x_47); +x_48 = lean_ctor_get_uint64(x_1, sizeof(void*)*3); +lean_dec(x_1); +x_49 = lean_box_uint64(x_48); +x_50 = lean_apply_4(x_8, x_45, x_46, x_47, x_49); +return x_50; +} +default: +{ +lean_object* x_51; +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_51 = lean_apply_1(x_9, x_1); +return x_51; +} +} +} +} +lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit_match__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit_match__1___rarg), 9, 0); +return x_2; +} +} +lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit_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_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_Expr_ReplaceImpl_replaceUnsafeM_visit_match__2(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit_match__2___rarg), 3, 0); +return x_2; +} +} +static lean_object* _init_l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -95,7 +318,36 @@ x_3 = l_monadInhabited___rarg(x_1, x_2); return x_3; } } -lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main(lean_object* x_1, size_t x_2, lean_object* x_3, lean_object* x_4) { +static lean_object* _init_l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___closed__2() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("Lean.Util.ReplaceExpr"); +return x_1; +} +} +static lean_object* _init_l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___closed__3() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("Lean.Expr.ReplaceImpl.replaceUnsafeM.visit"); +return x_1; +} +} +static lean_object* _init_l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___closed__4() { +_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_Expr_ReplaceImpl_replaceUnsafeM_visit___closed__2; +x_2 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___closed__3; +x_3 = lean_unsigned_to_nat(42u); +x_4 = lean_unsigned_to_nat(36u); +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); +return x_6; +} +} +lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit(lean_object* x_1, size_t x_2, lean_object* x_3, lean_object* x_4) { _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; @@ -127,14 +379,14 @@ lean_inc(x_13); x_14 = lean_ctor_get_uint64(x_3, sizeof(void*)*2); lean_inc(x_12); lean_inc(x_1); -x_15 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main(x_1, x_2, x_12, x_4); +x_15 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit(x_1, x_2, x_12, x_4); 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_13); -x_18 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main(x_1, x_2, x_13, x_17); +x_18 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit(x_1, x_2, x_13, x_17); x_19 = !lean_is_exclusive(x_18); if (x_19 == 0) { @@ -243,14 +495,14 @@ lean_inc(x_49); x_50 = lean_ctor_get_uint64(x_3, sizeof(void*)*3); lean_inc(x_48); lean_inc(x_1); -x_51 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main(x_1, x_2, x_48, x_4); +x_51 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit(x_1, x_2, x_48, x_4); 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); lean_inc(x_49); -x_54 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main(x_1, x_2, x_49, x_53); +x_54 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit(x_1, x_2, x_49, x_53); x_55 = !lean_is_exclusive(x_54); if (x_55 == 0) { @@ -367,14 +619,14 @@ lean_inc(x_89); x_90 = lean_ctor_get_uint64(x_3, sizeof(void*)*3); lean_inc(x_88); lean_inc(x_1); -x_91 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main(x_1, x_2, x_88, x_4); +x_91 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit(x_1, x_2, x_88, x_4); 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); lean_inc(x_89); -x_94 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main(x_1, x_2, x_89, x_93); +x_94 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit(x_1, x_2, x_89, x_93); x_95 = !lean_is_exclusive(x_94); if (x_95 == 0) { @@ -493,7 +745,7 @@ lean_inc(x_130); x_131 = lean_ctor_get_uint64(x_3, sizeof(void*)*4); lean_inc(x_128); lean_inc(x_1); -x_132 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main(x_1, x_2, x_128, x_4); +x_132 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit(x_1, x_2, x_128, x_4); x_133 = lean_ctor_get(x_132, 0); lean_inc(x_133); x_134 = lean_ctor_get(x_132, 1); @@ -501,14 +753,14 @@ lean_inc(x_134); lean_dec(x_132); lean_inc(x_129); lean_inc(x_1); -x_135 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main(x_1, x_2, x_129, x_134); +x_135 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit(x_1, x_2, x_129, x_134); x_136 = lean_ctor_get(x_135, 0); lean_inc(x_136); x_137 = lean_ctor_get(x_135, 1); lean_inc(x_137); lean_dec(x_135); lean_inc(x_130); -x_138 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main(x_1, x_2, x_130, x_137); +x_138 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit(x_1, x_2, x_130, x_137); x_139 = !lean_is_exclusive(x_138); if (x_139 == 0) { @@ -624,7 +876,7 @@ x_170 = lean_ctor_get(x_3, 1); lean_inc(x_170); x_171 = lean_ctor_get_uint64(x_3, sizeof(void*)*2); lean_inc(x_170); -x_172 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main(x_1, x_2, x_170, x_4); +x_172 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit(x_1, x_2, x_170, x_4); x_173 = !lean_is_exclusive(x_172); if (x_173 == 0) { @@ -732,7 +984,7 @@ x_203 = lean_ctor_get(x_3, 2); lean_inc(x_203); x_204 = lean_ctor_get_uint64(x_3, sizeof(void*)*3); lean_inc(x_203); -x_205 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main(x_1, x_2, x_203, x_4); +x_205 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit(x_1, x_2, x_203, x_4); x_206 = !lean_is_exclusive(x_205); if (x_206 == 0) { @@ -836,71 +1088,72 @@ return x_234; } case 12: { -lean_object* x_235; lean_object* x_236; lean_object* x_237; +lean_object* x_235; lean_object* x_236; lean_object* x_237; lean_object* x_238; lean_dec(x_3); lean_dec(x_1); -x_235 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___closed__1; -x_236 = l_unreachable_x21___rarg(x_235); -x_237 = lean_apply_1(x_236, x_4); -return x_237; +x_235 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___closed__1; +x_236 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___closed__4; +x_237 = lean_panic_fn(x_235, x_236); +x_238 = lean_apply_1(x_237, x_4); +return x_238; } default: { -lean_object* x_238; +lean_object* x_239; lean_dec(x_1); -x_238 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_238, 0, x_3); -lean_ctor_set(x_238, 1, x_4); -return x_238; +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_239; lean_object* x_240; lean_object* x_241; lean_object* x_242; lean_object* x_243; lean_object* x_244; +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_dec(x_1); -x_239 = lean_ctor_get(x_11, 0); -lean_inc(x_239); +x_240 = lean_ctor_get(x_11, 0); +lean_inc(x_240); lean_dec(x_11); -x_240 = lean_array_uset(x_7, x_6, x_3); -x_241 = lean_ctor_get(x_4, 1); -lean_inc(x_241); +x_241 = lean_array_uset(x_7, x_6, x_3); +x_242 = lean_ctor_get(x_4, 1); +lean_inc(x_242); lean_dec(x_4); -lean_inc(x_239); -x_242 = lean_array_uset(x_241, x_6, x_239); -x_243 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_243, 0, x_240); -lean_ctor_set(x_243, 1, x_242); +lean_inc(x_240); +x_243 = lean_array_uset(x_242, x_6, x_240); x_244 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_244, 0, x_239); +lean_ctor_set(x_244, 0, x_241); lean_ctor_set(x_244, 1, x_243); -return x_244; +x_245 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_245, 0, x_240); +lean_ctor_set(x_245, 1, x_244); +return x_245; } } else { -lean_object* x_245; lean_object* x_246; lean_object* x_247; +lean_object* x_246; lean_object* x_247; lean_object* x_248; lean_dec(x_7); lean_dec(x_3); lean_dec(x_1); -x_245 = lean_ctor_get(x_4, 1); -lean_inc(x_245); -x_246 = lean_array_uget(x_245, x_6); -lean_dec(x_245); -x_247 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_247, 0, x_246); -lean_ctor_set(x_247, 1, x_4); -return x_247; +x_246 = lean_ctor_get(x_4, 1); +lean_inc(x_246); +x_247 = lean_array_uget(x_246, x_6); +lean_dec(x_246); +x_248 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_248, 0, x_247); +lean_ctor_set(x_248, 1, x_4); +return x_248; } } } -lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___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(x_1, x_5, x_3, x_4); +x_6 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit(x_1, x_5, x_3, x_4); return x_6; } } @@ -908,7 +1161,7 @@ lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM(lean_object* x_1, size_t x_2 _start: { lean_object* x_5; -x_5 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main(x_1, x_2, x_3, x_4); +x_5 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit(x_1, x_2, x_3, x_4); return x_5; } } @@ -968,14 +1221,196 @@ _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(x_1, x_3, x_2, x_4); +x_5 = l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit(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* l_Lean_Expr_replace___main(lean_object* x_1, lean_object* x_2) { +lean_object* l_Lean_Expr_replace_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_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); +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_6, 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_4); +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_5, 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_6); +lean_dec(x_5); +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_4, 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_Expr_replace_match__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Expr_replace_match__1___rarg), 8, 0); +return x_2; +} +} +lean_object* l_Lean_Expr_replace_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_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_Expr_replace_match__2(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Expr_replace_match__2___rarg), 3, 0); +return x_2; +} +} +lean_object* l_Lean_Expr_replace(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; @@ -996,9 +1431,9 @@ x_5 = lean_ctor_get(x_2, 0); x_6 = lean_ctor_get(x_2, 1); lean_inc(x_5); lean_inc(x_1); -x_7 = l_Lean_Expr_replace___main(x_1, x_5); +x_7 = l_Lean_Expr_replace(x_1, x_5); lean_inc(x_6); -x_8 = l_Lean_Expr_replace___main(x_1, x_6); +x_8 = l_Lean_Expr_replace(x_1, x_6); x_9 = lean_expr_update_app(x_2, x_7, x_8); return x_9; } @@ -1013,9 +1448,9 @@ lean_inc(x_10); lean_dec(x_2); lean_inc(x_10); lean_inc(x_1); -x_13 = l_Lean_Expr_replace___main(x_1, x_10); +x_13 = l_Lean_Expr_replace(x_1, x_10); lean_inc(x_11); -x_14 = l_Lean_Expr_replace___main(x_1, x_11); +x_14 = l_Lean_Expr_replace(x_1, x_11); x_15 = lean_alloc_ctor(5, 2, 8); lean_ctor_set(x_15, 0, x_10); lean_ctor_set(x_15, 1, x_11); @@ -1036,9 +1471,9 @@ x_19 = lean_ctor_get(x_2, 2); x_20 = lean_ctor_get_uint64(x_2, sizeof(void*)*3); lean_inc(x_18); lean_inc(x_1); -x_21 = l_Lean_Expr_replace___main(x_1, x_18); +x_21 = l_Lean_Expr_replace(x_1, x_18); lean_inc(x_19); -x_22 = l_Lean_Expr_replace___main(x_1, x_19); +x_22 = l_Lean_Expr_replace(x_1, x_19); x_23 = (uint8_t)((x_20 << 24) >> 61); x_24 = lean_expr_update_lambda(x_2, x_23, x_21, x_22); return x_24; @@ -1056,9 +1491,9 @@ lean_inc(x_25); lean_dec(x_2); lean_inc(x_26); lean_inc(x_1); -x_29 = l_Lean_Expr_replace___main(x_1, x_26); +x_29 = l_Lean_Expr_replace(x_1, x_26); lean_inc(x_27); -x_30 = l_Lean_Expr_replace___main(x_1, x_27); +x_30 = l_Lean_Expr_replace(x_1, x_27); x_31 = lean_alloc_ctor(6, 3, 8); lean_ctor_set(x_31, 0, x_25); lean_ctor_set(x_31, 1, x_26); @@ -1081,9 +1516,9 @@ x_36 = lean_ctor_get(x_2, 2); x_37 = lean_ctor_get_uint64(x_2, sizeof(void*)*3); lean_inc(x_35); lean_inc(x_1); -x_38 = l_Lean_Expr_replace___main(x_1, x_35); +x_38 = l_Lean_Expr_replace(x_1, x_35); lean_inc(x_36); -x_39 = l_Lean_Expr_replace___main(x_1, x_36); +x_39 = l_Lean_Expr_replace(x_1, x_36); x_40 = (uint8_t)((x_37 << 24) >> 61); x_41 = lean_expr_update_forall(x_2, x_40, x_38, x_39); return x_41; @@ -1101,9 +1536,9 @@ lean_inc(x_42); lean_dec(x_2); lean_inc(x_43); lean_inc(x_1); -x_46 = l_Lean_Expr_replace___main(x_1, x_43); +x_46 = l_Lean_Expr_replace(x_1, x_43); lean_inc(x_44); -x_47 = l_Lean_Expr_replace___main(x_1, x_44); +x_47 = l_Lean_Expr_replace(x_1, x_44); x_48 = lean_alloc_ctor(7, 3, 8); lean_ctor_set(x_48, 0, x_42); lean_ctor_set(x_48, 1, x_43); @@ -1126,12 +1561,12 @@ x_53 = lean_ctor_get(x_2, 2); x_54 = lean_ctor_get(x_2, 3); lean_inc(x_52); lean_inc(x_1); -x_55 = l_Lean_Expr_replace___main(x_1, x_52); +x_55 = l_Lean_Expr_replace(x_1, x_52); lean_inc(x_53); lean_inc(x_1); -x_56 = l_Lean_Expr_replace___main(x_1, x_53); +x_56 = l_Lean_Expr_replace(x_1, x_53); lean_inc(x_54); -x_57 = l_Lean_Expr_replace___main(x_1, x_54); +x_57 = l_Lean_Expr_replace(x_1, x_54); x_58 = lean_expr_update_let(x_2, x_55, x_56, x_57); return x_58; } @@ -1150,12 +1585,12 @@ lean_inc(x_59); lean_dec(x_2); lean_inc(x_60); lean_inc(x_1); -x_64 = l_Lean_Expr_replace___main(x_1, x_60); +x_64 = l_Lean_Expr_replace(x_1, x_60); lean_inc(x_61); lean_inc(x_1); -x_65 = l_Lean_Expr_replace___main(x_1, x_61); +x_65 = l_Lean_Expr_replace(x_1, x_61); lean_inc(x_62); -x_66 = l_Lean_Expr_replace___main(x_1, x_62); +x_66 = l_Lean_Expr_replace(x_1, x_62); x_67 = lean_alloc_ctor(8, 4, 8); lean_ctor_set(x_67, 0, x_59); lean_ctor_set(x_67, 1, x_60); @@ -1175,7 +1610,7 @@ if (x_69 == 0) lean_object* x_70; lean_object* x_71; lean_object* x_72; x_70 = lean_ctor_get(x_2, 1); lean_inc(x_70); -x_71 = l_Lean_Expr_replace___main(x_1, x_70); +x_71 = l_Lean_Expr_replace(x_1, x_70); x_72 = lean_expr_update_mdata(x_2, x_71); return x_72; } @@ -1189,7 +1624,7 @@ lean_inc(x_74); lean_inc(x_73); lean_dec(x_2); lean_inc(x_74); -x_76 = l_Lean_Expr_replace___main(x_1, x_74); +x_76 = l_Lean_Expr_replace(x_1, x_74); x_77 = lean_alloc_ctor(10, 2, 8); lean_ctor_set(x_77, 0, x_73); lean_ctor_set(x_77, 1, x_74); @@ -1207,7 +1642,7 @@ if (x_79 == 0) lean_object* x_80; lean_object* x_81; lean_object* x_82; x_80 = lean_ctor_get(x_2, 2); lean_inc(x_80); -x_81 = l_Lean_Expr_replace___main(x_1, x_80); +x_81 = l_Lean_Expr_replace(x_1, x_80); x_82 = lean_expr_update_proj(x_2, x_81); return x_82; } @@ -1223,7 +1658,7 @@ lean_inc(x_84); lean_inc(x_83); lean_dec(x_2); lean_inc(x_85); -x_87 = l_Lean_Expr_replace___main(x_1, x_85); +x_87 = l_Lean_Expr_replace(x_1, x_85); x_88 = lean_alloc_ctor(11, 3, 8); lean_ctor_set(x_88, 0, x_83); lean_ctor_set(x_88, 1, x_84); @@ -1252,14 +1687,6 @@ return x_90; } } } -lean_object* l_Lean_Expr_replace(lean_object* x_1, lean_object* x_2) { -_start: -{ -lean_object* x_3; -x_3 = l_Lean_Expr_replace___main(x_1, x_2); -return x_3; -} -} lean_object* initialize_Init(lean_object*); lean_object* initialize_Lean_Expr(lean_object*); static bool _G_initialized = false; @@ -1274,8 +1701,14 @@ res = initialize_Lean_Expr(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); l_Lean_Expr_ReplaceImpl_cacheSize = _init_l_Lean_Expr_ReplaceImpl_cacheSize(); -l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___closed__1 = _init_l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___closed__1(); -lean_mark_persistent(l_Lean_Expr_ReplaceImpl_replaceUnsafeM___main___closed__1); +l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___closed__1 = _init_l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___closed__1(); +lean_mark_persistent(l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___closed__1); +l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___closed__2 = _init_l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___closed__2(); +lean_mark_persistent(l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___closed__2); +l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___closed__3 = _init_l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___closed__3(); +lean_mark_persistent(l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___closed__3); +l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___closed__4 = _init_l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___closed__4(); +lean_mark_persistent(l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___closed__4); l_Lean_Expr_ReplaceImpl_initCache___closed__1 = _init_l_Lean_Expr_ReplaceImpl_initCache___closed__1(); lean_mark_persistent(l_Lean_Expr_ReplaceImpl_initCache___closed__1); l_Lean_Expr_ReplaceImpl_initCache___closed__2 = _init_l_Lean_Expr_ReplaceImpl_initCache___closed__2(); diff --git a/stage0/stdlib/Lean/Util/ReplaceLevel.c b/stage0/stdlib/Lean/Util/ReplaceLevel.c index fedbd5f056..5f57eb4e97 100644 --- a/stage0/stdlib/Lean/Util/ReplaceLevel.c +++ b/stage0/stdlib/Lean/Util/ReplaceLevel.c @@ -13,49 +13,161 @@ #ifdef __cplusplus extern "C" { #endif +lean_object* l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM_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_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_Expr_ReplaceLevelImpl_replaceUnsafeM___main(lean_object*, size_t, lean_object*, lean_object*); -lean_object* l_unreachable_x21___rarg(lean_object*); +extern lean_object* l_Lean_Name_getString_x21___closed__3; +lean_object* l_Lean_Expr_replaceLevel_match__1___rarg(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* l_Lean_Level_replace_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_expr_update_mdata(lean_object*, lean_object*); lean_object* lean_array_uset(lean_object*, size_t, lean_object*); +lean_object* l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM_visit(lean_object*, size_t, lean_object*, lean_object*); lean_object* l_Lean_Expr_ReplaceLevelImpl_initCache___closed__3; +lean_object* l_Lean_Expr_replaceLevel_match__1(lean_object*); lean_object* l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_ReplaceLevelImpl_cache(size_t, lean_object*, lean_object*, lean_object*); -lean_object* l_List_map___main___rarg(lean_object*, lean_object*); +lean_object* l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM_visit___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM_visit___closed__4; size_t l_Lean_Expr_ReplaceLevelImpl_cacheSize; -lean_object* l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM___main___closed__1; extern lean_object* l___private_Lean_Data_Format_11__be___main___closed__1; +lean_object* l_Lean_Level_replace_match__2(lean_object*); lean_object* l_Lean_mkLevelIMax(lean_object*, lean_object*); +lean_object* l_Lean_Level_replace_match__2___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM_visit_match__1(lean_object*); lean_object* l_Lean_mkLevelMax(lean_object*, lean_object*); lean_object* l_Lean_Expr_ReplaceLevelImpl_replaceUnsafe(lean_object*, lean_object*); lean_object* l_Lean_Expr_ReplaceLevelImpl_initCache___closed__1; -lean_object* l_Lean_Expr_replaceLevel___main(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_Level_replace(lean_object*, lean_object*); lean_object* l_Lean_Expr_ReplaceLevelImpl_cache___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_List_map___main___at_Lean_Expr_replaceLevel___spec__1(lean_object*, lean_object*); size_t l_USize_mod(size_t, size_t); size_t lean_ptr_addr(lean_object*); lean_object* l_Lean_Expr_replaceLevel(lean_object*, lean_object*); lean_object* l_Lean_mkLevelSucc(lean_object*); lean_object* lean_expr_update_sort(lean_object*, lean_object*); lean_object* l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM(lean_object*, size_t, lean_object*, lean_object*); +lean_object* l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM_visit___closed__1; +lean_object* lean_panic_fn(lean_object*, lean_object*); lean_object* l_Lean_Expr_ReplaceLevelImpl_initCache; -lean_object* l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM___main___boxed(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_Expr_replaceLevel___main___spec__1(lean_object*, lean_object*); +lean_object* l_List_map___main___at_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM_visit___spec__1(lean_object*, lean_object*); +lean_object* l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM_visit___closed__3; lean_object* lean_mk_array(lean_object*, lean_object*); -lean_object* l_Lean_Level_replace___main(lean_object*, lean_object*); lean_object* l_Lean_Expr_ReplaceLevelImpl_initCache___closed__2; +lean_object* l_Lean_Level_replace_match__1(lean_object*); lean_object* lean_expr_update_app(lean_object*, lean_object*, lean_object*); lean_object* lean_expr_update_const(lean_object*, lean_object*); +lean_object* l___private_Init_Util_2__mkPanicMessageWithDecl(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_monadInhabited___rarg(lean_object*, lean_object*); -lean_object* l_Lean_Level_replace___main(lean_object* x_1, lean_object* x_2) { +lean_object* l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM_visit___closed__2; +lean_object* l_Lean_Level_replace_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 1: +{ +lean_object* x_6; uint64_t x_7; lean_object* x_8; lean_object* x_9; +lean_dec(x_5); +lean_dec(x_3); +lean_dec(x_2); +x_6 = lean_ctor_get(x_1, 0); +lean_inc(x_6); +x_7 = lean_ctor_get_uint64(x_1, sizeof(void*)*1); +lean_dec(x_1); +x_8 = lean_box_uint64(x_7); +x_9 = lean_apply_2(x_4, x_6, x_8); +return x_9; +} +case 2: +{ +lean_object* x_10; lean_object* x_11; uint64_t x_12; lean_object* x_13; lean_object* x_14; +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +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_2, x_10, x_11, x_13); +return x_14; +} +case 3: +{ +lean_object* x_15; lean_object* x_16; uint64_t x_17; lean_object* x_18; lean_object* x_19; +lean_dec(x_5); +lean_dec(x_4); +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_3, x_15, x_16, x_18); +return x_19; +} +default: +{ +lean_object* x_20; +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_20 = lean_apply_1(x_5, x_1); +return x_20; +} +} +} +} +lean_object* l_Lean_Level_replace_match__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Level_replace_match__1___rarg), 5, 0); +return x_2; +} +} +lean_object* l_Lean_Level_replace_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_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_Level_replace_match__2(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Level_replace_match__2___rarg), 3, 0); +return x_2; +} +} +lean_object* l_Lean_Level_replace(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; @@ -71,7 +183,7 @@ lean_object* x_4; lean_object* x_5; lean_object* x_6; x_4 = lean_ctor_get(x_2, 0); lean_inc(x_4); lean_dec(x_2); -x_5 = l_Lean_Level_replace___main(x_1, x_4); +x_5 = l_Lean_Level_replace(x_1, x_4); x_6 = l_Lean_mkLevelSucc(x_5); return x_6; } @@ -84,8 +196,8 @@ x_8 = lean_ctor_get(x_2, 1); lean_inc(x_8); lean_dec(x_2); lean_inc(x_1); -x_9 = l_Lean_Level_replace___main(x_1, x_7); -x_10 = l_Lean_Level_replace___main(x_1, x_8); +x_9 = l_Lean_Level_replace(x_1, x_7); +x_10 = l_Lean_Level_replace(x_1, x_8); x_11 = l_Lean_mkLevelMax(x_9, x_10); return x_11; } @@ -98,8 +210,8 @@ x_13 = lean_ctor_get(x_2, 1); lean_inc(x_13); lean_dec(x_2); lean_inc(x_1); -x_14 = l_Lean_Level_replace___main(x_1, x_12); -x_15 = l_Lean_Level_replace___main(x_1, x_13); +x_14 = l_Lean_Level_replace(x_1, x_12); +x_15 = l_Lean_Level_replace(x_1, x_13); x_16 = l_Lean_mkLevelIMax(x_14, x_15); return x_16; } @@ -122,14 +234,6 @@ return x_17; } } } -lean_object* l_Lean_Level_replace(lean_object* x_1, lean_object* x_2) { -_start: -{ -lean_object* x_3; -x_3 = l_Lean_Level_replace___main(x_1, x_2); -return x_3; -} -} static size_t _init_l_Lean_Expr_ReplaceLevelImpl_cacheSize() { _start: { @@ -169,7 +273,290 @@ x_6 = l_Lean_Expr_ReplaceLevelImpl_cache(x_5, x_2, x_3, x_4); return x_6; } } -static lean_object* _init_l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM___main___closed__1() { +lean_object* l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM_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, lean_object* x_10, lean_object* x_11) { +_start: +{ +switch (lean_obj_tag(x_1)) { +case 3: +{ +lean_object* x_12; uint64_t x_13; lean_object* x_14; lean_object* x_15; +lean_dec(x_11); +lean_dec(x_10); +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_12 = lean_ctor_get(x_1, 0); +lean_inc(x_12); +x_13 = lean_ctor_get_uint64(x_1, sizeof(void*)*1); +lean_dec(x_1); +x_14 = lean_box_uint64(x_13); +x_15 = lean_apply_2(x_8, x_12, x_14); +return x_15; +} +case 4: +{ +lean_object* x_16; lean_object* x_17; uint64_t x_18; lean_object* x_19; lean_object* x_20; +lean_dec(x_11); +lean_dec(x_10); +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_16 = lean_ctor_get(x_1, 0); +lean_inc(x_16); +x_17 = lean_ctor_get(x_1, 1); +lean_inc(x_17); +x_18 = lean_ctor_get_uint64(x_1, sizeof(void*)*2); +lean_dec(x_1); +x_19 = lean_box_uint64(x_18); +x_20 = lean_apply_3(x_9, x_16, x_17, x_19); +return x_20; +} +case 5: +{ +lean_object* x_21; lean_object* x_22; uint64_t x_23; lean_object* x_24; lean_object* x_25; +lean_dec(x_11); +lean_dec(x_10); +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_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_uint64(x_1, sizeof(void*)*2); +lean_dec(x_1); +x_24 = lean_box_uint64(x_23); +x_25 = lean_apply_3(x_6, x_21, x_22, x_24); +return x_25; +} +case 6: +{ +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_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_4); +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_uint64(x_1, sizeof(void*)*3); +lean_dec(x_1); +x_30 = lean_box_uint64(x_29); +x_31 = lean_apply_4(x_3, x_26, x_27, x_28, x_30); +return x_31; +} +case 7: +{ +lean_object* x_32; lean_object* x_33; lean_object* x_34; uint64_t x_35; lean_object* x_36; lean_object* x_37; +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_4); +lean_dec(x_3); +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_uint64(x_1, sizeof(void*)*3); +lean_dec(x_1); +x_36 = lean_box_uint64(x_35); +x_37 = lean_apply_4(x_2, x_32, x_33, x_34, x_36); +return x_37; +} +case 8: +{ +lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; uint64_t x_42; lean_object* x_43; lean_object* x_44; +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_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(x_1, 3); +lean_inc(x_41); +x_42 = lean_ctor_get_uint64(x_1, sizeof(void*)*4); +lean_dec(x_1); +x_43 = lean_box_uint64(x_42); +x_44 = lean_apply_5(x_5, x_38, x_39, x_40, x_41, x_43); +return x_44; +} +case 10: +{ +lean_object* x_45; lean_object* x_46; uint64_t x_47; lean_object* x_48; lean_object* x_49; +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); +lean_dec(x_2); +x_45 = lean_ctor_get(x_1, 0); +lean_inc(x_45); +x_46 = lean_ctor_get(x_1, 1); +lean_inc(x_46); +x_47 = lean_ctor_get_uint64(x_1, sizeof(void*)*2); +lean_dec(x_1); +x_48 = lean_box_uint64(x_47); +x_49 = lean_apply_3(x_4, x_45, x_46, x_48); +return x_49; +} +case 11: +{ +lean_object* x_50; lean_object* x_51; lean_object* x_52; uint64_t x_53; lean_object* x_54; lean_object* x_55; +lean_dec(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_4); +lean_dec(x_3); +lean_dec(x_2); +x_50 = lean_ctor_get(x_1, 0); +lean_inc(x_50); +x_51 = lean_ctor_get(x_1, 1); +lean_inc(x_51); +x_52 = lean_ctor_get(x_1, 2); +lean_inc(x_52); +x_53 = lean_ctor_get_uint64(x_1, sizeof(void*)*3); +lean_dec(x_1); +x_54 = lean_box_uint64(x_53); +x_55 = lean_apply_4(x_7, x_50, x_51, x_52, x_54); +return x_55; +} +case 12: +{ +lean_object* x_56; lean_object* x_57; lean_object* x_58; uint64_t x_59; lean_object* x_60; lean_object* x_61; +lean_dec(x_11); +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); +x_56 = lean_ctor_get(x_1, 0); +lean_inc(x_56); +x_57 = lean_ctor_get(x_1, 1); +lean_inc(x_57); +x_58 = lean_ctor_get(x_1, 2); +lean_inc(x_58); +x_59 = lean_ctor_get_uint64(x_1, sizeof(void*)*3); +lean_dec(x_1); +x_60 = lean_box_uint64(x_59); +x_61 = lean_apply_4(x_10, x_56, x_57, x_58, x_60); +return x_61; +} +default: +{ +lean_object* x_62; +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_4); +lean_dec(x_3); +lean_dec(x_2); +x_62 = lean_apply_1(x_11, x_1); +return x_62; +} +} +} +} +lean_object* l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM_visit_match__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM_visit_match__1___rarg), 11, 0); +return x_2; +} +} +lean_object* l_List_map___main___at_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM_visit___spec__1(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; +x_5 = lean_ctor_get(x_2, 0); +x_6 = lean_ctor_get(x_2, 1); +lean_inc(x_1); +x_7 = l_Lean_Level_replace(x_1, x_5); +x_8 = l_List_map___main___at_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM_visit___spec__1(x_1, x_6); +lean_ctor_set(x_2, 1, x_8); +lean_ctor_set(x_2, 0, x_7); +return x_2; +} +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_2, 0); +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_Level_replace(x_1, x_9); +x_12 = l_List_map___main___at_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM_visit___spec__1(x_1, x_10); +x_13 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_13, 0, x_11); +lean_ctor_set(x_13, 1, x_12); +return x_13; +} +} +} +} +static lean_object* _init_l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM_visit___closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -179,7 +566,36 @@ x_3 = l_monadInhabited___rarg(x_1, x_2); return x_3; } } -lean_object* l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM___main(lean_object* x_1, size_t x_2, lean_object* x_3, lean_object* x_4) { +static lean_object* _init_l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM_visit___closed__2() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("Lean.Util.ReplaceLevel"); +return x_1; +} +} +static lean_object* _init_l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM_visit___closed__3() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("Lean.Expr.ReplaceLevelImpl.replaceUnsafeM.visit"); +return x_1; +} +} +static lean_object* _init_l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM_visit___closed__4() { +_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_Expr_ReplaceLevelImpl_replaceUnsafeM_visit___closed__2; +x_2 = l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM_visit___closed__3; +x_3 = lean_unsigned_to_nat(55u); +x_4 = lean_unsigned_to_nat(36u); +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); +return x_6; +} +} +lean_object* l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM_visit(lean_object* x_1, size_t x_2, lean_object* x_3, lean_object* x_4) { _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; @@ -201,7 +617,7 @@ x_11 = lean_ctor_get(x_3, 0); lean_inc(x_11); x_12 = lean_ctor_get_uint64(x_3, sizeof(void*)*1); lean_inc(x_11); -x_13 = l_Lean_Level_replace___main(x_1, x_11); +x_13 = l_Lean_Level_replace(x_1, x_11); x_14 = lean_alloc_ctor(3, 1, 8); lean_ctor_set(x_14, 0, x_11); lean_ctor_set_uint64(x_14, sizeof(void*)*1, x_12); @@ -222,766 +638,765 @@ return x_20; } case 4: { -lean_object* x_21; lean_object* x_22; uint64_t 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_21; lean_object* x_22; uint64_t 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_3, 0); lean_inc(x_21); x_22 = lean_ctor_get(x_3, 1); lean_inc(x_22); x_23 = lean_ctor_get_uint64(x_3, sizeof(void*)*2); -x_24 = lean_alloc_closure((void*)(l_Lean_Level_replace), 2, 1); -lean_closure_set(x_24, 0, x_1); lean_inc(x_22); -x_25 = l_List_map___main___rarg(x_24, x_22); -x_26 = lean_alloc_ctor(4, 2, 8); -lean_ctor_set(x_26, 0, x_21); -lean_ctor_set(x_26, 1, x_22); -lean_ctor_set_uint64(x_26, sizeof(void*)*2, x_23); -x_27 = lean_expr_update_const(x_26, x_25); -x_28 = lean_array_uset(x_7, x_6, x_3); -x_29 = lean_ctor_get(x_4, 1); -lean_inc(x_29); +x_24 = l_List_map___main___at_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM_visit___spec__1(x_1, x_22); +x_25 = lean_alloc_ctor(4, 2, 8); +lean_ctor_set(x_25, 0, x_21); +lean_ctor_set(x_25, 1, x_22); +lean_ctor_set_uint64(x_25, sizeof(void*)*2, x_23); +x_26 = lean_expr_update_const(x_25, x_24); +x_27 = lean_array_uset(x_7, x_6, x_3); +x_28 = lean_ctor_get(x_4, 1); +lean_inc(x_28); lean_dec(x_4); -lean_inc(x_27); -x_30 = lean_array_uset(x_29, x_6, x_27); +lean_inc(x_26); +x_29 = lean_array_uset(x_28, x_6, x_26); +x_30 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_30, 0, x_27); +lean_ctor_set(x_30, 1, x_29); x_31 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_31, 0, x_28); +lean_ctor_set(x_31, 0, x_26); 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; +return x_31; } 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_object* x_32; lean_object* x_33; uint64_t x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; uint8_t x_39; lean_dec(x_7); -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); +x_32 = lean_ctor_get(x_3, 0); +lean_inc(x_32); +x_33 = lean_ctor_get(x_3, 1); lean_inc(x_33); +x_34 = lean_ctor_get_uint64(x_3, sizeof(void*)*2); +lean_inc(x_32); lean_inc(x_1); -x_36 = l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM___main(x_1, x_2, x_33, x_4); -x_37 = lean_ctor_get(x_36, 0); +x_35 = l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM_visit(x_1, x_2, x_32, x_4); +x_36 = lean_ctor_get(x_35, 0); +lean_inc(x_36); +x_37 = lean_ctor_get(x_35, 1); 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(x_1, x_2, x_34, x_38); -x_40 = !lean_is_exclusive(x_39); -if (x_40 == 0) +lean_dec(x_35); +lean_inc(x_33); +x_38 = l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM_visit(x_1, x_2, x_33, x_37); +x_39 = !lean_is_exclusive(x_38); +if (x_39 == 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_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, 0); +x_41 = lean_ctor_get(x_38, 1); +x_42 = lean_ctor_get(x_41, 0); +lean_inc(x_42); lean_inc(x_3); -x_44 = lean_array_uset(x_43, x_6, x_3); -x_45 = !lean_is_exclusive(x_3); -if (x_45 == 0) +x_43 = lean_array_uset(x_42, x_6, x_3); +x_44 = !lean_is_exclusive(x_3); +if (x_44 == 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_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_3, 1); +lean_dec(x_45); +x_46 = lean_ctor_get(x_3, 0); lean_dec(x_46); -x_47 = lean_ctor_get(x_3, 0); -lean_dec(x_47); -x_48 = lean_ctor_get(x_42, 1); +x_47 = lean_ctor_get(x_41, 1); +lean_inc(x_47); +lean_dec(x_41); +x_48 = lean_expr_update_app(x_3, x_36, x_40); 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_6, 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; +x_49 = lean_array_uset(x_47, x_6, x_48); +x_50 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_50, 0, x_43); +lean_ctor_set(x_50, 1, x_49); +lean_ctor_set(x_38, 1, x_50); +lean_ctor_set(x_38, 0, x_48); +return x_38; } else { -lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; +lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; 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_6, 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; +x_51 = lean_ctor_get(x_41, 1); +lean_inc(x_51); +lean_dec(x_41); +x_52 = lean_alloc_ctor(5, 2, 8); +lean_ctor_set(x_52, 0, x_32); +lean_ctor_set(x_52, 1, x_33); +lean_ctor_set_uint64(x_52, sizeof(void*)*2, x_34); +x_53 = lean_expr_update_app(x_52, x_36, x_40); +lean_inc(x_53); +x_54 = lean_array_uset(x_51, x_6, x_53); +x_55 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_55, 0, x_43); +lean_ctor_set(x_55, 1, x_54); +lean_ctor_set(x_38, 1, x_55); +lean_ctor_set(x_38, 0, x_53); +return x_38; } } 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_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; +x_56 = lean_ctor_get(x_38, 0); +x_57 = lean_ctor_get(x_38, 1); lean_inc(x_57); -lean_dec(x_39); -x_59 = lean_ctor_get(x_58, 0); -lean_inc(x_59); +lean_inc(x_56); +lean_dec(x_38); +x_58 = lean_ctor_get(x_57, 0); +lean_inc(x_58); lean_inc(x_3); -x_60 = lean_array_uset(x_59, x_6, x_3); +x_59 = lean_array_uset(x_58, x_6, x_3); if (lean_is_exclusive(x_3)) { lean_ctor_release(x_3, 0); lean_ctor_release(x_3, 1); - x_61 = x_3; + x_60 = x_3; } else { lean_dec_ref(x_3); - x_61 = lean_box(0); + x_60 = 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); +x_61 = lean_ctor_get(x_57, 1); +lean_inc(x_61); +lean_dec(x_57); +if (lean_is_scalar(x_60)) { + x_62 = lean_alloc_ctor(5, 2, 8); } else { - x_63 = x_61; + x_62 = x_60; } -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_6, x_64); +lean_ctor_set(x_62, 0, x_32); +lean_ctor_set(x_62, 1, x_33); +lean_ctor_set_uint64(x_62, sizeof(void*)*2, x_34); +x_63 = lean_expr_update_app(x_62, x_36, x_56); +lean_inc(x_63); +x_64 = lean_array_uset(x_61, x_6, x_63); +x_65 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_65, 0, x_59); +lean_ctor_set(x_65, 1, x_64); x_66 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_66, 0, x_60); +lean_ctor_set(x_66, 0, x_63); 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; +return x_66; } } 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_object* x_67; lean_object* x_68; lean_object* x_69; uint64_t x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; uint8_t x_75; lean_dec(x_7); -x_68 = lean_ctor_get(x_3, 0); +x_67 = lean_ctor_get(x_3, 0); +lean_inc(x_67); +x_68 = lean_ctor_get(x_3, 1); 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); +x_69 = lean_ctor_get(x_3, 2); lean_inc(x_69); +x_70 = lean_ctor_get_uint64(x_3, sizeof(void*)*3); +lean_inc(x_68); lean_inc(x_1); -x_72 = l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM___main(x_1, x_2, x_69, x_4); -x_73 = lean_ctor_get(x_72, 0); +x_71 = l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM_visit(x_1, x_2, x_68, x_4); +x_72 = lean_ctor_get(x_71, 0); +lean_inc(x_72); +x_73 = lean_ctor_get(x_71, 1); 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(x_1, x_2, x_70, x_74); -x_76 = !lean_is_exclusive(x_75); -if (x_76 == 0) +lean_dec(x_71); +lean_inc(x_69); +x_74 = l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM_visit(x_1, x_2, x_69, x_73); +x_75 = !lean_is_exclusive(x_74); +if (x_75 == 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_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; uint8_t x_80; +x_76 = lean_ctor_get(x_74, 0); +x_77 = lean_ctor_get(x_74, 1); +x_78 = lean_ctor_get(x_77, 0); +lean_inc(x_78); lean_inc(x_3); -x_80 = lean_array_uset(x_79, x_6, x_3); -x_81 = !lean_is_exclusive(x_3); -if (x_81 == 0) +x_79 = lean_array_uset(x_78, x_6, x_3); +x_80 = !lean_is_exclusive(x_3); +if (x_80 == 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_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; uint8_t x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; +x_81 = lean_ctor_get(x_3, 2); +lean_dec(x_81); +x_82 = lean_ctor_get(x_3, 1); lean_dec(x_82); -x_83 = lean_ctor_get(x_3, 1); +x_83 = lean_ctor_get(x_3, 0); 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_6, 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; +x_84 = lean_ctor_get(x_77, 1); +lean_inc(x_84); +lean_dec(x_77); +x_85 = (uint8_t)((x_70 << 24) >> 61); +x_86 = lean_expr_update_lambda(x_3, x_85, x_72, x_76); +lean_inc(x_86); +x_87 = lean_array_uset(x_84, x_6, x_86); +x_88 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_88, 0, x_79); +lean_ctor_set(x_88, 1, x_87); +lean_ctor_set(x_74, 1, x_88); +lean_ctor_set(x_74, 0, x_86); +return x_74; } 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_89; lean_object* x_90; uint8_t x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; 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_6, 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; +x_89 = lean_ctor_get(x_77, 1); +lean_inc(x_89); +lean_dec(x_77); +x_90 = lean_alloc_ctor(6, 3, 8); +lean_ctor_set(x_90, 0, x_67); +lean_ctor_set(x_90, 1, x_68); +lean_ctor_set(x_90, 2, x_69); +lean_ctor_set_uint64(x_90, sizeof(void*)*3, x_70); +x_91 = (uint8_t)((x_70 << 24) >> 61); +x_92 = lean_expr_update_lambda(x_90, x_91, x_72, x_76); +lean_inc(x_92); +x_93 = lean_array_uset(x_89, x_6, x_92); +x_94 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_94, 0, x_79); +lean_ctor_set(x_94, 1, x_93); +lean_ctor_set(x_74, 1, x_94); +lean_ctor_set(x_74, 0, x_92); +return x_74; } } 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_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; uint8_t x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; +x_95 = lean_ctor_get(x_74, 0); +x_96 = lean_ctor_get(x_74, 1); lean_inc(x_96); -lean_dec(x_75); -x_98 = lean_ctor_get(x_97, 0); -lean_inc(x_98); +lean_inc(x_95); +lean_dec(x_74); +x_97 = lean_ctor_get(x_96, 0); +lean_inc(x_97); lean_inc(x_3); -x_99 = lean_array_uset(x_98, x_6, x_3); +x_98 = lean_array_uset(x_97, 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_100 = x_3; + x_99 = x_3; } else { lean_dec_ref(x_3); - x_100 = lean_box(0); + x_99 = 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); +x_100 = lean_ctor_get(x_96, 1); +lean_inc(x_100); +lean_dec(x_96); +if (lean_is_scalar(x_99)) { + x_101 = lean_alloc_ctor(6, 3, 8); } else { - x_102 = x_100; + x_101 = x_99; } -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_6, x_104); +lean_ctor_set(x_101, 0, x_67); +lean_ctor_set(x_101, 1, x_68); +lean_ctor_set(x_101, 2, x_69); +lean_ctor_set_uint64(x_101, sizeof(void*)*3, x_70); +x_102 = (uint8_t)((x_70 << 24) >> 61); +x_103 = lean_expr_update_lambda(x_101, x_102, x_72, x_95); +lean_inc(x_103); +x_104 = lean_array_uset(x_100, x_6, x_103); +x_105 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_105, 0, x_98); +lean_ctor_set(x_105, 1, x_104); x_106 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_106, 0, x_99); +lean_ctor_set(x_106, 0, x_103); 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; +return x_106; } } 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_object* x_107; lean_object* x_108; lean_object* x_109; uint64_t x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; uint8_t x_115; lean_dec(x_7); -x_108 = lean_ctor_get(x_3, 0); +x_107 = lean_ctor_get(x_3, 0); +lean_inc(x_107); +x_108 = lean_ctor_get(x_3, 1); 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); +x_109 = lean_ctor_get(x_3, 2); lean_inc(x_109); +x_110 = lean_ctor_get_uint64(x_3, sizeof(void*)*3); +lean_inc(x_108); lean_inc(x_1); -x_112 = l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM___main(x_1, x_2, x_109, x_4); -x_113 = lean_ctor_get(x_112, 0); +x_111 = l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM_visit(x_1, x_2, x_108, x_4); +x_112 = lean_ctor_get(x_111, 0); +lean_inc(x_112); +x_113 = lean_ctor_get(x_111, 1); 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(x_1, x_2, x_110, x_114); -x_116 = !lean_is_exclusive(x_115); -if (x_116 == 0) +lean_dec(x_111); +lean_inc(x_109); +x_114 = l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM_visit(x_1, x_2, x_109, x_113); +x_115 = !lean_is_exclusive(x_114); +if (x_115 == 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_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; uint8_t x_120; +x_116 = lean_ctor_get(x_114, 0); +x_117 = lean_ctor_get(x_114, 1); +x_118 = lean_ctor_get(x_117, 0); +lean_inc(x_118); lean_inc(x_3); -x_120 = lean_array_uset(x_119, x_6, x_3); -x_121 = !lean_is_exclusive(x_3); -if (x_121 == 0) +x_119 = lean_array_uset(x_118, x_6, x_3); +x_120 = !lean_is_exclusive(x_3); +if (x_120 == 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_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; uint8_t x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128; +x_121 = lean_ctor_get(x_3, 2); +lean_dec(x_121); +x_122 = lean_ctor_get(x_3, 1); lean_dec(x_122); -x_123 = lean_ctor_get(x_3, 1); +x_123 = lean_ctor_get(x_3, 0); 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_6, 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; +x_124 = lean_ctor_get(x_117, 1); +lean_inc(x_124); +lean_dec(x_117); +x_125 = (uint8_t)((x_110 << 24) >> 61); +x_126 = lean_expr_update_forall(x_3, x_125, x_112, x_116); +lean_inc(x_126); +x_127 = lean_array_uset(x_124, x_6, x_126); +x_128 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_128, 0, x_119); +lean_ctor_set(x_128, 1, x_127); +lean_ctor_set(x_114, 1, x_128); +lean_ctor_set(x_114, 0, x_126); +return x_114; } 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_129; lean_object* x_130; uint8_t x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; 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_6, 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; +x_129 = lean_ctor_get(x_117, 1); +lean_inc(x_129); +lean_dec(x_117); +x_130 = lean_alloc_ctor(7, 3, 8); +lean_ctor_set(x_130, 0, x_107); +lean_ctor_set(x_130, 1, x_108); +lean_ctor_set(x_130, 2, x_109); +lean_ctor_set_uint64(x_130, sizeof(void*)*3, x_110); +x_131 = (uint8_t)((x_110 << 24) >> 61); +x_132 = lean_expr_update_forall(x_130, x_131, x_112, x_116); +lean_inc(x_132); +x_133 = lean_array_uset(x_129, x_6, x_132); +x_134 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_134, 0, x_119); +lean_ctor_set(x_134, 1, x_133); +lean_ctor_set(x_114, 1, x_134); +lean_ctor_set(x_114, 0, x_132); +return x_114; } } 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_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; uint8_t x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; +x_135 = lean_ctor_get(x_114, 0); +x_136 = lean_ctor_get(x_114, 1); lean_inc(x_136); -lean_dec(x_115); -x_138 = lean_ctor_get(x_137, 0); -lean_inc(x_138); +lean_inc(x_135); +lean_dec(x_114); +x_137 = lean_ctor_get(x_136, 0); +lean_inc(x_137); lean_inc(x_3); -x_139 = lean_array_uset(x_138, x_6, x_3); +x_138 = lean_array_uset(x_137, 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_140 = x_3; + x_139 = x_3; } else { lean_dec_ref(x_3); - x_140 = lean_box(0); + x_139 = 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); +x_140 = lean_ctor_get(x_136, 1); +lean_inc(x_140); +lean_dec(x_136); +if (lean_is_scalar(x_139)) { + x_141 = lean_alloc_ctor(7, 3, 8); } else { - x_142 = x_140; + x_141 = x_139; } -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_6, x_144); +lean_ctor_set(x_141, 0, x_107); +lean_ctor_set(x_141, 1, x_108); +lean_ctor_set(x_141, 2, x_109); +lean_ctor_set_uint64(x_141, sizeof(void*)*3, x_110); +x_142 = (uint8_t)((x_110 << 24) >> 61); +x_143 = lean_expr_update_forall(x_141, x_142, x_112, x_135); +lean_inc(x_143); +x_144 = lean_array_uset(x_140, x_6, x_143); +x_145 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_145, 0, x_138); +lean_ctor_set(x_145, 1, x_144); x_146 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_146, 0, x_139); +lean_ctor_set(x_146, 0, x_143); 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; +return x_146; } } 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_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; uint64_t 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; uint8_t x_159; lean_dec(x_7); -x_148 = lean_ctor_get(x_3, 0); +x_147 = lean_ctor_get(x_3, 0); +lean_inc(x_147); +x_148 = lean_ctor_get(x_3, 1); lean_inc(x_148); -x_149 = lean_ctor_get(x_3, 1); +x_149 = lean_ctor_get(x_3, 2); lean_inc(x_149); -x_150 = lean_ctor_get(x_3, 2); +x_150 = lean_ctor_get(x_3, 3); 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); +x_151 = lean_ctor_get_uint64(x_3, sizeof(void*)*4); +lean_inc(x_148); lean_inc(x_1); -x_153 = l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM___main(x_1, x_2, x_149, x_4); -x_154 = lean_ctor_get(x_153, 0); +x_152 = l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM_visit(x_1, x_2, x_148, x_4); +x_153 = lean_ctor_get(x_152, 0); +lean_inc(x_153); +x_154 = lean_ctor_get(x_152, 1); 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_dec(x_152); +lean_inc(x_149); lean_inc(x_1); -x_156 = l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM___main(x_1, x_2, x_150, x_155); -x_157 = lean_ctor_get(x_156, 0); +x_155 = l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM_visit(x_1, x_2, x_149, x_154); +x_156 = lean_ctor_get(x_155, 0); +lean_inc(x_156); +x_157 = lean_ctor_get(x_155, 1); 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(x_1, x_2, x_151, x_158); -x_160 = !lean_is_exclusive(x_159); -if (x_160 == 0) +lean_dec(x_155); +lean_inc(x_150); +x_158 = l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM_visit(x_1, x_2, x_150, x_157); +x_159 = !lean_is_exclusive(x_158); +if (x_159 == 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_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; uint8_t x_164; +x_160 = lean_ctor_get(x_158, 0); +x_161 = lean_ctor_get(x_158, 1); +x_162 = lean_ctor_get(x_161, 0); +lean_inc(x_162); lean_inc(x_3); -x_164 = lean_array_uset(x_163, x_6, x_3); -x_165 = !lean_is_exclusive(x_3); -if (x_165 == 0) +x_163 = lean_array_uset(x_162, x_6, x_3); +x_164 = !lean_is_exclusive(x_3); +if (x_164 == 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_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; +x_165 = lean_ctor_get(x_3, 3); +lean_dec(x_165); +x_166 = lean_ctor_get(x_3, 2); lean_dec(x_166); -x_167 = lean_ctor_get(x_3, 2); +x_167 = lean_ctor_get(x_3, 1); lean_dec(x_167); -x_168 = lean_ctor_get(x_3, 1); +x_168 = lean_ctor_get(x_3, 0); lean_dec(x_168); -x_169 = lean_ctor_get(x_3, 0); -lean_dec(x_169); -x_170 = lean_ctor_get(x_162, 1); +x_169 = lean_ctor_get(x_161, 1); +lean_inc(x_169); +lean_dec(x_161); +x_170 = lean_expr_update_let(x_3, x_153, x_156, x_160); 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_6, 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; +x_171 = lean_array_uset(x_169, x_6, x_170); +x_172 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_172, 0, x_163); +lean_ctor_set(x_172, 1, x_171); +lean_ctor_set(x_158, 1, x_172); +lean_ctor_set(x_158, 0, x_170); +return x_158; } else { -lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; +lean_object* x_173; lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; 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_6, 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; +x_173 = lean_ctor_get(x_161, 1); +lean_inc(x_173); +lean_dec(x_161); +x_174 = lean_alloc_ctor(8, 4, 8); +lean_ctor_set(x_174, 0, x_147); +lean_ctor_set(x_174, 1, x_148); +lean_ctor_set(x_174, 2, x_149); +lean_ctor_set(x_174, 3, x_150); +lean_ctor_set_uint64(x_174, sizeof(void*)*4, x_151); +x_175 = lean_expr_update_let(x_174, x_153, x_156, x_160); +lean_inc(x_175); +x_176 = lean_array_uset(x_173, x_6, x_175); +x_177 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_177, 0, x_163); +lean_ctor_set(x_177, 1, x_176); +lean_ctor_set(x_158, 1, x_177); +lean_ctor_set(x_158, 0, x_175); +return x_158; } } 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_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; +x_178 = lean_ctor_get(x_158, 0); +x_179 = lean_ctor_get(x_158, 1); lean_inc(x_179); -lean_dec(x_159); -x_181 = lean_ctor_get(x_180, 0); -lean_inc(x_181); +lean_inc(x_178); +lean_dec(x_158); +x_180 = lean_ctor_get(x_179, 0); +lean_inc(x_180); lean_inc(x_3); -x_182 = lean_array_uset(x_181, x_6, x_3); +x_181 = lean_array_uset(x_180, 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_183 = x_3; + x_182 = x_3; } else { lean_dec_ref(x_3); - x_183 = lean_box(0); + x_182 = 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); +x_183 = lean_ctor_get(x_179, 1); +lean_inc(x_183); +lean_dec(x_179); +if (lean_is_scalar(x_182)) { + x_184 = lean_alloc_ctor(8, 4, 8); } else { - x_185 = x_183; + x_184 = x_182; } -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_6, x_186); +lean_ctor_set(x_184, 0, x_147); +lean_ctor_set(x_184, 1, x_148); +lean_ctor_set(x_184, 2, x_149); +lean_ctor_set(x_184, 3, x_150); +lean_ctor_set_uint64(x_184, sizeof(void*)*4, x_151); +x_185 = lean_expr_update_let(x_184, x_153, x_156, x_178); +lean_inc(x_185); +x_186 = lean_array_uset(x_183, x_6, x_185); +x_187 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_187, 0, x_181); +lean_ctor_set(x_187, 1, x_186); x_188 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_188, 0, x_182); +lean_ctor_set(x_188, 0, x_185); 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; +return x_188; } } case 10: { -lean_object* x_190; lean_object* x_191; uint64_t x_192; lean_object* x_193; uint8_t x_194; +lean_object* x_189; lean_object* x_190; uint64_t x_191; lean_object* x_192; uint8_t x_193; lean_dec(x_7); -x_190 = lean_ctor_get(x_3, 0); +x_189 = lean_ctor_get(x_3, 0); +lean_inc(x_189); +x_190 = lean_ctor_get(x_3, 1); 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(x_1, x_2, x_191, x_4); -x_194 = !lean_is_exclusive(x_193); -if (x_194 == 0) +x_191 = lean_ctor_get_uint64(x_3, sizeof(void*)*2); +lean_inc(x_190); +x_192 = l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM_visit(x_1, x_2, x_190, x_4); +x_193 = !lean_is_exclusive(x_192); +if (x_193 == 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_object* x_194; lean_object* x_195; lean_object* x_196; lean_object* x_197; uint8_t x_198; +x_194 = lean_ctor_get(x_192, 0); +x_195 = lean_ctor_get(x_192, 1); +x_196 = lean_ctor_get(x_195, 0); +lean_inc(x_196); lean_inc(x_3); -x_198 = lean_array_uset(x_197, x_6, x_3); -x_199 = !lean_is_exclusive(x_3); -if (x_199 == 0) +x_197 = lean_array_uset(x_196, x_6, x_3); +x_198 = !lean_is_exclusive(x_3); +if (x_198 == 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_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; +x_199 = lean_ctor_get(x_3, 1); +lean_dec(x_199); +x_200 = lean_ctor_get(x_3, 0); lean_dec(x_200); -x_201 = lean_ctor_get(x_3, 0); -lean_dec(x_201); -x_202 = lean_ctor_get(x_196, 1); +x_201 = lean_ctor_get(x_195, 1); +lean_inc(x_201); +lean_dec(x_195); +x_202 = lean_expr_update_mdata(x_3, x_194); 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_6, 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; +x_203 = lean_array_uset(x_201, x_6, x_202); +x_204 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_204, 0, x_197); +lean_ctor_set(x_204, 1, x_203); +lean_ctor_set(x_192, 1, x_204); +lean_ctor_set(x_192, 0, x_202); +return x_192; } else { -lean_object* x_206; lean_object* x_207; lean_object* x_208; lean_object* x_209; lean_object* x_210; +lean_object* x_205; lean_object* x_206; lean_object* x_207; lean_object* x_208; lean_object* x_209; 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_6, 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; +x_205 = lean_ctor_get(x_195, 1); +lean_inc(x_205); +lean_dec(x_195); +x_206 = lean_alloc_ctor(10, 2, 8); +lean_ctor_set(x_206, 0, x_189); +lean_ctor_set(x_206, 1, x_190); +lean_ctor_set_uint64(x_206, sizeof(void*)*2, x_191); +x_207 = lean_expr_update_mdata(x_206, x_194); +lean_inc(x_207); +x_208 = lean_array_uset(x_205, x_6, x_207); +x_209 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_209, 0, x_197); +lean_ctor_set(x_209, 1, x_208); +lean_ctor_set(x_192, 1, x_209); +lean_ctor_set(x_192, 0, x_207); +return x_192; } } 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_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; +x_210 = lean_ctor_get(x_192, 0); +x_211 = lean_ctor_get(x_192, 1); lean_inc(x_211); -lean_dec(x_193); -x_213 = lean_ctor_get(x_212, 0); -lean_inc(x_213); +lean_inc(x_210); +lean_dec(x_192); +x_212 = lean_ctor_get(x_211, 0); +lean_inc(x_212); lean_inc(x_3); -x_214 = lean_array_uset(x_213, x_6, x_3); +x_213 = lean_array_uset(x_212, x_6, x_3); if (lean_is_exclusive(x_3)) { lean_ctor_release(x_3, 0); lean_ctor_release(x_3, 1); - x_215 = x_3; + x_214 = x_3; } else { lean_dec_ref(x_3); - x_215 = lean_box(0); + x_214 = 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); +x_215 = lean_ctor_get(x_211, 1); +lean_inc(x_215); +lean_dec(x_211); +if (lean_is_scalar(x_214)) { + x_216 = lean_alloc_ctor(10, 2, 8); } else { - x_217 = x_215; + x_216 = x_214; } -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_6, x_218); +lean_ctor_set(x_216, 0, x_189); +lean_ctor_set(x_216, 1, x_190); +lean_ctor_set_uint64(x_216, sizeof(void*)*2, x_191); +x_217 = lean_expr_update_mdata(x_216, x_210); +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_213); +lean_ctor_set(x_219, 1, x_218); x_220 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_220, 0, x_214); +lean_ctor_set(x_220, 0, x_217); 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; +return x_220; } } 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_object* x_221; lean_object* x_222; lean_object* x_223; uint64_t x_224; lean_object* x_225; uint8_t x_226; lean_dec(x_7); -x_222 = lean_ctor_get(x_3, 0); +x_221 = lean_ctor_get(x_3, 0); +lean_inc(x_221); +x_222 = lean_ctor_get(x_3, 1); lean_inc(x_222); -x_223 = lean_ctor_get(x_3, 1); +x_223 = lean_ctor_get(x_3, 2); 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(x_1, x_2, x_224, x_4); -x_227 = !lean_is_exclusive(x_226); -if (x_227 == 0) +x_224 = lean_ctor_get_uint64(x_3, sizeof(void*)*3); +lean_inc(x_223); +x_225 = l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM_visit(x_1, x_2, x_223, x_4); +x_226 = !lean_is_exclusive(x_225); +if (x_226 == 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_object* x_227; lean_object* x_228; lean_object* x_229; lean_object* x_230; uint8_t x_231; +x_227 = lean_ctor_get(x_225, 0); +x_228 = lean_ctor_get(x_225, 1); +x_229 = lean_ctor_get(x_228, 0); +lean_inc(x_229); lean_inc(x_3); -x_231 = lean_array_uset(x_230, x_6, x_3); -x_232 = !lean_is_exclusive(x_3); -if (x_232 == 0) +x_230 = lean_array_uset(x_229, x_6, x_3); +x_231 = !lean_is_exclusive(x_3); +if (x_231 == 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_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; +x_232 = lean_ctor_get(x_3, 2); +lean_dec(x_232); +x_233 = lean_ctor_get(x_3, 1); lean_dec(x_233); -x_234 = lean_ctor_get(x_3, 1); +x_234 = lean_ctor_get(x_3, 0); lean_dec(x_234); -x_235 = lean_ctor_get(x_3, 0); -lean_dec(x_235); -x_236 = lean_ctor_get(x_229, 1); +x_235 = lean_ctor_get(x_228, 1); +lean_inc(x_235); +lean_dec(x_228); +x_236 = lean_expr_update_proj(x_3, x_227); 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_6, 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; +x_237 = lean_array_uset(x_235, x_6, x_236); +x_238 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_238, 0, x_230); +lean_ctor_set(x_238, 1, x_237); +lean_ctor_set(x_225, 1, x_238); +lean_ctor_set(x_225, 0, x_236); +return x_225; } else { -lean_object* x_240; lean_object* x_241; lean_object* x_242; lean_object* x_243; lean_object* x_244; +lean_object* x_239; lean_object* x_240; lean_object* x_241; lean_object* x_242; lean_object* x_243; 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_6, 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; +x_239 = lean_ctor_get(x_228, 1); +lean_inc(x_239); +lean_dec(x_228); +x_240 = lean_alloc_ctor(11, 3, 8); +lean_ctor_set(x_240, 0, x_221); +lean_ctor_set(x_240, 1, x_222); +lean_ctor_set(x_240, 2, x_223); +lean_ctor_set_uint64(x_240, sizeof(void*)*3, x_224); +x_241 = lean_expr_update_proj(x_240, x_227); +lean_inc(x_241); +x_242 = lean_array_uset(x_239, x_6, x_241); +x_243 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_243, 0, x_230); +lean_ctor_set(x_243, 1, x_242); +lean_ctor_set(x_225, 1, x_243); +lean_ctor_set(x_225, 0, x_241); +return x_225; } } 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_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; +x_244 = lean_ctor_get(x_225, 0); +x_245 = lean_ctor_get(x_225, 1); lean_inc(x_245); -lean_dec(x_226); -x_247 = lean_ctor_get(x_246, 0); -lean_inc(x_247); +lean_inc(x_244); +lean_dec(x_225); +x_246 = lean_ctor_get(x_245, 0); +lean_inc(x_246); lean_inc(x_3); -x_248 = lean_array_uset(x_247, x_6, x_3); +x_247 = lean_array_uset(x_246, 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_249 = x_3; + x_248 = x_3; } else { lean_dec_ref(x_3); - x_249 = lean_box(0); + x_248 = 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); +x_249 = lean_ctor_get(x_245, 1); +lean_inc(x_249); +lean_dec(x_245); +if (lean_is_scalar(x_248)) { + x_250 = lean_alloc_ctor(11, 3, 8); } else { - x_251 = x_249; + x_250 = x_248; } -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_6, x_252); +lean_ctor_set(x_250, 0, x_221); +lean_ctor_set(x_250, 1, x_222); +lean_ctor_set(x_250, 2, x_223); +lean_ctor_set_uint64(x_250, sizeof(void*)*3, x_224); +x_251 = lean_expr_update_proj(x_250, x_244); +lean_inc(x_251); +x_252 = lean_array_uset(x_249, x_6, x_251); +x_253 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_253, 0, x_247); +lean_ctor_set(x_253, 1, x_252); x_254 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_254, 0, x_248); +lean_ctor_set(x_254, 0, x_251); 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; +return x_254; } } case 12: { -lean_object* x_256; lean_object* x_257; lean_object* x_258; +lean_object* x_255; lean_object* x_256; lean_object* x_257; lean_object* x_258; lean_dec(x_7); lean_dec(x_3); lean_dec(x_1); -x_256 = l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM___main___closed__1; -x_257 = l_unreachable_x21___rarg(x_256); +x_255 = l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM_visit___closed__1; +x_256 = l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM_visit___closed__4; +x_257 = lean_panic_fn(x_255, x_256); x_258 = lean_apply_1(x_257, x_4); return x_258; } @@ -1014,13 +1429,13 @@ return x_262; } } } -lean_object* l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM___main___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +lean_object* l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM_visit___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(x_1, x_5, x_3, x_4); +x_6 = l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM_visit(x_1, x_5, x_3, x_4); return x_6; } } @@ -1028,7 +1443,7 @@ lean_object* l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM(lean_object* x_1, size_ _start: { lean_object* x_5; -x_5 = l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM___main(x_1, x_2, x_3, x_4); +x_5 = l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM_visit(x_1, x_2, x_3, x_4); return x_5; } } @@ -1088,14 +1503,211 @@ _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_ReplaceLevelImpl_initCache; -x_5 = l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM___main(x_1, x_3, x_2, x_4); +x_5 = l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM_visit(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* l_List_map___main___at_Lean_Expr_replaceLevel___main___spec__1(lean_object* x_1, lean_object* x_2) { +lean_object* l_Lean_Expr_replaceLevel_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, lean_object* x_10) { +_start: +{ +switch (lean_obj_tag(x_1)) { +case 3: +{ +lean_object* x_11; uint64_t x_12; lean_object* x_13; lean_object* x_14; +lean_dec(x_10); +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_11 = lean_ctor_get(x_1, 0); +lean_inc(x_11); +x_12 = lean_ctor_get_uint64(x_1, sizeof(void*)*1); +x_13 = lean_box_uint64(x_12); +x_14 = lean_apply_3(x_8, x_1, x_11, x_13); +return x_14; +} +case 4: +{ +lean_object* x_15; lean_object* x_16; uint64_t x_17; lean_object* x_18; lean_object* x_19; +lean_dec(x_10); +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_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); +x_18 = lean_box_uint64(x_17); +x_19 = lean_apply_4(x_9, x_1, x_15, x_16, x_18); +return x_19; +} +case 5: +{ +lean_object* x_20; lean_object* x_21; uint64_t x_22; lean_object* x_23; lean_object* x_24; +lean_dec(x_10); +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_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_uint64(x_1, sizeof(void*)*2); +x_23 = lean_box_uint64(x_22); +x_24 = lean_apply_4(x_6, x_1, x_20, x_21, x_23); +return x_24; +} +case 6: +{ +lean_object* x_25; lean_object* x_26; lean_object* x_27; uint64_t x_28; lean_object* x_29; lean_object* x_30; +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_4); +lean_dec(x_2); +x_25 = lean_ctor_get(x_1, 0); +lean_inc(x_25); +x_26 = lean_ctor_get(x_1, 1); +lean_inc(x_26); +x_27 = lean_ctor_get(x_1, 2); +lean_inc(x_27); +x_28 = lean_ctor_get_uint64(x_1, sizeof(void*)*3); +x_29 = lean_box_uint64(x_28); +x_30 = lean_apply_5(x_3, x_1, x_25, x_26, x_27, x_29); +return x_30; +} +case 7: +{ +lean_object* x_31; lean_object* x_32; lean_object* x_33; uint64_t x_34; lean_object* x_35; lean_object* x_36; +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_4); +lean_dec(x_3); +x_31 = lean_ctor_get(x_1, 0); +lean_inc(x_31); +x_32 = lean_ctor_get(x_1, 1); +lean_inc(x_32); +x_33 = lean_ctor_get(x_1, 2); +lean_inc(x_33); +x_34 = lean_ctor_get_uint64(x_1, sizeof(void*)*3); +x_35 = lean_box_uint64(x_34); +x_36 = lean_apply_5(x_2, x_1, x_31, x_32, x_33, x_35); +return x_36; +} +case 8: +{ +lean_object* x_37; 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_10); +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_37 = lean_ctor_get(x_1, 0); +lean_inc(x_37); +x_38 = lean_ctor_get(x_1, 1); +lean_inc(x_38); +x_39 = lean_ctor_get(x_1, 2); +lean_inc(x_39); +x_40 = lean_ctor_get(x_1, 3); +lean_inc(x_40); +x_41 = lean_ctor_get_uint64(x_1, sizeof(void*)*4); +x_42 = lean_box_uint64(x_41); +x_43 = lean_apply_6(x_5, x_1, x_37, x_38, x_39, x_40, x_42); +return x_43; +} +case 10: +{ +lean_object* x_44; lean_object* x_45; uint64_t x_46; lean_object* x_47; lean_object* x_48; +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); +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_uint64(x_1, sizeof(void*)*2); +x_47 = lean_box_uint64(x_46); +x_48 = lean_apply_4(x_4, x_1, x_44, x_45, x_47); +return x_48; +} +case 11: +{ +lean_object* x_49; lean_object* x_50; lean_object* x_51; uint64_t x_52; lean_object* x_53; lean_object* x_54; +lean_dec(x_10); +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_49 = lean_ctor_get(x_1, 0); +lean_inc(x_49); +x_50 = lean_ctor_get(x_1, 1); +lean_inc(x_50); +x_51 = lean_ctor_get(x_1, 2); +lean_inc(x_51); +x_52 = lean_ctor_get_uint64(x_1, sizeof(void*)*3); +x_53 = lean_box_uint64(x_52); +x_54 = lean_apply_5(x_7, x_1, x_49, x_50, x_51, x_53); +return x_54; +} +default: +{ +lean_object* x_55; +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); +x_55 = lean_apply_1(x_10, x_1); +return x_55; +} +} +} +} +lean_object* l_Lean_Expr_replaceLevel_match__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Expr_replaceLevel_match__1___rarg), 10, 0); +return x_2; +} +} +lean_object* l_List_map___main___at_Lean_Expr_replaceLevel___spec__1(lean_object* x_1, lean_object* x_2) { _start: { if (lean_obj_tag(x_2) == 0) @@ -1115,8 +1727,8 @@ 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_Level_replace___main(x_1, x_5); -x_8 = l_List_map___main___at_Lean_Expr_replaceLevel___main___spec__1(x_1, x_6); +x_7 = l_Lean_Level_replace(x_1, x_5); +x_8 = l_List_map___main___at_Lean_Expr_replaceLevel___spec__1(x_1, x_6); lean_ctor_set(x_2, 1, x_8); lean_ctor_set(x_2, 0, x_7); return x_2; @@ -1130,8 +1742,8 @@ lean_inc(x_10); lean_inc(x_9); lean_dec(x_2); lean_inc(x_1); -x_11 = l_Lean_Level_replace___main(x_1, x_9); -x_12 = l_List_map___main___at_Lean_Expr_replaceLevel___main___spec__1(x_1, x_10); +x_11 = l_Lean_Level_replace(x_1, x_9); +x_12 = l_List_map___main___at_Lean_Expr_replaceLevel___spec__1(x_1, x_10); x_13 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_13, 0, x_11); lean_ctor_set(x_13, 1, x_12); @@ -1140,7 +1752,7 @@ return x_13; } } } -lean_object* l_Lean_Expr_replaceLevel___main(lean_object* x_1, lean_object* x_2) { +lean_object* l_Lean_Expr_replaceLevel(lean_object* x_1, lean_object* x_2) { _start: { switch (lean_obj_tag(x_2)) { @@ -1153,7 +1765,7 @@ if (x_3 == 0) lean_object* x_4; lean_object* x_5; lean_object* x_6; x_4 = lean_ctor_get(x_2, 0); lean_inc(x_4); -x_5 = l_Lean_Level_replace___main(x_1, x_4); +x_5 = l_Lean_Level_replace(x_1, x_4); x_6 = lean_expr_update_sort(x_2, x_5); return x_6; } @@ -1165,7 +1777,7 @@ x_8 = lean_ctor_get_uint64(x_2, sizeof(void*)*1); lean_inc(x_7); lean_dec(x_2); lean_inc(x_7); -x_9 = l_Lean_Level_replace___main(x_1, x_7); +x_9 = l_Lean_Level_replace(x_1, x_7); x_10 = lean_alloc_ctor(3, 1, 8); lean_ctor_set(x_10, 0, x_7); lean_ctor_set_uint64(x_10, sizeof(void*)*1, x_8); @@ -1182,7 +1794,7 @@ if (x_12 == 0) lean_object* x_13; lean_object* x_14; lean_object* x_15; x_13 = lean_ctor_get(x_2, 1); lean_inc(x_13); -x_14 = l_List_map___main___at_Lean_Expr_replaceLevel___main___spec__1(x_1, x_13); +x_14 = l_List_map___main___at_Lean_Expr_replaceLevel___spec__1(x_1, x_13); x_15 = lean_expr_update_const(x_2, x_14); return x_15; } @@ -1196,7 +1808,7 @@ lean_inc(x_17); lean_inc(x_16); lean_dec(x_2); lean_inc(x_17); -x_19 = l_List_map___main___at_Lean_Expr_replaceLevel___main___spec__1(x_1, x_17); +x_19 = l_List_map___main___at_Lean_Expr_replaceLevel___spec__1(x_1, x_17); x_20 = lean_alloc_ctor(4, 2, 8); lean_ctor_set(x_20, 0, x_16); lean_ctor_set(x_20, 1, x_17); @@ -1216,9 +1828,9 @@ x_23 = lean_ctor_get(x_2, 0); x_24 = lean_ctor_get(x_2, 1); lean_inc(x_23); lean_inc(x_1); -x_25 = l_Lean_Expr_replaceLevel___main(x_1, x_23); +x_25 = l_Lean_Expr_replaceLevel(x_1, x_23); lean_inc(x_24); -x_26 = l_Lean_Expr_replaceLevel___main(x_1, x_24); +x_26 = l_Lean_Expr_replaceLevel(x_1, x_24); x_27 = lean_expr_update_app(x_2, x_25, x_26); return x_27; } @@ -1233,9 +1845,9 @@ lean_inc(x_28); lean_dec(x_2); lean_inc(x_28); lean_inc(x_1); -x_31 = l_Lean_Expr_replaceLevel___main(x_1, x_28); +x_31 = l_Lean_Expr_replaceLevel(x_1, x_28); lean_inc(x_29); -x_32 = l_Lean_Expr_replaceLevel___main(x_1, x_29); +x_32 = l_Lean_Expr_replaceLevel(x_1, x_29); x_33 = lean_alloc_ctor(5, 2, 8); lean_ctor_set(x_33, 0, x_28); lean_ctor_set(x_33, 1, x_29); @@ -1256,9 +1868,9 @@ x_37 = lean_ctor_get(x_2, 2); x_38 = lean_ctor_get_uint64(x_2, sizeof(void*)*3); lean_inc(x_36); lean_inc(x_1); -x_39 = l_Lean_Expr_replaceLevel___main(x_1, x_36); +x_39 = l_Lean_Expr_replaceLevel(x_1, x_36); lean_inc(x_37); -x_40 = l_Lean_Expr_replaceLevel___main(x_1, x_37); +x_40 = l_Lean_Expr_replaceLevel(x_1, x_37); x_41 = (uint8_t)((x_38 << 24) >> 61); x_42 = lean_expr_update_lambda(x_2, x_41, x_39, x_40); return x_42; @@ -1276,9 +1888,9 @@ lean_inc(x_43); lean_dec(x_2); lean_inc(x_44); lean_inc(x_1); -x_47 = l_Lean_Expr_replaceLevel___main(x_1, x_44); +x_47 = l_Lean_Expr_replaceLevel(x_1, x_44); lean_inc(x_45); -x_48 = l_Lean_Expr_replaceLevel___main(x_1, x_45); +x_48 = l_Lean_Expr_replaceLevel(x_1, x_45); x_49 = lean_alloc_ctor(6, 3, 8); lean_ctor_set(x_49, 0, x_43); lean_ctor_set(x_49, 1, x_44); @@ -1301,9 +1913,9 @@ x_54 = lean_ctor_get(x_2, 2); x_55 = lean_ctor_get_uint64(x_2, sizeof(void*)*3); lean_inc(x_53); lean_inc(x_1); -x_56 = l_Lean_Expr_replaceLevel___main(x_1, x_53); +x_56 = l_Lean_Expr_replaceLevel(x_1, x_53); lean_inc(x_54); -x_57 = l_Lean_Expr_replaceLevel___main(x_1, x_54); +x_57 = l_Lean_Expr_replaceLevel(x_1, x_54); x_58 = (uint8_t)((x_55 << 24) >> 61); x_59 = lean_expr_update_forall(x_2, x_58, x_56, x_57); return x_59; @@ -1321,9 +1933,9 @@ lean_inc(x_60); lean_dec(x_2); lean_inc(x_61); lean_inc(x_1); -x_64 = l_Lean_Expr_replaceLevel___main(x_1, x_61); +x_64 = l_Lean_Expr_replaceLevel(x_1, x_61); lean_inc(x_62); -x_65 = l_Lean_Expr_replaceLevel___main(x_1, x_62); +x_65 = l_Lean_Expr_replaceLevel(x_1, x_62); x_66 = lean_alloc_ctor(7, 3, 8); lean_ctor_set(x_66, 0, x_60); lean_ctor_set(x_66, 1, x_61); @@ -1346,12 +1958,12 @@ x_71 = lean_ctor_get(x_2, 2); x_72 = lean_ctor_get(x_2, 3); lean_inc(x_70); lean_inc(x_1); -x_73 = l_Lean_Expr_replaceLevel___main(x_1, x_70); +x_73 = l_Lean_Expr_replaceLevel(x_1, x_70); lean_inc(x_71); lean_inc(x_1); -x_74 = l_Lean_Expr_replaceLevel___main(x_1, x_71); +x_74 = l_Lean_Expr_replaceLevel(x_1, x_71); lean_inc(x_72); -x_75 = l_Lean_Expr_replaceLevel___main(x_1, x_72); +x_75 = l_Lean_Expr_replaceLevel(x_1, x_72); x_76 = lean_expr_update_let(x_2, x_73, x_74, x_75); return x_76; } @@ -1370,12 +1982,12 @@ lean_inc(x_77); lean_dec(x_2); lean_inc(x_78); lean_inc(x_1); -x_82 = l_Lean_Expr_replaceLevel___main(x_1, x_78); +x_82 = l_Lean_Expr_replaceLevel(x_1, x_78); lean_inc(x_79); lean_inc(x_1); -x_83 = l_Lean_Expr_replaceLevel___main(x_1, x_79); +x_83 = l_Lean_Expr_replaceLevel(x_1, x_79); lean_inc(x_80); -x_84 = l_Lean_Expr_replaceLevel___main(x_1, x_80); +x_84 = l_Lean_Expr_replaceLevel(x_1, x_80); x_85 = lean_alloc_ctor(8, 4, 8); lean_ctor_set(x_85, 0, x_77); lean_ctor_set(x_85, 1, x_78); @@ -1395,7 +2007,7 @@ if (x_87 == 0) lean_object* x_88; lean_object* x_89; lean_object* x_90; x_88 = lean_ctor_get(x_2, 1); lean_inc(x_88); -x_89 = l_Lean_Expr_replaceLevel___main(x_1, x_88); +x_89 = l_Lean_Expr_replaceLevel(x_1, x_88); x_90 = lean_expr_update_mdata(x_2, x_89); return x_90; } @@ -1409,7 +2021,7 @@ lean_inc(x_92); lean_inc(x_91); lean_dec(x_2); lean_inc(x_92); -x_94 = l_Lean_Expr_replaceLevel___main(x_1, x_92); +x_94 = l_Lean_Expr_replaceLevel(x_1, x_92); x_95 = lean_alloc_ctor(10, 2, 8); lean_ctor_set(x_95, 0, x_91); lean_ctor_set(x_95, 1, x_92); @@ -1427,7 +2039,7 @@ if (x_97 == 0) lean_object* x_98; lean_object* x_99; lean_object* x_100; x_98 = lean_ctor_get(x_2, 2); lean_inc(x_98); -x_99 = l_Lean_Expr_replaceLevel___main(x_1, x_98); +x_99 = l_Lean_Expr_replaceLevel(x_1, x_98); x_100 = lean_expr_update_proj(x_2, x_99); return x_100; } @@ -1443,7 +2055,7 @@ lean_inc(x_102); lean_inc(x_101); lean_dec(x_2); lean_inc(x_103); -x_105 = l_Lean_Expr_replaceLevel___main(x_1, x_103); +x_105 = l_Lean_Expr_replaceLevel(x_1, x_103); x_106 = lean_alloc_ctor(11, 3, 8); lean_ctor_set(x_106, 0, x_101); lean_ctor_set(x_106, 1, x_102); @@ -1461,14 +2073,6 @@ return x_2; } } } -lean_object* l_Lean_Expr_replaceLevel(lean_object* x_1, lean_object* x_2) { -_start: -{ -lean_object* x_3; -x_3 = l_Lean_Expr_replaceLevel___main(x_1, x_2); -return x_3; -} -} lean_object* initialize_Init(lean_object*); lean_object* initialize_Lean_Expr(lean_object*); static bool _G_initialized = false; @@ -1483,8 +2087,14 @@ res = initialize_Lean_Expr(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); l_Lean_Expr_ReplaceLevelImpl_cacheSize = _init_l_Lean_Expr_ReplaceLevelImpl_cacheSize(); -l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM___main___closed__1 = _init_l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM___main___closed__1(); -lean_mark_persistent(l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM___main___closed__1); +l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM_visit___closed__1 = _init_l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM_visit___closed__1(); +lean_mark_persistent(l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM_visit___closed__1); +l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM_visit___closed__2 = _init_l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM_visit___closed__2(); +lean_mark_persistent(l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM_visit___closed__2); +l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM_visit___closed__3 = _init_l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM_visit___closed__3(); +lean_mark_persistent(l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM_visit___closed__3); +l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM_visit___closed__4 = _init_l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM_visit___closed__4(); +lean_mark_persistent(l_Lean_Expr_ReplaceLevelImpl_replaceUnsafeM_visit___closed__4); l_Lean_Expr_ReplaceLevelImpl_initCache___closed__1 = _init_l_Lean_Expr_ReplaceLevelImpl_initCache___closed__1(); lean_mark_persistent(l_Lean_Expr_ReplaceLevelImpl_initCache___closed__1); l_Lean_Expr_ReplaceLevelImpl_initCache___closed__2 = _init_l_Lean_Expr_ReplaceLevelImpl_initCache___closed__2(); diff --git a/stage0/stdlib/Lean/Util/Trace.c b/stage0/stdlib/Lean/Util/Trace.c index c44531fb30..31e18a3833 100644 --- a/stage0/stdlib/Lean/Util/Trace.c +++ b/stage0/stdlib/Lean/Util/Trace.c @@ -15,14 +15,16 @@ extern "C" { #endif extern lean_object* l_Lean_mkHole___closed__3; lean_object* lean_string_push(lean_object*, uint32_t); +lean_object* l_Lean___kind_term____x40_Lean_Util_Trace___hyg_1236____closed__7; extern lean_object* l_Lean_myMacro____x40_Lean_Exception___hyg_87____closed__9; +lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__3; lean_object* l_Array_forMAux___main___at_Lean_printTraces___spec__6___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, 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_Lean_stringToMessageData(lean_object*); uint8_t l_Lean_MessageData_isNest(lean_object*); -lean_object* l_Lean_isTracingEnabledFor___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -extern lean_object* l_Lean_myMacro____x40_Lean_Message___hyg_158____closed__5; +lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7; +lean_object* l_Lean_isTracingEnabledFor___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_MessageData_format(lean_object*, lean_object*); lean_object* l_Lean_Format_pretty(lean_object*, lean_object*); lean_object* l_Lean_withNestedTraces___rarg___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -30,258 +32,252 @@ lean_object* l_Lean_printTraces___rarg(lean_object*, lean_object*, lean_object*) uint8_t lean_name_eq(lean_object*, lean_object*); lean_object* l_Lean_withNestedTraces___rarg___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_registerTraceClass___closed__1; -lean_object* l_Lean___kind_term____x40_Lean_Util_Trace___hyg_316____closed__1; -lean_object* l___private_Lean_Util_Trace_4__addNode___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_IO_print___at_Lean_HasRepr_hasEval___spec__2(lean_object*, lean_object*); -lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__6; +lean_object* l_Std_PersistentArray_get_x21___at___private_Lean_Util_Trace_0__Lean_TraceState_toFormat___spec__1___boxed(lean_object*, lean_object*); lean_object* l_Array_forMAux___main___at_Lean_printTraces___spec__5(lean_object*); -lean_object* l_Lean_traceCtx___rarg___lambda__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean___kind_term____x40_Lean_Util_Trace___hyg_316____closed__8; +lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*); +lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___rarg___lambda__1(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_traceCtx___rarg___lambda__6(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*); size_t l_USize_sub(size_t, size_t); 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_Lean___kind_term____x40_Lean_Util_Trace___hyg_3____closed__7; +lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__18; lean_object* l_Lean_enableTracing___rarg___lambda__3(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_trace___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t); +lean_object* l_Lean_trace___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t); +lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__15; uint8_t l_Lean_checkTraceOption(lean_object*, lean_object*); lean_object* l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Std_PersistentArray_append___rarg(lean_object*, lean_object*); -lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__2; -lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__11; extern lean_object* l_Std_PersistentArray_empty___closed__1; lean_object* l_Lean_resetTraceState___rarg___closed__1; extern lean_object* l_Lean_MessageData_nil; +lean_object* l_Std_PersistentArray_getAux___at___private_Lean_Util_Trace_0__Lean_TraceState_toFormat___spec__2___boxed(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean___kind_term____x40_Lean_Util_Trace___hyg_1236____closed__9; lean_object* l_Lean_enableTracing___rarg(lean_object*, lean_object*, uint8_t); -lean_object* l_Lean_TraceState_Inhabited; +extern lean_object* l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__1; +lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__14; lean_object* l_Lean_traceCtx___rarg___lambda__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t); +lean_object* l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__5; +lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__5; lean_object* lean_array_push(lean_object*, lean_object*); lean_object* lean_array_get_size(lean_object*); -lean_object* l___private_Lean_Util_Trace_5__getResetTraces___rarg___lambda__1(lean_object*); extern lean_object* l_Lean_interpolatedStrKind; lean_object* l_Lean_getTraces(lean_object*); -lean_object* l_Lean_isTracingEnabledFor___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__7; +lean_object* l_Lean_isTracingEnabledFor___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_String_splitAux___main___closed__1; lean_object* l_Std_PersistentArray_foldlMAux___at_Lean_withNestedTraces___spec__2(lean_object*, lean_object*); lean_object* l_Array_forMAux___main___at_Lean_printTraces___spec__4___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); size_t l_USize_shiftRight(size_t, size_t); extern lean_object* l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____closed__6; lean_object* lean_string_utf8_byte_size(lean_object*); -lean_object* l___private_Lean_Util_Trace_2__checkTraceOptionAux___boxed(lean_object*, lean_object*); +lean_object* l_Lean___kind_term____x40_Lean_Util_Trace___hyg_1236____closed__1; +extern lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__8; lean_object* l_Lean_withNestedTraces___rarg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_traceM___rarg___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_Util_Trace_5__getResetTraces(lean_object*); +lean_object* l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__3; +lean_object* l_Lean_traceM___rarg___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_checkTraceOptionM___rarg(lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_mkAppStx___closed__8; extern lean_object* l___private_Lean_Data_Format_10__pushNewline___closed__1; lean_object* lean_nat_add(lean_object*, lean_object*); -lean_object* l_Lean_traceCtx___rarg___lambda__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3____closed__5; +lean_object* l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__1; +lean_object* l_Array_umapMAux___main___at___private_Lean_Util_Trace_0__Lean_addNode___spec__1(lean_object*, lean_object*); +lean_object* l_Lean_traceCtx___rarg___lambda__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t); lean_object* l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__3(lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3_; -lean_object* l_Lean___kind_term____x40_Lean_Util_Trace___hyg_316_; +lean_object* l_Lean___kind_term____x40_Lean_Util_Trace___hyg_1236____closed__6; +lean_object* l_Lean___kind_term____x40_Lean_Util_Trace___hyg_1236_; +lean_object* l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890_; lean_object* l_Array_forMAux___main___at_Lean_printTraces___spec__5___rarg___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__13; +lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM(lean_object*); lean_object* l_Lean_trace(lean_object*); -lean_object* l_Lean_monadTraceTrans___rarg___lambda__1(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__16; -lean_object* l_Lean_setTraceState(lean_object*, lean_object*); -extern lean_object* l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__5; -uint8_t l___private_Lean_Util_Trace_2__checkTraceOptionAux(lean_object*, lean_object*); -lean_object* l_Std_PersistentArray_getAux___at___private_Lean_Util_Trace_1__toFormat___spec__2(lean_object*, size_t, size_t); +lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__6; +lean_object* l_Lean_setTraceState(lean_object*); lean_object* l_Lean_withNestedTraces(lean_object*, lean_object*); -lean_object* l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3____closed__3; -lean_object* l_Lean_traceM___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t); +lean_object* l___private_Lean_Util_Trace_0__Lean_addNode(lean_object*); +lean_object* l_Lean_traceM___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t); lean_object* lean_array_fget(lean_object*, lean_object*); lean_object* l_Lean_enableTracing___rarg___lambda__2___boxed(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_modifyTraces(lean_object*, lean_object*); -lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__19; +lean_object* l_Lean_modifyTraces(lean_object*); lean_object* l_Std_PersistentArray_forM___at_Lean_printTraces___spec__2(lean_object*); uint8_t lean_nat_dec_eq(lean_object*, lean_object*); lean_object* l_Array_forMAux___main___at_Lean_printTraces___spec__4(lean_object*); -lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___rarg(lean_object*, lean_object*, lean_object*, lean_object*); -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_Lean_addTrace___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__4; +lean_object* l_Lean_addTrace___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_nat_sub(lean_object*, lean_object*); -lean_object* l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3____closed__10; -uint8_t l___private_Lean_Util_Trace_2__checkTraceOptionAux___main(lean_object*, lean_object*); -lean_object* l___private_Lean_Util_Trace_5__getResetTraces___rarg___lambda__2___closed__1; -lean_object* l_Nat_foldMAux___main___at___private_Lean_Util_Trace_1__toFormat___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +extern lean_object* l_Lean_myMacro____x40_Lean_Message___hyg_207____closed__5; +lean_object* l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__8; +lean_object* l_Lean_Lean_Util_Trace___instance__3___rarg(lean_object*, lean_object*); +lean_object* l_Nat_foldMAux___main___at___private_Lean_Util_Trace_0__Lean_TraceState_toFormat___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__1; lean_object* l_Lean_Name_append___main(lean_object*, lean_object*); uint8_t l_Lean_KVMap_getBool(lean_object*, lean_object*, uint8_t); lean_object* l_Std_PersistentArray_forM___at_Lean_printTraces___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_forMAux___main___at_Lean_printTraces___spec__6___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean___kind_term____x40_Lean_Util_Trace___hyg_316____closed__7; +lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17; lean_object* l_Lean_enableTracing___rarg___boxed(lean_object*, lean_object*, lean_object*); lean_object* lean_array_get(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_registerTraceClass___closed__2; lean_object* lean_array_fset(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__2; lean_object* l_Lean_traceCtx___rarg___lambda__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_MessageData_isNil(lean_object*); lean_object* l_Std_PersistentArray_foldlM___at_Lean_withNestedTraces___spec__1___boxed(lean_object*, lean_object*); -lean_object* l_Lean_traceCtx___rarg___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_monadTraceTrans(lean_object*, lean_object*); +lean_object* l___private_Lean_Util_Trace_0__Lean_addNode___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_traceCtx___rarg___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_traceM(lean_object*); extern lean_object* l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____closed__15; -lean_object* l_Nat_foldMAux___main___at___private_Lean_Util_Trace_1__toFormat___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_MessageData_nil___closed__1; lean_object* l_Lean_Syntax_getId(lean_object*); -lean_object* l_Lean_traceCtx___rarg___lambda__2___closed__1; +lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__2; lean_object* l_Lean_isTracingEnabledFor(lean_object*); -lean_object* l_Lean_traceCtx___rarg___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_name_mk_string(lean_object*, lean_object*); +lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces(lean_object*); lean_object* l_Lean_isTracingEnabledFor___rarg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_withNestedTraces___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_resetTraceState___rarg(lean_object*); size_t l_USize_shiftLeft(size_t, size_t); -lean_object* l_Std_PersistentArray_getAux___at___private_Lean_Util_Trace_1__toFormat___spec__2___boxed(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_traceCtx___rarg___lambda__4(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__10; -lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*); +lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___rarg___lambda__1(lean_object*); +lean_object* l_Lean_traceCtx___rarg___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_KVMap_contains(lean_object*, lean_object*); -lean_object* l___private_Lean_Util_Trace_4__addNode(lean_object*, lean_object*); +lean_object* l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__6; lean_object* l_Lean_withNestedTraces___rarg___lambda__1(lean_object*, lean_object*, lean_object*); lean_object* l_Array_forMAux___main___at_Lean_printTraces___spec__5___rarg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_mkAppStx___closed__6; -lean_object* l___private_Lean_Util_Trace_5__getResetTraces___rarg(lean_object*, lean_object*); +lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__4; +extern lean_object* l_Lean_myMacro____x40_Lean_Message___hyg_207____closed__6; lean_object* l_Lean_enableTracing(lean_object*); +lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__19; lean_object* l_Lean_withNestedTraces___rarg___lambda__4(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_Lean_addTrace___rarg___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_modifyTraces___rarg___lambda__1(lean_object*, lean_object*); lean_object* l_Lean_MonadTracer_trace___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9; extern lean_object* l_finally___rarg___closed__1; +lean_object* l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__11; lean_object* l_Lean_addTrace___rarg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*); size_t lean_usize_of_nat(lean_object*); -lean_object* l_Lean_traceCtx___rarg___lambda__3___boxed(lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean___kind_term____x40_Lean_Exception___hyg_3____closed__7; lean_object* l_Std_PersistentArray_foldlMAux___at_Lean_withNestedTraces___spec__2___boxed(lean_object*, lean_object*); lean_object* l_Lean_addMacroScope(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__13; +lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___rarg(lean_object*, lean_object*); lean_object* l_Lean_modifyTraces___rarg(lean_object*, lean_object*); size_t l_USize_land(size_t, size_t); -lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__12; +lean_object* l_Lean_traceCtx___rarg___lambda__4___closed__1; +lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__8; extern lean_object* l_Lean_nullKind___closed__2; lean_object* l_fix1___rarg___lambda__1___boxed(lean_object*, lean_object*); +extern lean_object* l_Lean_myMacro____x40_Lean_Message___hyg_207____closed__4; +lean_object* l_Lean_traceCtx___rarg___lambda__7___boxed(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*); -extern lean_object* l___private_Lean_Util_PPExt_1__registerOptions___closed__8; -lean_object* l___private_Lean_Util_Trace_5__getResetTraces___rarg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___rarg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_resetTraceState(lean_object*); -lean_object* l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3____closed__9; -lean_object* l_Lean___kind_term____x40_Lean_Util_Trace___hyg_316____closed__6; lean_object* l_Lean_MonadTracer_trace(lean_object*); -lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__14; -lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__5; -lean_object* l_Std_PersistentArray_get_x21___at___private_Lean_Util_Trace_1__toFormat___spec__1___boxed(lean_object*, lean_object*); lean_object* l_Lean_setTraceState___rarg(lean_object*, lean_object*); -lean_object* l_Lean_monadTraceTrans___rarg(lean_object*, lean_object*); -lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__20; -extern lean_object* l_Lean_myMacro____x40_Lean_Message___hyg_158____closed__4; lean_object* l_Lean_enableTracing___rarg___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_traceCtx(lean_object*, lean_object*); -lean_object* l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3____closed__4; +lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionAux_match__1(lean_object*); +lean_object* l_Lean_TraceState_traces___default; +lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___rarg___lambda__2___closed__1; lean_object* l_IO_println___at_Lean_printTraces___spec__1(lean_object*, lean_object*); -lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__3; lean_object* l_Array_forMAux___main___at_Lean_printTraces___spec__5___rarg___lambda__1(lean_object*, lean_object*); -lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__15; +lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__11; uint8_t lean_nat_dec_le(lean_object*, lean_object*); -lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_362____closed__3; +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_SourceInfo_inhabited___closed__1; +lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_1304____closed__3; lean_object* l_Std_PersistentArray_toArray___rarg(lean_object*); +lean_object* l_Lean_TraceState_Lean_Util_Trace___instance__2; lean_object* l_Lean_Syntax_getArgs(lean_object*); lean_object* l_Lean_Syntax_getKind(lean_object*); -lean_object* l_Lean_traceElem_inhabited; +lean_object* l___private_Lean_Util_Trace_0__Lean_addNode___rarg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1; -lean_object* l_Lean_traceCtx___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_traceCtx___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_traceCtx___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_enableTracing___rarg___lambda__1___boxed(lean_object*, lean_object*); -extern lean_object* l_Lean_myMacro____x40_Lean_Message___hyg_158____closed__6; +lean_object* l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__9; lean_object* l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__2; -lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__18; -lean_object* l_Lean___kind_term____x40_Lean_Util_Trace___hyg_316____closed__9; lean_object* l_Lean_enableTracing___rarg___lambda__2(lean_object*, uint8_t, lean_object*); lean_object* l_Lean_withNestedTraces___rarg___lambda__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +extern lean_object* l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__5; lean_object* lean_register_option(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean___kind_term____x40_Lean_Util_Trace___hyg_316____closed__4; lean_object* l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_printTraces(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___kind_term____x40_Lean_Util_Trace___hyg_3____closed__11; -lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__4; -lean_object* l_Lean___kind_term____x40_Lean_Util_Trace___hyg_316____closed__2; -lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__8; +lean_object* l_Lean___kind_term____x40_Lean_Util_Trace___hyg_1236____closed__3; +lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__12; lean_object* l_Lean_checkTraceOption___boxed(lean_object*, lean_object*); -lean_object* l_Lean_setTraceState___boxed(lean_object*, lean_object*); lean_object* l_Lean_checkTraceOption___closed__1; lean_object* l_Lean_traceM___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_addTrace___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_addTrace(lean_object*); lean_object* l_Lean_resetTraceState___rarg___lambda__1___boxed(lean_object*); -lean_object* l_Lean_TraceState_Inhabited___closed__1; lean_object* l_Array_forMAux___main___at_Lean_printTraces___spec__6___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__1; -extern lean_object* l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__1; -lean_object* l___private_Lean_Util_Trace_2__checkTraceOptionAux___main___boxed(lean_object*, lean_object*); lean_object* l_Array_forMAux___main___at_Lean_printTraces___spec__4___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9; -lean_object* l___private_Lean_Util_Trace_4__addNode___boxed(lean_object*, lean_object*); -lean_object* l_Lean_traceElem_inhabited___closed__1; +lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionAux_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_resetTraceState___rarg___lambda__1(lean_object*); lean_object* l___private_Init_LeanInit_13__quoteName___main(lean_object*); lean_object* l_Lean_enableTracing___rarg___lambda__1(uint8_t, lean_object*); uint8_t l_Lean_Syntax_isOfKind(lean_object*, lean_object*); -lean_object* l___private_Lean_Util_Trace_1__toFormat(lean_object*, lean_object*, lean_object*); -lean_object* l___private_Lean_Util_Trace_4__addNode___rarg(lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____closed__4; -lean_object* l_Lean_trace___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_traceCtx___rarg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_trace___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_traceCtx___rarg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_mkHole___closed__2; -lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___rarg___lambda__1(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3____closed__1; -lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45_(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_362_(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_1304____closed__1; +lean_object* l_Lean___kind_term____x40_Lean_Util_Trace___hyg_1236____closed__8; +lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954_(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_1304_(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_addTrace___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_traceCtx___rarg___lambda__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean___kind_term____x40_Lean_Util_Trace___hyg_316____closed__5; -lean_object* l_Lean___kind_term____x40_Lean_Util_Trace___hyg_316____closed__3; +lean_object* l_Lean_traceCtx___rarg___lambda__5___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_printTraces___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); +uint8_t l_Lean_TraceState_enabled___default; lean_object* l_Lean_Syntax_getArg(lean_object*, lean_object*); -lean_object* l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3____closed__2; +lean_object* l_Lean___kind_term____x40_Lean_Util_Trace___hyg_1236____closed__4; lean_object* l_Lean_getTraces___rarg(lean_object*, lean_object*); lean_object* l_Std_PersistentArray_forMAux___at_Lean_printTraces___spec__3(lean_object*); +lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_1304____closed__2; lean_object* l_Std_PersistentArray_forMAux___at_Lean_printTraces___spec__3___rarg(lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_362____closed__1; -lean_object* l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3____closed__6; lean_object* l_Lean_trace___rarg(lean_object*, lean_object*, lean_object*, lean_object*, 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_Lean_Util_Trace___instance__1; lean_object* l_unsafeCast(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_traceCtx___rarg___lambda__1(lean_object*); +lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__16; +lean_object* l_Lean___kind_term____x40_Lean_Util_Trace___hyg_1236____closed__5; +lean_object* l_Lean_traceCtx___rarg___lambda__1(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___private_Lean_Util_Trace_3__checkTraceOptionM___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Lean_Util_Trace___instance__3___rarg___lambda__1(lean_object*, lean_object*, lean_object*); +lean_object* l_Std_PersistentArray_getAux___at___private_Lean_Util_Trace_0__Lean_TraceState_toFormat___spec__2(lean_object*, size_t, size_t); +lean_object* l_Lean_Lean_Util_Trace___instance__3(lean_object*, lean_object*); lean_object* lean_usize_to_nat(size_t); lean_object* l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__5(lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_362____closed__2; lean_object* l_Array_forMAux___main___at_Lean_printTraces___spec__5___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____closed__8; +lean_object* l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__10; +lean_object* l_Lean_traceCtx___rarg___lambda__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_getTraces___rarg___lambda__1(lean_object*, lean_object*); extern lean_object* l_Lean___kind_term____x40_Lean_Exception___hyg_42____closed__4; extern lean_object* l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__18; -lean_object* l_Lean_traceCtx___rarg___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t); +lean_object* l_Lean_traceCtx___rarg___lambda__5(lean_object*, uint8_t, lean_object*); extern lean_object* l_Lean_mkAppStx___closed__2; lean_object* l_Lean_withNestedTraces___rarg___lambda__3(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(lean_object*); extern lean_object* l_Lean_Name_hasMacroScopes___main___closed__1; -lean_object* l_Lean_traceCtx___rarg___lambda__3(lean_object*, uint8_t, lean_object*); +lean_object* l_Lean_traceCtx___rarg___lambda__3(lean_object*); lean_object* l_Array_forMAux___main___at_Lean_printTraces___spec__6(lean_object*); lean_object* l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_checkTraceOption___closed__2; -lean_object* l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3____closed__8; -lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17; +lean_object* l_Lean___kind_term____x40_Lean_Util_Trace___hyg_1236____closed__2; +lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__10; +uint8_t l___private_Lean_Util_Trace_0__Lean_checkTraceOptionAux(lean_object*, lean_object*); lean_object* lean_name_mk_numeral(lean_object*, lean_object*); +lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__20; lean_object* l_Array_forMAux___main___at_Lean_printTraces___spec__4___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_modifyTraces___boxed(lean_object*, lean_object*); +lean_object* l_Lean_TraceState_Lean_Util_Trace___instance__2___closed__1; +lean_object* l___private_Lean_Util_Trace_0__Lean_TraceState_toFormat(lean_object*, lean_object*, lean_object*); +lean_object* l_Nat_foldMAux___main___at___private_Lean_Util_Trace_0__Lean_TraceState_toFormat___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Lean_Util_Trace___instance__1___closed__1; uint8_t lean_nat_dec_lt(lean_object*, lean_object*); extern lean_object* l_Std_PersistentArray_getAux___rarg___closed__1; -static lean_object* _init_l_Lean_traceElem_inhabited___closed__1() { +lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionAux___boxed(lean_object*, lean_object*); +static lean_object* _init_l_Lean_Lean_Util_Trace___instance__1___closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -293,15 +289,31 @@ lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_traceElem_inhabited() { +static lean_object* _init_l_Lean_Lean_Util_Trace___instance__1() { _start: { lean_object* x_1; -x_1 = l_Lean_traceElem_inhabited___closed__1; +x_1 = l_Lean_Lean_Util_Trace___instance__1___closed__1; return x_1; } } -static lean_object* _init_l_Lean_TraceState_Inhabited___closed__1() { +static uint8_t _init_l_Lean_TraceState_enabled___default() { +_start: +{ +uint8_t x_1; +x_1 = 1; +return x_1; +} +} +static lean_object* _init_l_Lean_TraceState_traces___default() { +_start: +{ +lean_object* x_1; +x_1 = l_Std_PersistentArray_empty___closed__1; +return x_1; +} +} +static lean_object* _init_l_Lean_TraceState_Lean_Util_Trace___instance__2___closed__1() { _start: { uint8_t x_1; lean_object* x_2; lean_object* x_3; @@ -313,15 +325,15 @@ lean_ctor_set_uint8(x_3, sizeof(void*)*1, x_1); return x_3; } } -static lean_object* _init_l_Lean_TraceState_Inhabited() { +static lean_object* _init_l_Lean_TraceState_Lean_Util_Trace___instance__2() { _start: { lean_object* x_1; -x_1 = l_Lean_TraceState_Inhabited___closed__1; +x_1 = l_Lean_TraceState_Lean_Util_Trace___instance__2___closed__1; return x_1; } } -lean_object* l_Std_PersistentArray_getAux___at___private_Lean_Util_Trace_1__toFormat___spec__2(lean_object* x_1, size_t x_2, size_t x_3) { +lean_object* l_Std_PersistentArray_getAux___at___private_Lean_Util_Trace_0__Lean_TraceState_toFormat___spec__2(lean_object* x_1, size_t x_2, size_t x_3) { _start: { if (lean_obj_tag(x_1) == 0) @@ -354,7 +366,7 @@ x_16 = lean_ctor_get(x_1, 0); lean_inc(x_16); lean_dec(x_1); x_17 = lean_usize_to_nat(x_2); -x_18 = l_Lean_traceElem_inhabited; +x_18 = l_Lean_Lean_Util_Trace___instance__1; x_19 = lean_array_get(x_18, x_16, x_17); lean_dec(x_17); lean_dec(x_16); @@ -362,7 +374,7 @@ return x_19; } } } -lean_object* l_Std_PersistentArray_get_x21___at___private_Lean_Util_Trace_1__toFormat___spec__1(lean_object* x_1, lean_object* x_2) { +lean_object* l_Std_PersistentArray_get_x21___at___private_Lean_Util_Trace_0__Lean_TraceState_toFormat___spec__1(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; uint8_t x_4; @@ -378,7 +390,7 @@ lean_inc(x_5); x_6 = lean_usize_of_nat(x_2); x_7 = lean_ctor_get_usize(x_1, 4); lean_dec(x_1); -x_8 = l_Std_PersistentArray_getAux___at___private_Lean_Util_Trace_1__toFormat___spec__2(x_5, x_6, x_7); +x_8 = l_Std_PersistentArray_getAux___at___private_Lean_Util_Trace_0__Lean_TraceState_toFormat___spec__2(x_5, x_6, x_7); return x_8; } else @@ -389,7 +401,7 @@ lean_inc(x_9); lean_dec(x_1); x_10 = lean_nat_sub(x_2, x_3); lean_dec(x_3); -x_11 = l_Lean_traceElem_inhabited; +x_11 = l_Lean_Lean_Util_Trace___instance__1; x_12 = lean_array_get(x_11, x_9, x_10); lean_dec(x_10); lean_dec(x_9); @@ -397,7 +409,7 @@ return x_12; } } } -lean_object* l_Nat_foldMAux___main___at___private_Lean_Util_Trace_1__toFormat___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_Nat_foldMAux___main___at___private_Lean_Util_Trace_0__Lean_TraceState_toFormat___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; @@ -413,7 +425,7 @@ x_11 = lean_nat_sub(x_3, x_10); x_12 = lean_nat_sub(x_11, x_9); lean_dec(x_11); lean_inc(x_1); -x_13 = l_Std_PersistentArray_get_x21___at___private_Lean_Util_Trace_1__toFormat___spec__1(x_1, x_12); +x_13 = l_Std_PersistentArray_get_x21___at___private_Lean_Util_Trace_0__Lean_TraceState_toFormat___spec__1(x_1, x_12); x_14 = lean_ctor_get(x_13, 1); lean_inc(x_14); lean_dec(x_13); @@ -496,7 +508,7 @@ return x_28; } } } -lean_object* l___private_Lean_Util_Trace_1__toFormat(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +lean_object* l___private_Lean_Util_Trace_0__Lean_TraceState_toFormat(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; @@ -504,12 +516,12 @@ x_4 = lean_ctor_get(x_1, 2); lean_inc(x_4); x_5 = lean_box(0); lean_inc(x_4); -x_6 = l_Nat_foldMAux___main___at___private_Lean_Util_Trace_1__toFormat___spec__3(x_1, x_2, x_4, x_4, x_5, x_3); +x_6 = l_Nat_foldMAux___main___at___private_Lean_Util_Trace_0__Lean_TraceState_toFormat___spec__3(x_1, x_2, x_4, x_4, x_5, x_3); lean_dec(x_4); return x_6; } } -lean_object* l_Std_PersistentArray_getAux___at___private_Lean_Util_Trace_1__toFormat___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +lean_object* l_Std_PersistentArray_getAux___at___private_Lean_Util_Trace_0__Lean_TraceState_toFormat___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { size_t x_4; size_t x_5; lean_object* x_6; @@ -517,29 +529,29 @@ x_4 = lean_unbox_usize(x_2); lean_dec(x_2); x_5 = lean_unbox_usize(x_3); lean_dec(x_3); -x_6 = l_Std_PersistentArray_getAux___at___private_Lean_Util_Trace_1__toFormat___spec__2(x_1, x_4, x_5); +x_6 = l_Std_PersistentArray_getAux___at___private_Lean_Util_Trace_0__Lean_TraceState_toFormat___spec__2(x_1, x_4, x_5); return x_6; } } -lean_object* l_Std_PersistentArray_get_x21___at___private_Lean_Util_Trace_1__toFormat___spec__1___boxed(lean_object* x_1, lean_object* x_2) { +lean_object* l_Std_PersistentArray_get_x21___at___private_Lean_Util_Trace_0__Lean_TraceState_toFormat___spec__1___boxed(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; -x_3 = l_Std_PersistentArray_get_x21___at___private_Lean_Util_Trace_1__toFormat___spec__1(x_1, x_2); +x_3 = l_Std_PersistentArray_get_x21___at___private_Lean_Util_Trace_0__Lean_TraceState_toFormat___spec__1(x_1, x_2); lean_dec(x_2); return x_3; } } -lean_object* l_Nat_foldMAux___main___at___private_Lean_Util_Trace_1__toFormat___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_Nat_foldMAux___main___at___private_Lean_Util_Trace_0__Lean_TraceState_toFormat___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_Nat_foldMAux___main___at___private_Lean_Util_Trace_1__toFormat___spec__3(x_1, x_2, x_3, x_4, x_5, x_6); +x_7 = l_Nat_foldMAux___main___at___private_Lean_Util_Trace_0__Lean_TraceState_toFormat___spec__3(x_1, x_2, x_3, x_4, x_5, x_6); lean_dec(x_3); return x_7; } } -lean_object* l_Lean_monadTraceTrans___rarg___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +lean_object* l_Lean_Lean_Util_Trace___instance__3___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; @@ -551,13 +563,13 @@ x_6 = lean_apply_2(x_2, lean_box(0), x_5); return x_6; } } -lean_object* l_Lean_monadTraceTrans___rarg(lean_object* x_1, lean_object* x_2) { +lean_object* l_Lean_Lean_Util_Trace___instance__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_inc(x_2); lean_inc(x_1); -x_3 = lean_alloc_closure((void*)(l_Lean_monadTraceTrans___rarg___lambda__1), 3, 2); +x_3 = lean_alloc_closure((void*)(l_Lean_Lean_Util_Trace___instance__3___rarg___lambda__1), 3, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); x_4 = lean_ctor_get(x_1, 1); @@ -570,11 +582,11 @@ lean_ctor_set(x_6, 1, x_5); return x_6; } } -lean_object* l_Lean_monadTraceTrans(lean_object* x_1, lean_object* x_2) { +lean_object* l_Lean_Lean_Util_Trace___instance__3(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; -x_3 = lean_alloc_closure((void*)(l_Lean_monadTraceTrans___rarg), 2, 0); +x_3 = lean_alloc_closure((void*)(l_Lean_Lean_Util_Trace___instance__3___rarg), 2, 0); return x_3; } } @@ -941,7 +953,7 @@ lean_object* l_Lean_resetTraceState___rarg___lambda__1(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = l_Lean_TraceState_Inhabited___closed__1; +x_2 = l_Lean_TraceState_Lean_Util_Trace___instance__2___closed__1; return x_2; } } @@ -982,7 +994,40 @@ lean_dec(x_1); return x_2; } } -uint8_t l___private_Lean_Util_Trace_2__checkTraceOptionAux___main(lean_object* x_1, lean_object* x_2) { +lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionAux_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +if (lean_obj_tag(x_1) == 1) +{ +lean_object* x_4; lean_object* x_5; size_t 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_usize(x_1, 2); +x_7 = lean_box_usize(x_6); +x_8 = lean_apply_4(x_2, x_1, x_4, x_5, 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_Util_Trace_0__Lean_checkTraceOptionAux_match__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l___private_Lean_Util_Trace_0__Lean_checkTraceOptionAux_match__1___rarg), 3, 0); +return x_2; +} +} +uint8_t l___private_Lean_Util_Trace_0__Lean_checkTraceOptionAux(lean_object* x_1, lean_object* x_2) { _start: { if (lean_obj_tag(x_2) == 1) @@ -1020,30 +1065,11 @@ return x_9; } } } -lean_object* l___private_Lean_Util_Trace_2__checkTraceOptionAux___main___boxed(lean_object* x_1, lean_object* x_2) { +lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionAux___boxed(lean_object* x_1, lean_object* x_2) { _start: { uint8_t x_3; lean_object* x_4; -x_3 = l___private_Lean_Util_Trace_2__checkTraceOptionAux___main(x_1, x_2); -lean_dec(x_2); -lean_dec(x_1); -x_4 = lean_box(x_3); -return x_4; -} -} -uint8_t l___private_Lean_Util_Trace_2__checkTraceOptionAux(lean_object* x_1, lean_object* x_2) { -_start: -{ -uint8_t x_3; -x_3 = l___private_Lean_Util_Trace_2__checkTraceOptionAux___main(x_1, x_2); -return x_3; -} -} -lean_object* l___private_Lean_Util_Trace_2__checkTraceOptionAux___boxed(lean_object* x_1, lean_object* x_2) { -_start: -{ -uint8_t x_3; lean_object* x_4; -x_3 = l___private_Lean_Util_Trace_2__checkTraceOptionAux(x_1, x_2); +x_3 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionAux(x_1, x_2); lean_dec(x_2); lean_dec(x_1); x_4 = lean_box(x_3); @@ -1078,7 +1104,7 @@ if (x_3 == 0) lean_object* x_4; lean_object* x_5; uint8_t x_6; x_4 = l_Lean_checkTraceOption___closed__2; x_5 = l_Lean_Name_append___main(x_4, x_2); -x_6 = l___private_Lean_Util_Trace_2__checkTraceOptionAux___main(x_1, x_5); +x_6 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionAux(x_1, x_5); lean_dec(x_5); return x_6; } @@ -1101,7 +1127,7 @@ x_4 = lean_box(x_3); return x_4; } } -lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___rarg___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___rarg___lambda__1(lean_object* 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; lean_object* x_8; @@ -1117,71 +1143,62 @@ x_8 = lean_apply_2(x_5, lean_box(0), x_7); return x_8; } } -lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___rarg(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_checkTraceOptionM___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { -lean_object* x_5; lean_object* x_6; lean_object* x_7; -x_5 = lean_ctor_get(x_1, 1); -lean_inc(x_5); -x_6 = lean_alloc_closure((void*)(l___private_Lean_Util_Trace_3__checkTraceOptionM___rarg___lambda__1___boxed), 3, 2); -lean_closure_set(x_6, 0, x_1); -lean_closure_set(x_6, 1, x_4); -x_7 = lean_apply_4(x_5, lean_box(0), lean_box(0), x_3, x_6); -return x_7; +lean_object* x_4; lean_object* x_5; lean_object* x_6; +x_4 = lean_ctor_get(x_1, 1); +lean_inc(x_4); +x_5 = lean_alloc_closure((void*)(l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___rarg___lambda__1___boxed), 3, 2); +lean_closure_set(x_5, 0, x_1); +lean_closure_set(x_5, 1, x_3); +x_6 = lean_apply_4(x_4, lean_box(0), lean_box(0), x_2, x_5); +return x_6; } } -lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM(lean_object* x_1) { +lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l___private_Lean_Util_Trace_3__checkTraceOptionM___rarg___boxed), 4, 0); +x_2 = lean_alloc_closure((void*)(l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___rarg), 3, 0); return x_2; } } -lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___rarg___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___rarg___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_Trace_3__checkTraceOptionM___rarg___lambda__1(x_1, x_2, x_3); +x_4 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___rarg___lambda__1(x_1, x_2, x_3); lean_dec(x_3); return x_4; } } -lean_object* l___private_Lean_Util_Trace_3__checkTraceOptionM___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +lean_object* l_Lean_isTracingEnabledFor___rarg___lambda__1(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_3__checkTraceOptionM___rarg(x_1, x_2, x_3, x_4); -lean_dec(x_2); -return x_5; -} -} -lean_object* l_Lean_isTracingEnabledFor___rarg___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_5; +x_5 = lean_ctor_get_uint8(x_4, sizeof(void*)*1); +if (x_5 == 0) { -uint8_t x_6; -x_6 = lean_ctor_get_uint8(x_5, sizeof(void*)*1); -if (x_6 == 0) -{ -lean_object* x_7; lean_object* x_8; uint8_t x_9; lean_object* x_10; lean_object* x_11; -lean_dec(x_4); +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_7 = lean_ctor_get(x_1, 0); -lean_inc(x_7); +lean_dec(x_2); +x_6 = lean_ctor_get(x_1, 0); +lean_inc(x_6); lean_dec(x_1); -x_8 = lean_ctor_get(x_7, 1); -lean_inc(x_8); -lean_dec(x_7); -x_9 = 0; -x_10 = lean_box(x_9); -x_11 = lean_apply_2(x_8, lean_box(0), x_10); -return x_11; +x_7 = lean_ctor_get(x_6, 1); +lean_inc(x_7); +lean_dec(x_6); +x_8 = 0; +x_9 = lean_box(x_8); +x_10 = lean_apply_2(x_7, lean_box(0), x_9); +return x_10; } else { -lean_object* x_12; -x_12 = l___private_Lean_Util_Trace_3__checkTraceOptionM___rarg(x_1, x_2, x_3, x_4); -return x_12; +lean_object* x_11; +x_11 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___rarg(x_1, x_2, x_3); +return x_11; } } } @@ -1193,11 +1210,11 @@ x_5 = lean_ctor_get(x_1, 1); lean_inc(x_5); x_6 = lean_ctor_get(x_2, 1); lean_inc(x_6); -x_7 = lean_alloc_closure((void*)(l_Lean_isTracingEnabledFor___rarg___lambda__1___boxed), 5, 4); +lean_dec(x_2); +x_7 = lean_alloc_closure((void*)(l_Lean_isTracingEnabledFor___rarg___lambda__1___boxed), 4, 3); lean_closure_set(x_7, 0, x_1); -lean_closure_set(x_7, 1, x_2); -lean_closure_set(x_7, 2, x_3); -lean_closure_set(x_7, 3, x_4); +lean_closure_set(x_7, 1, x_3); +lean_closure_set(x_7, 2, x_4); x_8 = lean_apply_4(x_5, lean_box(0), lean_box(0), x_6, x_7); return x_8; } @@ -1210,14 +1227,13 @@ x_2 = lean_alloc_closure((void*)(l_Lean_isTracingEnabledFor___rarg), 4, 0); return x_2; } } -lean_object* l_Lean_isTracingEnabledFor___rarg___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* l_Lean_isTracingEnabledFor___rarg___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { -lean_object* x_6; -x_6 = l_Lean_isTracingEnabledFor___rarg___lambda__1(x_1, x_2, x_3, x_4, x_5); -lean_dec(x_5); -lean_dec(x_2); -return x_6; +lean_object* x_5; +x_5 = l_Lean_isTracingEnabledFor___rarg___lambda__1(x_1, x_2, x_3, x_4); +lean_dec(x_4); +return x_5; } } lean_object* l_Lean_enableTracing___rarg___lambda__1(uint8_t x_1, lean_object* x_2) { @@ -1428,21 +1444,12 @@ x_5 = lean_apply_1(x_3, x_4); return x_5; } } -lean_object* l_Lean_modifyTraces(lean_object* x_1, lean_object* x_2) { +lean_object* l_Lean_modifyTraces(lean_object* x_1) { _start: { -lean_object* x_3; -x_3 = lean_alloc_closure((void*)(l_Lean_modifyTraces___rarg), 2, 0); -return x_3; -} -} -lean_object* l_Lean_modifyTraces___boxed(lean_object* x_1, lean_object* x_2) { -_start: -{ -lean_object* x_3; -x_3 = l_Lean_modifyTraces(x_1, x_2); -lean_dec(x_2); -return x_3; +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_modifyTraces___rarg), 2, 0); +return x_2; } } lean_object* l_Lean_setTraceState___rarg(lean_object* x_1, lean_object* x_2) { @@ -1458,24 +1465,15 @@ x_5 = lean_apply_1(x_3, x_4); return x_5; } } -lean_object* l_Lean_setTraceState(lean_object* x_1, lean_object* x_2) { +lean_object* l_Lean_setTraceState(lean_object* x_1) { _start: { -lean_object* x_3; -x_3 = lean_alloc_closure((void*)(l_Lean_setTraceState___rarg), 2, 0); -return x_3; +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_setTraceState___rarg), 2, 0); +return x_2; } } -lean_object* l_Lean_setTraceState___boxed(lean_object* x_1, lean_object* x_2) { -_start: -{ -lean_object* x_3; -x_3 = l_Lean_setTraceState(x_1, x_2); -lean_dec(x_2); -return x_3; -} -} -lean_object* l_Array_umapMAux___main___at___private_Lean_Util_Trace_4__addNode___spec__1(lean_object* x_1, lean_object* x_2) { +lean_object* l_Array_umapMAux___main___at___private_Lean_Util_Trace_0__Lean_addNode___spec__1(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; uint8_t x_4; @@ -1510,7 +1508,7 @@ goto _start; } } } -lean_object* l___private_Lean_Util_Trace_4__addNode___rarg___lambda__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_addNode___rarg___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { uint8_t x_5; @@ -1527,7 +1525,7 @@ x_8 = l_Std_PersistentArray_toArray___rarg(x_6); lean_dec(x_6); x_9 = x_8; x_10 = lean_unsigned_to_nat(0u); -x_11 = l_Array_umapMAux___main___at___private_Lean_Util_Trace_4__addNode___spec__1(x_10, x_9); +x_11 = l_Array_umapMAux___main___at___private_Lean_Util_Trace_0__Lean_addNode___spec__1(x_10, x_9); x_12 = x_11; x_13 = lean_alloc_ctor(12, 1, 0); lean_ctor_set(x_13, 0, x_12); @@ -1565,7 +1563,7 @@ x_20 = l_Std_PersistentArray_toArray___rarg(x_18); lean_dec(x_18); x_21 = x_20; x_22 = lean_unsigned_to_nat(0u); -x_23 = l_Array_umapMAux___main___at___private_Lean_Util_Trace_4__addNode___spec__1(x_22, x_21); +x_23 = l_Array_umapMAux___main___at___private_Lean_Util_Trace_0__Lean_addNode___spec__1(x_22, x_21); x_24 = x_23; x_25 = lean_alloc_ctor(12, 1, 0); lean_ctor_set(x_25, 0, x_24); @@ -1595,14 +1593,14 @@ return x_30; } } } -lean_object* l___private_Lean_Util_Trace_4__addNode___rarg(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_addNode___rarg(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; x_5 = lean_ctor_get(x_1, 0); lean_inc(x_5); lean_dec(x_1); -x_6 = lean_alloc_closure((void*)(l___private_Lean_Util_Trace_4__addNode___rarg___lambda__1), 4, 3); +x_6 = lean_alloc_closure((void*)(l___private_Lean_Util_Trace_0__Lean_addNode___rarg___lambda__1), 4, 3); lean_closure_set(x_6, 0, x_3); lean_closure_set(x_6, 1, x_4); lean_closure_set(x_6, 2, x_2); @@ -1610,24 +1608,15 @@ x_7 = lean_apply_1(x_5, x_6); return x_7; } } -lean_object* l___private_Lean_Util_Trace_4__addNode(lean_object* x_1, lean_object* x_2) { +lean_object* l___private_Lean_Util_Trace_0__Lean_addNode(lean_object* x_1) { _start: { -lean_object* x_3; -x_3 = lean_alloc_closure((void*)(l___private_Lean_Util_Trace_4__addNode___rarg), 4, 0); -return x_3; +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l___private_Lean_Util_Trace_0__Lean_addNode___rarg), 4, 0); +return x_2; } } -lean_object* l___private_Lean_Util_Trace_4__addNode___boxed(lean_object* x_1, lean_object* x_2) { -_start: -{ -lean_object* x_3; -x_3 = l___private_Lean_Util_Trace_4__addNode(x_1, x_2); -lean_dec(x_2); -return x_3; -} -} -lean_object* l___private_Lean_Util_Trace_5__getResetTraces___rarg___lambda__1(lean_object* x_1) { +lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___rarg___lambda__1(lean_object* x_1) { _start: { uint8_t x_2; @@ -1654,22 +1643,22 @@ return x_7; } } } -static lean_object* _init_l___private_Lean_Util_Trace_5__getResetTraces___rarg___lambda__2___closed__1() { +static lean_object* _init_l___private_Lean_Util_Trace_0__Lean_getResetTraces___rarg___lambda__2___closed__1() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l___private_Lean_Util_Trace_5__getResetTraces___rarg___lambda__1), 1, 0); +x_1 = lean_alloc_closure((void*)(l___private_Lean_Util_Trace_0__Lean_getResetTraces___rarg___lambda__1), 1, 0); return x_1; } } -lean_object* l___private_Lean_Util_Trace_5__getResetTraces___rarg___lambda__2(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___rarg___lambda__2(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_1, 0); lean_inc(x_5); lean_dec(x_1); -x_6 = l___private_Lean_Util_Trace_5__getResetTraces___rarg___lambda__2___closed__1; +x_6 = l___private_Lean_Util_Trace_0__Lean_getResetTraces___rarg___lambda__2___closed__1; x_7 = lean_apply_1(x_5, x_6); x_8 = lean_alloc_closure((void*)(l_ReaderT_Monad___rarg___lambda__4___boxed), 3, 2); lean_closure_set(x_8, 0, x_2); @@ -1678,7 +1667,7 @@ x_9 = lean_apply_4(x_3, lean_box(0), lean_box(0), x_7, x_8); return x_9; } } -lean_object* l___private_Lean_Util_Trace_5__getResetTraces___rarg(lean_object* x_1, lean_object* x_2) { +lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___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; @@ -1692,7 +1681,7 @@ lean_closure_set(x_5, 0, x_1); lean_inc(x_3); x_6 = lean_apply_4(x_3, lean_box(0), lean_box(0), x_4, x_5); lean_inc(x_3); -x_7 = lean_alloc_closure((void*)(l___private_Lean_Util_Trace_5__getResetTraces___rarg___lambda__2), 4, 3); +x_7 = lean_alloc_closure((void*)(l___private_Lean_Util_Trace_0__Lean_getResetTraces___rarg___lambda__2), 4, 3); lean_closure_set(x_7, 0, x_2); lean_closure_set(x_7, 1, x_1); lean_closure_set(x_7, 2, x_3); @@ -1700,11 +1689,11 @@ x_8 = lean_apply_4(x_3, lean_box(0), lean_box(0), x_6, x_7); return x_8; } } -lean_object* l___private_Lean_Util_Trace_5__getResetTraces(lean_object* x_1) { +lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l___private_Lean_Util_Trace_5__getResetTraces___rarg), 2, 0); +x_2 = lean_alloc_closure((void*)(l___private_Lean_Util_Trace_0__Lean_getResetTraces___rarg), 2, 0); return x_2; } } @@ -1776,51 +1765,119 @@ x_9 = lean_apply_4(x_5, lean_box(0), lean_box(0), x_7, x_8); return x_9; } } -lean_object* l_Lean_addTrace___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* l_Lean_addTrace___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_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; -x_8 = lean_ctor_get(x_1, 1); -lean_inc(x_8); +lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; +x_7 = lean_ctor_get(x_1, 1); +lean_inc(x_7); lean_dec(x_1); -x_9 = lean_ctor_get(x_3, 0); -lean_inc(x_9); -lean_dec(x_3); +x_8 = lean_ctor_get(x_3, 0); lean_inc(x_8); -x_10 = lean_alloc_closure((void*)(l_Lean_addTrace___rarg___lambda__3), 6, 5); -lean_closure_set(x_10, 0, x_4); -lean_closure_set(x_10, 1, x_7); -lean_closure_set(x_10, 2, x_2); -lean_closure_set(x_10, 3, x_6); -lean_closure_set(x_10, 4, x_8); -x_11 = lean_apply_4(x_8, lean_box(0), lean_box(0), x_9, x_10); -return x_11; +lean_dec(x_3); +lean_inc(x_7); +x_9 = lean_alloc_closure((void*)(l_Lean_addTrace___rarg___lambda__3), 6, 5); +lean_closure_set(x_9, 0, x_4); +lean_closure_set(x_9, 1, x_6); +lean_closure_set(x_9, 2, x_2); +lean_closure_set(x_9, 3, x_5); +lean_closure_set(x_9, 4, x_7); +x_10 = lean_apply_4(x_7, lean_box(0), lean_box(0), x_8, x_9); +return x_10; } } lean_object* l_Lean_addTrace(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_addTrace___rarg___boxed), 7, 0); +x_2 = lean_alloc_closure((void*)(l_Lean_addTrace___rarg), 6, 0); return x_2; } } -lean_object* l_Lean_addTrace___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* l_Lean_trace___rarg___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, uint8_t x_7) { _start: { -lean_object* x_8; -x_8 = l_Lean_addTrace___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +if (x_7 == 0) +{ +lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; +lean_dec(x_6); lean_dec(x_5); -return x_8; +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_8 = lean_ctor_get(x_1, 0); +lean_inc(x_8); +lean_dec(x_1); +x_9 = lean_ctor_get(x_8, 1); +lean_inc(x_9); +lean_dec(x_8); +x_10 = lean_box(0); +x_11 = lean_apply_2(x_9, lean_box(0), x_10); +return x_11; +} +else +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; +x_12 = lean_box(0); +x_13 = lean_apply_1(x_2, x_12); +x_14 = l_Lean_addTrace___rarg(x_1, x_3, x_4, x_5, x_6, x_13); +return x_14; } } -lean_object* l_Lean_trace___rarg___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, uint8_t x_8) { +} +lean_object* l_Lean_trace___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) { +_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; +x_8 = lean_ctor_get(x_1, 1); +lean_inc(x_8); +x_9 = lean_ctor_get(x_2, 1); +lean_inc(x_9); +lean_inc(x_6); +lean_inc(x_1); +x_10 = lean_alloc_closure((void*)(l_Lean_isTracingEnabledFor___rarg___lambda__1___boxed), 4, 3); +lean_closure_set(x_10, 0, x_1); +lean_closure_set(x_10, 1, x_5); +lean_closure_set(x_10, 2, x_6); +lean_inc(x_8); +x_11 = lean_apply_4(x_8, lean_box(0), lean_box(0), x_9, x_10); +x_12 = lean_alloc_closure((void*)(l_Lean_trace___rarg___lambda__1___boxed), 7, 6); +lean_closure_set(x_12, 0, x_1); +lean_closure_set(x_12, 1, x_7); +lean_closure_set(x_12, 2, x_2); +lean_closure_set(x_12, 3, x_3); +lean_closure_set(x_12, 4, x_4); +lean_closure_set(x_12, 5, x_6); +x_13 = lean_apply_4(x_8, lean_box(0), lean_box(0), x_11, x_12); +return x_13; +} +} +lean_object* l_Lean_trace(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_trace___rarg), 7, 0); +return x_2; +} +} +lean_object* l_Lean_trace___rarg___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_7); +lean_dec(x_7); +x_9 = l_Lean_trace___rarg___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_8); +return x_9; +} +} +lean_object* l_Lean_traceM___rarg___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, uint8_t x_8) { _start: { if (x_8 == 0) { 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); @@ -1837,99 +1894,15 @@ return x_12; } else { -lean_object* x_13; lean_object* x_14; lean_object* x_15; -x_13 = lean_box(0); -x_14 = lean_apply_1(x_2, x_13); -x_15 = l_Lean_addTrace___rarg(x_1, x_3, x_4, x_5, x_6, x_7, x_14); -return x_15; -} -} -} -lean_object* l_Lean_trace___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) { -_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; -x_8 = lean_ctor_get(x_1, 1); -lean_inc(x_8); -x_9 = lean_ctor_get(x_2, 1); -lean_inc(x_9); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_2); -lean_inc(x_1); -x_10 = lean_alloc_closure((void*)(l_Lean_isTracingEnabledFor___rarg___lambda__1___boxed), 5, 4); -lean_closure_set(x_10, 0, x_1); -lean_closure_set(x_10, 1, x_2); -lean_closure_set(x_10, 2, x_5); -lean_closure_set(x_10, 3, x_6); -lean_inc(x_8); -x_11 = lean_apply_4(x_8, lean_box(0), lean_box(0), x_9, x_10); -x_12 = lean_alloc_closure((void*)(l_Lean_trace___rarg___lambda__1___boxed), 8, 7); -lean_closure_set(x_12, 0, x_1); -lean_closure_set(x_12, 1, x_7); -lean_closure_set(x_12, 2, x_2); -lean_closure_set(x_12, 3, x_3); -lean_closure_set(x_12, 4, x_4); -lean_closure_set(x_12, 5, x_5); -lean_closure_set(x_12, 6, x_6); -x_13 = lean_apply_4(x_8, lean_box(0), lean_box(0), x_11, x_12); -return x_13; -} -} -lean_object* l_Lean_trace(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_trace___rarg), 7, 0); -return x_2; -} -} -lean_object* l_Lean_trace___rarg___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: -{ -uint8_t x_9; lean_object* x_10; -x_9 = lean_unbox(x_8); -lean_dec(x_8); -x_10 = l_Lean_trace___rarg___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_9); -lean_dec(x_6); -return x_10; -} -} -lean_object* l_Lean_traceM___rarg___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, uint8_t x_9) { -_start: -{ -if (x_9 == 0) -{ -lean_object* x_10; lean_object* 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_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); -lean_dec(x_1); -x_11 = lean_ctor_get(x_10, 1); -lean_inc(x_11); -lean_dec(x_10); -x_12 = lean_box(0); -x_13 = lean_apply_2(x_11, lean_box(0), x_12); -return x_13; -} -else -{ -lean_object* x_14; lean_object* x_15; -x_14 = lean_alloc_closure((void*)(l_Lean_addTrace___rarg___boxed), 7, 6); -lean_closure_set(x_14, 0, x_1); -lean_closure_set(x_14, 1, x_2); -lean_closure_set(x_14, 2, x_3); -lean_closure_set(x_14, 3, x_4); -lean_closure_set(x_14, 4, x_5); -lean_closure_set(x_14, 5, x_6); -x_15 = lean_apply_4(x_7, lean_box(0), lean_box(0), x_8, x_14); -return x_15; +lean_object* x_13; lean_object* x_14; +x_13 = lean_alloc_closure((void*)(l_Lean_addTrace___rarg), 6, 5); +lean_closure_set(x_13, 0, x_1); +lean_closure_set(x_13, 1, x_2); +lean_closure_set(x_13, 2, x_3); +lean_closure_set(x_13, 3, x_4); +lean_closure_set(x_13, 4, x_5); +x_14 = lean_apply_4(x_6, lean_box(0), lean_box(0), x_7, x_13); +return x_14; } } } @@ -1942,26 +1915,22 @@ lean_inc(x_8); x_9 = lean_ctor_get(x_2, 1); lean_inc(x_9); lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_2); lean_inc(x_1); -x_10 = lean_alloc_closure((void*)(l_Lean_isTracingEnabledFor___rarg___lambda__1___boxed), 5, 4); +x_10 = lean_alloc_closure((void*)(l_Lean_isTracingEnabledFor___rarg___lambda__1___boxed), 4, 3); lean_closure_set(x_10, 0, x_1); -lean_closure_set(x_10, 1, x_2); -lean_closure_set(x_10, 2, x_5); -lean_closure_set(x_10, 3, x_6); +lean_closure_set(x_10, 1, x_5); +lean_closure_set(x_10, 2, x_6); lean_inc(x_8); x_11 = lean_apply_4(x_8, lean_box(0), lean_box(0), x_9, x_10); lean_inc(x_8); -x_12 = lean_alloc_closure((void*)(l_Lean_traceM___rarg___lambda__1___boxed), 9, 8); +x_12 = lean_alloc_closure((void*)(l_Lean_traceM___rarg___lambda__1___boxed), 8, 7); lean_closure_set(x_12, 0, x_1); lean_closure_set(x_12, 1, x_2); lean_closure_set(x_12, 2, x_3); lean_closure_set(x_12, 3, x_4); -lean_closure_set(x_12, 4, x_5); -lean_closure_set(x_12, 5, x_6); -lean_closure_set(x_12, 6, x_8); -lean_closure_set(x_12, 7, x_7); +lean_closure_set(x_12, 4, x_6); +lean_closure_set(x_12, 5, x_8); +lean_closure_set(x_12, 6, x_7); x_13 = lean_apply_4(x_8, lean_box(0), lean_box(0), x_11, x_12); return x_13; } @@ -1974,17 +1943,57 @@ x_2 = lean_alloc_closure((void*)(l_Lean_traceM___rarg), 7, 0); return x_2; } } -lean_object* l_Lean_traceM___rarg___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* l_Lean_traceM___rarg___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: { -uint8_t x_10; lean_object* x_11; -x_10 = lean_unbox(x_9); +uint8_t x_9; lean_object* x_10; +x_9 = lean_unbox(x_8); +lean_dec(x_8); +x_10 = l_Lean_traceM___rarg___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_9); +return x_10; +} +} +lean_object* l_Lean_traceCtx___rarg___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_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; +x_8 = lean_ctor_get(x_1, 0); +lean_inc(x_8); +lean_dec(x_1); +x_9 = lean_ctor_get(x_8, 0); +lean_inc(x_9); +lean_dec(x_8); +x_10 = l___private_Lean_Util_Trace_0__Lean_addNode___rarg(x_2, x_7, x_3, x_4); +x_11 = lean_ctor_get(x_9, 0); +lean_inc(x_11); lean_dec(x_9); -x_11 = l_Lean_traceM___rarg___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_10); -return x_11; +x_12 = lean_alloc_closure((void*)(l_fix1___rarg___lambda__1___boxed), 2, 1); +lean_closure_set(x_12, 0, x_10); +x_13 = lean_apply_4(x_5, lean_box(0), lean_box(0), x_6, x_12); +x_14 = l_finally___rarg___closed__1; +x_15 = lean_apply_4(x_11, lean_box(0), lean_box(0), x_14, x_13); +return x_15; } } -lean_object* l_Lean_traceCtx___rarg___lambda__1(lean_object* x_1) { +lean_object* l_Lean_traceCtx___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; lean_object* x_9; lean_object* x_10; +lean_inc(x_2); +lean_inc(x_1); +x_8 = l___private_Lean_Util_Trace_0__Lean_getResetTraces___rarg(x_1, x_2); +x_9 = lean_alloc_closure((void*)(l_Lean_traceCtx___rarg___lambda__1), 7, 6); +lean_closure_set(x_9, 0, x_1); +lean_closure_set(x_9, 1, x_2); +lean_closure_set(x_9, 2, x_3); +lean_closure_set(x_9, 3, x_7); +lean_closure_set(x_9, 4, x_4); +lean_closure_set(x_9, 5, x_5); +x_10 = lean_apply_4(x_6, lean_box(0), lean_box(0), x_8, x_9); +return x_10; +} +} +lean_object* l_Lean_traceCtx___rarg___lambda__3(lean_object* x_1) { _start: { uint8_t x_2; @@ -2010,15 +2019,15 @@ return x_6; } } } -static lean_object* _init_l_Lean_traceCtx___rarg___lambda__2___closed__1() { +static lean_object* _init_l_Lean_traceCtx___rarg___lambda__4___closed__1() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_traceCtx___rarg___lambda__1), 1, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_traceCtx___rarg___lambda__3), 1, 0); return x_1; } } -lean_object* l_Lean_traceCtx___rarg___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +lean_object* l_Lean_traceCtx___rarg___lambda__4(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; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; @@ -2026,7 +2035,7 @@ x_5 = lean_ctor_get_uint8(x_4, sizeof(void*)*1); x_6 = lean_ctor_get(x_1, 0); lean_inc(x_6); lean_dec(x_1); -x_7 = l_Lean_traceCtx___rarg___lambda__2___closed__1; +x_7 = l_Lean_traceCtx___rarg___lambda__4___closed__1; x_8 = lean_apply_1(x_6, x_7); x_9 = lean_box(x_5); x_10 = lean_alloc_closure((void*)(l_Lean_enableTracing___rarg___lambda__2___boxed), 3, 2); @@ -2036,7 +2045,7 @@ x_11 = lean_apply_4(x_3, lean_box(0), lean_box(0), x_8, x_10); return x_11; } } -lean_object* l_Lean_traceCtx___rarg___lambda__3(lean_object* x_1, uint8_t x_2, lean_object* x_3) { +lean_object* l_Lean_traceCtx___rarg___lambda__5(lean_object* x_1, uint8_t x_2, lean_object* x_3) { _start: { lean_object* x_4; lean_object* x_5; lean_object* x_6; @@ -2048,7 +2057,7 @@ x_6 = lean_apply_2(x_4, lean_box(0), x_5); return x_6; } } -lean_object* l_Lean_traceCtx___rarg___lambda__4(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +lean_object* l_Lean_traceCtx___rarg___lambda__6(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { uint8_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; @@ -2061,14 +2070,14 @@ x_9 = lean_alloc_closure((void*)(l_Lean_enableTracing___rarg___lambda__1___boxed lean_closure_set(x_9, 0, x_8); x_10 = lean_apply_1(x_7, x_9); x_11 = lean_box(x_6); -x_12 = lean_alloc_closure((void*)(l_Lean_traceCtx___rarg___lambda__3___boxed), 3, 2); +x_12 = lean_alloc_closure((void*)(l_Lean_traceCtx___rarg___lambda__5___boxed), 3, 2); lean_closure_set(x_12, 0, x_3); lean_closure_set(x_12, 1, x_11); x_13 = lean_apply_4(x_4, lean_box(0), lean_box(0), x_10, x_12); return x_13; } } -lean_object* l_Lean_traceCtx___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, uint8_t x_7) { +lean_object* l_Lean_traceCtx___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, uint8_t 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; lean_object* x_16; lean_object* x_17; @@ -2079,7 +2088,7 @@ x_9 = lean_ctor_get(x_8, 0); lean_inc(x_9); x_10 = lean_box(x_7); lean_inc(x_3); -x_11 = lean_alloc_closure((void*)(l_Lean_traceCtx___rarg___lambda__4___boxed), 5, 4); +x_11 = lean_alloc_closure((void*)(l_Lean_traceCtx___rarg___lambda__6___boxed), 5, 4); lean_closure_set(x_11, 0, x_2); lean_closure_set(x_11, 1, x_10); lean_closure_set(x_11, 2, x_8); @@ -2096,174 +2105,150 @@ x_17 = lean_apply_4(x_13, lean_box(0), lean_box(0), x_16, x_15); return x_17; } } -lean_object* l_Lean_traceCtx___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, 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; -x_8 = lean_ctor_get(x_1, 0); -lean_inc(x_8); -lean_dec(x_1); -x_9 = lean_ctor_get(x_8, 0); -lean_inc(x_9); -lean_dec(x_8); -x_10 = l___private_Lean_Util_Trace_4__addNode___rarg(x_2, x_7, x_3, x_4); -x_11 = lean_ctor_get(x_9, 0); -lean_inc(x_11); -lean_dec(x_9); -x_12 = lean_alloc_closure((void*)(l_fix1___rarg___lambda__1___boxed), 2, 1); -lean_closure_set(x_12, 0, x_10); -x_13 = lean_apply_4(x_5, lean_box(0), lean_box(0), x_6, x_12); -x_14 = l_finally___rarg___closed__1; -x_15 = lean_apply_4(x_11, lean_box(0), lean_box(0), x_14, x_13); -return x_15; -} -} -lean_object* l_Lean_traceCtx___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) { -_start: -{ -lean_object* x_8; lean_object* x_9; lean_object* x_10; -lean_inc(x_2); -lean_inc(x_1); -x_8 = l___private_Lean_Util_Trace_5__getResetTraces___rarg(x_1, x_2); -x_9 = lean_alloc_closure((void*)(l_Lean_traceCtx___rarg___lambda__6), 7, 6); -lean_closure_set(x_9, 0, x_1); -lean_closure_set(x_9, 1, x_2); -lean_closure_set(x_9, 2, x_3); -lean_closure_set(x_9, 3, x_7); -lean_closure_set(x_9, 4, x_4); -lean_closure_set(x_9, 5, x_5); -x_10 = lean_apply_4(x_6, lean_box(0), lean_box(0), x_8, x_9); -return x_10; -} -} lean_object* l_Lean_traceCtx___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, uint8_t x_9) { _start: { +uint8_t x_10; if (x_9 == 0) { -lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; +uint8_t x_19; +x_19 = 1; +x_10 = x_19; +goto block_18; +} +else +{ +uint8_t x_20; +x_20 = 0; +x_10 = x_20; +goto block_18; +} +block_18: +{ +if (x_10 == 0) +{ +lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_dec(x_8); -lean_dec(x_7); -lean_inc(x_3); -lean_inc(x_2); -lean_inc(x_1); -x_10 = lean_alloc_closure((void*)(l_Lean_traceCtx___rarg___lambda__2___boxed), 4, 3); -lean_closure_set(x_10, 0, x_1); -lean_closure_set(x_10, 1, x_2); -lean_closure_set(x_10, 2, x_3); -lean_inc(x_3); -lean_inc(x_4); -x_11 = lean_apply_4(x_3, lean_box(0), lean_box(0), x_4, x_10); -lean_inc(x_3); -x_12 = lean_alloc_closure((void*)(l_Lean_traceCtx___rarg___lambda__5___boxed), 7, 6); +x_11 = lean_ctor_get(x_1, 0); +lean_inc(x_11); +lean_dec(x_1); +lean_inc(x_7); +x_12 = lean_alloc_closure((void*)(l_Lean_traceCtx___rarg___lambda__2), 7, 6); lean_closure_set(x_12, 0, x_2); -lean_closure_set(x_12, 1, x_1); -lean_closure_set(x_12, 2, x_3); -lean_closure_set(x_12, 3, x_4); -lean_closure_set(x_12, 4, x_5); -lean_closure_set(x_12, 5, x_6); -x_13 = lean_apply_4(x_3, lean_box(0), lean_box(0), x_11, x_12); +lean_closure_set(x_12, 1, x_3); +lean_closure_set(x_12, 2, x_4); +lean_closure_set(x_12, 3, x_5); +lean_closure_set(x_12, 4, x_6); +lean_closure_set(x_12, 5, 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_14; lean_object* x_15; lean_object* x_16; +lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_dec(x_4); -x_14 = lean_ctor_get(x_7, 0); -lean_inc(x_14); -lean_dec(x_7); -lean_inc(x_3); -x_15 = lean_alloc_closure((void*)(l_Lean_traceCtx___rarg___lambda__7), 7, 6); -lean_closure_set(x_15, 0, x_2); -lean_closure_set(x_15, 1, x_1); -lean_closure_set(x_15, 2, x_8); -lean_closure_set(x_15, 3, x_5); -lean_closure_set(x_15, 4, x_6); -lean_closure_set(x_15, 5, x_3); -x_16 = lean_apply_4(x_3, lean_box(0), lean_box(0), x_14, x_15); -return x_16; -} -} -} -lean_object* l_Lean_traceCtx___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; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; -x_9 = lean_ctor_get(x_1, 1); -lean_inc(x_9); -x_10 = lean_ctor_get(x_2, 1); -lean_inc(x_10); +lean_dec(x_1); lean_inc(x_7); lean_inc(x_2); +lean_inc(x_3); +x_14 = lean_alloc_closure((void*)(l_Lean_traceCtx___rarg___lambda__4___boxed), 4, 3); +lean_closure_set(x_14, 0, x_3); +lean_closure_set(x_14, 1, x_2); +lean_closure_set(x_14, 2, x_7); +lean_inc(x_7); +lean_inc(x_8); +x_15 = lean_apply_4(x_7, lean_box(0), lean_box(0), x_8, x_14); +lean_inc(x_7); +x_16 = lean_alloc_closure((void*)(l_Lean_traceCtx___rarg___lambda__7___boxed), 7, 6); +lean_closure_set(x_16, 0, x_2); +lean_closure_set(x_16, 1, x_3); +lean_closure_set(x_16, 2, x_7); +lean_closure_set(x_16, 3, x_8); +lean_closure_set(x_16, 4, x_5); +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; +} +} +} +} +lean_object* l_Lean_traceCtx___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) { +_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; +x_8 = lean_ctor_get(x_1, 1); +lean_inc(x_8); +x_9 = lean_ctor_get(x_2, 1); +lean_inc(x_9); +lean_inc(x_6); lean_inc(x_1); -x_11 = lean_alloc_closure((void*)(l_Lean_isTracingEnabledFor___rarg___lambda__1___boxed), 5, 4); -lean_closure_set(x_11, 0, x_1); -lean_closure_set(x_11, 1, x_2); -lean_closure_set(x_11, 2, x_5); -lean_closure_set(x_11, 3, x_7); +x_10 = lean_alloc_closure((void*)(l_Lean_isTracingEnabledFor___rarg___lambda__1___boxed), 4, 3); +lean_closure_set(x_10, 0, x_1); +lean_closure_set(x_10, 1, x_4); +lean_closure_set(x_10, 2, x_6); +lean_inc(x_8); lean_inc(x_9); -lean_inc(x_10); -x_12 = lean_apply_4(x_9, lean_box(0), lean_box(0), x_10, x_11); -lean_inc(x_9); -x_13 = lean_alloc_closure((void*)(l_Lean_traceCtx___rarg___lambda__8___boxed), 9, 8); -lean_closure_set(x_13, 0, x_2); -lean_closure_set(x_13, 1, x_1); -lean_closure_set(x_13, 2, x_9); -lean_closure_set(x_13, 3, x_10); -lean_closure_set(x_13, 4, x_6); -lean_closure_set(x_13, 5, x_8); -lean_closure_set(x_13, 6, x_3); -lean_closure_set(x_13, 7, x_7); -x_14 = lean_apply_4(x_9, lean_box(0), lean_box(0), x_12, x_13); -return x_14; +x_11 = lean_apply_4(x_8, lean_box(0), lean_box(0), x_9, x_10); +lean_inc(x_8); +x_12 = lean_alloc_closure((void*)(l_Lean_traceCtx___rarg___lambda__8___boxed), 9, 8); +lean_closure_set(x_12, 0, x_3); +lean_closure_set(x_12, 1, x_1); +lean_closure_set(x_12, 2, x_2); +lean_closure_set(x_12, 3, x_6); +lean_closure_set(x_12, 4, x_5); +lean_closure_set(x_12, 5, x_7); +lean_closure_set(x_12, 6, x_8); +lean_closure_set(x_12, 7, x_9); +x_13 = lean_apply_4(x_8, lean_box(0), lean_box(0), x_11, x_12); +return x_13; } } lean_object* l_Lean_traceCtx(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; -x_3 = lean_alloc_closure((void*)(l_Lean_traceCtx___rarg___boxed), 8, 0); +x_3 = lean_alloc_closure((void*)(l_Lean_traceCtx___rarg), 7, 0); return x_3; } } -lean_object* l_Lean_traceCtx___rarg___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +lean_object* l_Lean_traceCtx___rarg___lambda__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_Lean_traceCtx___rarg___lambda__2(x_1, x_2, x_3, x_4); +x_5 = l_Lean_traceCtx___rarg___lambda__4(x_1, x_2, x_3, x_4); lean_dec(x_4); return x_5; } } -lean_object* l_Lean_traceCtx___rarg___lambda__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +lean_object* l_Lean_traceCtx___rarg___lambda__5___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_2); lean_dec(x_2); -x_5 = l_Lean_traceCtx___rarg___lambda__3(x_1, x_4, x_3); +x_5 = l_Lean_traceCtx___rarg___lambda__5(x_1, x_4, x_3); lean_dec(x_3); return x_5; } } -lean_object* l_Lean_traceCtx___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* l_Lean_traceCtx___rarg___lambda__6___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; lean_object* x_7; x_6 = lean_unbox(x_2); lean_dec(x_2); -x_7 = l_Lean_traceCtx___rarg___lambda__4(x_1, x_6, x_3, x_4, x_5); +x_7 = l_Lean_traceCtx___rarg___lambda__6(x_1, x_6, x_3, x_4, x_5); lean_dec(x_5); return x_7; } } -lean_object* l_Lean_traceCtx___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* l_Lean_traceCtx___rarg___lambda__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) { _start: { uint8_t x_8; lean_object* x_9; x_8 = lean_unbox(x_7); lean_dec(x_7); -x_9 = l_Lean_traceCtx___rarg___lambda__5(x_1, x_2, x_3, x_4, x_5, x_6, x_8); +x_9 = l_Lean_traceCtx___rarg___lambda__7(x_1, x_2, x_3, x_4, x_5, x_6, x_8); return x_9; } } @@ -2277,15 +2262,6 @@ x_11 = l_Lean_traceCtx___rarg___lambda__8(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8 return x_11; } } -lean_object* l_Lean_traceCtx___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_traceCtx___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); -lean_dec(x_4); -return x_9; -} -} lean_object* l_Lean_MonadTracer_trace___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) { _start: { @@ -2295,24 +2271,20 @@ lean_inc(x_8); x_9 = lean_ctor_get(x_2, 1); lean_inc(x_9); lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_2); lean_inc(x_1); -x_10 = lean_alloc_closure((void*)(l_Lean_isTracingEnabledFor___rarg___lambda__1___boxed), 5, 4); +x_10 = lean_alloc_closure((void*)(l_Lean_isTracingEnabledFor___rarg___lambda__1___boxed), 4, 3); lean_closure_set(x_10, 0, x_1); -lean_closure_set(x_10, 1, x_2); -lean_closure_set(x_10, 2, x_5); -lean_closure_set(x_10, 3, x_6); +lean_closure_set(x_10, 1, x_5); +lean_closure_set(x_10, 2, x_6); lean_inc(x_8); x_11 = lean_apply_4(x_8, lean_box(0), lean_box(0), x_9, x_10); -x_12 = lean_alloc_closure((void*)(l_Lean_trace___rarg___lambda__1___boxed), 8, 7); +x_12 = lean_alloc_closure((void*)(l_Lean_trace___rarg___lambda__1___boxed), 7, 6); lean_closure_set(x_12, 0, x_1); lean_closure_set(x_12, 1, x_7); lean_closure_set(x_12, 2, x_2); lean_closure_set(x_12, 3, x_3); lean_closure_set(x_12, 4, x_4); -lean_closure_set(x_12, 5, x_5); -lean_closure_set(x_12, 6, x_6); +lean_closure_set(x_12, 5, x_6); x_13 = lean_apply_4(x_8, lean_box(0), lean_box(0), x_11, x_12); return x_13; } @@ -2337,7 +2309,7 @@ static lean_object* _init_l_Lean_registerTraceClass___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_checkTraceOption___closed__1; x_3 = l_Lean_registerTraceClass___closed__1; x_4 = lean_alloc_ctor(0, 3, 0); @@ -2358,7 +2330,7 @@ x_6 = lean_register_option(x_4, x_5, x_2); return x_6; } } -static lean_object* _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3____closed__1() { +static lean_object* _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__1() { _start: { lean_object* x_1; @@ -2366,17 +2338,17 @@ x_1 = lean_mk_string("Util"); return x_1; } } -static lean_object* _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3____closed__2() { +static lean_object* _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__2() { _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_Util_Trace___hyg_3____closed__1; +x_1 = l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__1; +x_2 = l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____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_Util_Trace___hyg_3____closed__3() { +static lean_object* _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__3() { _start: { lean_object* x_1; @@ -2384,37 +2356,37 @@ x_1 = lean_mk_string("Trace"); return x_1; } } -static lean_object* _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3____closed__4() { +static lean_object* _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3____closed__2; -x_2 = l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3____closed__3; +x_1 = l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__2; +x_2 = l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__3; x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3____closed__5() { +static lean_object* _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__5() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3____closed__4; +x_1 = l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__4; 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_Util_Trace___hyg_3____closed__6() { +static lean_object* _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__6() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3____closed__5; -x_2 = lean_unsigned_to_nat(3u); +x_1 = l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__5; +x_2 = lean_unsigned_to_nat(890u); x_3 = lean_name_mk_numeral(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3____closed__7() { +static lean_object* _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__7() { _start: { lean_object* x_1; @@ -2422,21 +2394,21 @@ x_1 = lean_mk_string("trace!"); return x_1; } } -static lean_object* _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3____closed__8() { +static lean_object* _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__8() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3____closed__7; +x_1 = l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__7; 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_Util_Trace___hyg_3____closed__9() { +static lean_object* _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__9() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3____closed__8; +x_1 = l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__8; x_2 = l_Lean___kind_term____x40_Lean_Exception___hyg_42____closed__4; x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -2444,11 +2416,11 @@ lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3____closed__10() { +static lean_object* _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__10() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3____closed__9; +x_1 = l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__9; x_2 = l_Std_Range___kind_term____x40_Init_Data_Range___hyg_111____closed__18; x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -2456,13 +2428,13 @@ lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3____closed__11() { +static lean_object* _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__11() { _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_Util_Trace___hyg_3____closed__6; +x_1 = l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__6; x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3____closed__10; +x_3 = l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__10; x_4 = lean_alloc_ctor(9, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); @@ -2470,15 +2442,15 @@ lean_ctor_set(x_4, 2, x_3); return x_4; } } -static lean_object* _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3_() { +static lean_object* _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890_() { _start: { lean_object* x_1; -x_1 = l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3____closed__11; +x_1 = l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__11; return x_1; } } -static lean_object* _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__1() { +static lean_object* _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__1() { _start: { lean_object* x_1; lean_object* x_2; @@ -2487,13 +2459,13 @@ x_2 = lean_string_utf8_byte_size(x_1); return x_2; } } -static lean_object* _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__2() { +static lean_object* _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; x_1 = l_Lean_checkTraceOption___closed__1; x_2 = lean_unsigned_to_nat(0u); -x_3 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__1; +x_3 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____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); @@ -2501,7 +2473,7 @@ lean_ctor_set(x_4, 2, x_3); return x_4; } } -static lean_object* _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__3() { +static lean_object* _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -2511,31 +2483,31 @@ x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__4() { +static lean_object* _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____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_Util_Trace___hyg_45____closed__3; +x_2 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__3; 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_Util_Trace___hyg_45____closed__5() { +static lean_object* _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____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_Util_Trace___hyg_45____closed__4; +x_2 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____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_myMacro____x40_Lean_Util_Trace___hyg_45____closed__6() { +static lean_object* _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__6() { _start: { lean_object* x_1; @@ -2543,39 +2515,39 @@ x_1 = lean_mk_string("fun"); return x_1; } } -static lean_object* _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7() { +static lean_object* _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__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_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_name_mk_string(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__8() { +static lean_object* _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__8() { _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_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_ctor(2, 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_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9() { +static lean_object* _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9() { _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__8; +x_2 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__8; x_3 = lean_array_push(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__10() { +static lean_object* _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__10() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -2587,61 +2559,61 @@ lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__11() { +static lean_object* _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__11() { _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__10; +x_2 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__10; x_3 = lean_array_push(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__12() { +static lean_object* _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__12() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_mkHole___closed__2; -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); return x_3; } } -static lean_object* _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__13() { +static lean_object* _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__13() { _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__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; } } -static lean_object* _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__14() { +static lean_object* _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__14() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_nullKind___closed__2; -x_2 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__13; +x_2 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__13; x_3 = lean_alloc_ctor(1, 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_myMacro____x40_Lean_Util_Trace___hyg_45____closed__15() { +static lean_object* _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__15() { _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__9; -x_2 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__14; +x_1 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9; +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; } } -static lean_object* _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__16() { +static lean_object* _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__16() { _start: { lean_object* x_1; @@ -2649,57 +2621,57 @@ x_1 = lean_mk_string("=>"); return x_1; } } -static lean_object* _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17() { +static lean_object* _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17() { _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_myMacro____x40_Lean_Util_Trace___hyg_45____closed__16; +x_2 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__16; x_3 = lean_alloc_ctor(2, 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_myMacro____x40_Lean_Util_Trace___hyg_45____closed__18() { +static lean_object* _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__18() { _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__15; -x_2 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17; +x_1 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__15; +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; } } -static lean_object* _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__19() { +static lean_object* _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__19() { _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_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_Util_Trace___hyg_45____closed__20() { +static lean_object* _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__20() { _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_Util_Trace___hyg_45____closed__19; +x_2 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____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); return x_3; } } -lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45_(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954_(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_Util_Trace___hyg_3____closed__6; +x_4 = l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__6; lean_inc(x_1); x_5 = l_Lean_Syntax_isOfKind(x_1, x_4); if (x_5 == 0) @@ -2751,8 +2723,8 @@ lean_inc(x_18); lean_inc(x_19); x_21 = l_Lean_addMacroScope(x_19, x_20, x_18); x_22 = l_Lean_SourceInfo_inhabited___closed__1; -x_23 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__2; -x_24 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__5; +x_23 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__2; +x_24 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__5; x_25 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_25, 0, x_22); lean_ctor_set(x_25, 1, x_23); @@ -2762,10 +2734,10 @@ x_26 = l_Array_empty___closed__1; x_27 = lean_array_push(x_26, x_25); x_28 = lean_array_push(x_26, x_15); x_29 = lean_array_push(x_26, x_17); -x_30 = l_Lean_myMacro____x40_Lean_Message___hyg_158____closed__5; +x_30 = l_Lean_myMacro____x40_Lean_Message___hyg_207____closed__5; x_31 = l_Lean_addMacroScope(x_19, x_30, x_18); -x_32 = l_Lean_myMacro____x40_Lean_Message___hyg_158____closed__4; -x_33 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__20; +x_32 = l_Lean_myMacro____x40_Lean_Message___hyg_207____closed__4; +x_33 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__20; x_34 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_34, 0, x_22); lean_ctor_set(x_34, 1, x_32); @@ -2794,9 +2766,9 @@ x_48 = l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____closed__4; 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__18; +x_50 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__18; x_51 = lean_array_push(x_50, x_49); -x_52 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7; +x_52 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7; x_53 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_53, 0, x_52); lean_ctor_set(x_53, 1, x_51); @@ -2817,17 +2789,17 @@ return x_59; } } } -static lean_object* _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_316____closed__1() { +static lean_object* _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_1236____closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3____closed__5; -x_2 = lean_unsigned_to_nat(316u); +x_1 = l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__5; +x_2 = lean_unsigned_to_nat(1236u); x_3 = lean_name_mk_numeral(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_316____closed__2() { +static lean_object* _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_1236____closed__2() { _start: { lean_object* x_1; @@ -2835,21 +2807,21 @@ x_1 = lean_mk_string("trace["); return x_1; } } -static lean_object* _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_316____closed__3() { +static lean_object* _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_1236____closed__3() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean___kind_term____x40_Lean_Util_Trace___hyg_316____closed__2; +x_1 = l_Lean___kind_term____x40_Lean_Util_Trace___hyg_1236____closed__2; 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_Util_Trace___hyg_316____closed__4() { +static lean_object* _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_1236____closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean___kind_term____x40_Lean_Util_Trace___hyg_316____closed__3; +x_1 = l_Lean___kind_term____x40_Lean_Util_Trace___hyg_1236____closed__3; x_2 = lean_box(19); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -2857,7 +2829,7 @@ lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_316____closed__5() { +static lean_object* _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_1236____closed__5() { _start: { lean_object* x_1; @@ -2865,33 +2837,33 @@ x_1 = lean_mk_string("]!"); return x_1; } } -static lean_object* _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_316____closed__6() { +static lean_object* _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_1236____closed__6() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean___kind_term____x40_Lean_Util_Trace___hyg_316____closed__5; +x_1 = l_Lean___kind_term____x40_Lean_Util_Trace___hyg_1236____closed__5; 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_Util_Trace___hyg_316____closed__7() { +static lean_object* _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_1236____closed__7() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean___kind_term____x40_Lean_Util_Trace___hyg_316____closed__4; -x_2 = l_Lean___kind_term____x40_Lean_Util_Trace___hyg_316____closed__6; +x_1 = l_Lean___kind_term____x40_Lean_Util_Trace___hyg_1236____closed__4; +x_2 = l_Lean___kind_term____x40_Lean_Util_Trace___hyg_1236____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___kind_term____x40_Lean_Util_Trace___hyg_316____closed__8() { +static lean_object* _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_1236____closed__8() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean___kind_term____x40_Lean_Util_Trace___hyg_316____closed__7; +x_1 = l_Lean___kind_term____x40_Lean_Util_Trace___hyg_1236____closed__7; x_2 = l_Lean___kind_term____x40_Lean_Exception___hyg_3____closed__7; x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -2899,13 +2871,13 @@ lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_316____closed__9() { +static lean_object* _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_1236____closed__9() { _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_Util_Trace___hyg_316____closed__1; +x_1 = l_Lean___kind_term____x40_Lean_Util_Trace___hyg_1236____closed__1; x_2 = lean_unsigned_to_nat(1023u); -x_3 = l_Lean___kind_term____x40_Lean_Util_Trace___hyg_316____closed__8; +x_3 = l_Lean___kind_term____x40_Lean_Util_Trace___hyg_1236____closed__8; x_4 = lean_alloc_ctor(9, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); @@ -2913,15 +2885,15 @@ lean_ctor_set(x_4, 2, x_3); return x_4; } } -static lean_object* _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_316_() { +static lean_object* _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_1236_() { _start: { lean_object* x_1; -x_1 = l_Lean___kind_term____x40_Lean_Util_Trace___hyg_316____closed__9; +x_1 = l_Lean___kind_term____x40_Lean_Util_Trace___hyg_1236____closed__9; return x_1; } } -static lean_object* _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_362____closed__1() { +static lean_object* _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_1304____closed__1() { _start: { lean_object* x_1; @@ -2929,22 +2901,22 @@ x_1 = lean_mk_string("Lean.trace"); return x_1; } } -static lean_object* _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_362____closed__2() { +static lean_object* _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_1304____closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_362____closed__1; +x_1 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_1304____closed__1; x_2 = lean_string_utf8_byte_size(x_1); return x_2; } } -static lean_object* _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_362____closed__3() { +static lean_object* _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_1304____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_Util_Trace___hyg_362____closed__1; +x_1 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_1304____closed__1; x_2 = lean_unsigned_to_nat(0u); -x_3 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_362____closed__2; +x_3 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_1304____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); @@ -2952,11 +2924,11 @@ lean_ctor_set(x_4, 2, x_3); return x_4; } } -lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_362_(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +lean_object* l_Lean_myMacro____x40_Lean_Util_Trace___hyg_1304_(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_Util_Trace___hyg_316____closed__1; +x_4 = l_Lean___kind_term____x40_Lean_Util_Trace___hyg_1236____closed__1; lean_inc(x_1); x_5 = l_Lean_Syntax_isOfKind(x_1, x_4); if (x_5 == 0) @@ -3011,13 +2983,13 @@ lean_inc(x_21); x_22 = lean_ctor_get(x_2, 1); lean_inc(x_22); lean_dec(x_2); -x_23 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__3; +x_23 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__3; lean_inc(x_21); lean_inc(x_22); x_24 = l_Lean_addMacroScope(x_22, x_23, x_21); x_25 = l_Lean_SourceInfo_inhabited___closed__1; -x_26 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_362____closed__3; -x_27 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__5; +x_26 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_1304____closed__3; +x_27 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__5; x_28 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_28, 0, x_25); lean_ctor_set(x_28, 1, x_26); @@ -3030,10 +3002,10 @@ lean_dec(x_15); x_32 = l___private_Init_LeanInit_13__quoteName___main(x_31); x_33 = lean_array_push(x_29, x_32); x_34 = lean_array_push(x_29, x_17); -x_35 = l_Lean_myMacro____x40_Lean_Message___hyg_158____closed__5; +x_35 = l_Lean_myMacro____x40_Lean_Message___hyg_207____closed__5; x_36 = l_Lean_addMacroScope(x_22, x_35, x_21); -x_37 = l_Lean_myMacro____x40_Lean_Message___hyg_158____closed__4; -x_38 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__20; +x_37 = l_Lean_myMacro____x40_Lean_Message___hyg_207____closed__4; +x_38 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__20; x_39 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_39, 0, x_25); lean_ctor_set(x_39, 1, x_37); @@ -3062,9 +3034,9 @@ x_53 = l_myMacro____x40_Init_Data_ToString_Macro___hyg_39____closed__4; x_54 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_54, 0, x_53); lean_ctor_set(x_54, 1, x_52); -x_55 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__18; +x_55 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__18; x_56 = lean_array_push(x_55, x_54); -x_57 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7; +x_57 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7; x_58 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_58, 0, x_57); lean_ctor_set(x_58, 1, x_56); @@ -3090,11 +3062,11 @@ lean_inc(x_65); x_66 = lean_ctor_get(x_2, 1); lean_inc(x_66); lean_dec(x_2); -x_67 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__3; +x_67 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__3; x_68 = l_Lean_addMacroScope(x_66, x_67, x_65); x_69 = l_Lean_SourceInfo_inhabited___closed__1; -x_70 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_362____closed__3; -x_71 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__5; +x_70 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_1304____closed__3; +x_71 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__5; x_72 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_72, 0, x_69); lean_ctor_set(x_72, 1, x_70); @@ -3108,13 +3080,13 @@ x_76 = l___private_Init_LeanInit_13__quoteName___main(x_75); x_77 = lean_array_push(x_73, x_76); x_78 = l_Lean_myMacro____x40_Lean_Exception___hyg_87____closed__9; x_79 = lean_array_push(x_78, x_17); -x_80 = l_Lean___kind_term____x40_Lean_Message___hyg_125____closed__5; +x_80 = l_Lean___kind_term____x40_Lean_Message___hyg_174____closed__5; x_81 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_81, 0, x_80); lean_ctor_set(x_81, 1, x_79); -x_82 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__18; +x_82 = l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__18; x_83 = lean_array_push(x_82, x_81); -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); @@ -3371,7 +3343,7 @@ else { lean_object* x_17; lean_object* x_18; uint8_t x_19; lean_inc(x_5); -x_17 = l_Std_PersistentArray_get_x21___at___private_Lean_Util_Trace_1__toFormat___spec__1(x_5, x_7); +x_17 = l_Std_PersistentArray_get_x21___at___private_Lean_Util_Trace_0__Lean_TraceState_toFormat___spec__1(x_5, x_7); x_18 = lean_ctor_get(x_17, 1); lean_inc(x_18); lean_dec(x_17); @@ -3454,7 +3426,7 @@ else { lean_object* x_41; lean_object* x_42; uint8_t x_43; lean_inc(x_28); -x_41 = l_Std_PersistentArray_get_x21___at___private_Lean_Util_Trace_1__toFormat___spec__1(x_28, x_30); +x_41 = l_Std_PersistentArray_get_x21___at___private_Lean_Util_Trace_0__Lean_TraceState_toFormat___spec__1(x_28, x_30); x_42 = lean_ctor_get(x_41, 1); lean_inc(x_42); lean_dec(x_41); @@ -3555,7 +3527,7 @@ lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_o x_8 = lean_ctor_get(x_1, 0); lean_inc(x_8); lean_dec(x_1); -x_9 = l___private_Lean_Util_Trace_5__getResetTraces___rarg___lambda__2___closed__1; +x_9 = l___private_Lean_Util_Trace_0__Lean_getResetTraces___rarg___lambda__2___closed__1; lean_inc(x_8); x_10 = lean_apply_1(x_8, x_9); lean_inc(x_6); @@ -3737,118 +3709,121 @@ lean_dec_ref(res); res = initialize_Lean_MonadEnv(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -l_Lean_traceElem_inhabited___closed__1 = _init_l_Lean_traceElem_inhabited___closed__1(); -lean_mark_persistent(l_Lean_traceElem_inhabited___closed__1); -l_Lean_traceElem_inhabited = _init_l_Lean_traceElem_inhabited(); -lean_mark_persistent(l_Lean_traceElem_inhabited); -l_Lean_TraceState_Inhabited___closed__1 = _init_l_Lean_TraceState_Inhabited___closed__1(); -lean_mark_persistent(l_Lean_TraceState_Inhabited___closed__1); -l_Lean_TraceState_Inhabited = _init_l_Lean_TraceState_Inhabited(); -lean_mark_persistent(l_Lean_TraceState_Inhabited); +l_Lean_Lean_Util_Trace___instance__1___closed__1 = _init_l_Lean_Lean_Util_Trace___instance__1___closed__1(); +lean_mark_persistent(l_Lean_Lean_Util_Trace___instance__1___closed__1); +l_Lean_Lean_Util_Trace___instance__1 = _init_l_Lean_Lean_Util_Trace___instance__1(); +lean_mark_persistent(l_Lean_Lean_Util_Trace___instance__1); +l_Lean_TraceState_enabled___default = _init_l_Lean_TraceState_enabled___default(); +l_Lean_TraceState_traces___default = _init_l_Lean_TraceState_traces___default(); +lean_mark_persistent(l_Lean_TraceState_traces___default); +l_Lean_TraceState_Lean_Util_Trace___instance__2___closed__1 = _init_l_Lean_TraceState_Lean_Util_Trace___instance__2___closed__1(); +lean_mark_persistent(l_Lean_TraceState_Lean_Util_Trace___instance__2___closed__1); +l_Lean_TraceState_Lean_Util_Trace___instance__2 = _init_l_Lean_TraceState_Lean_Util_Trace___instance__2(); +lean_mark_persistent(l_Lean_TraceState_Lean_Util_Trace___instance__2); l_Lean_resetTraceState___rarg___closed__1 = _init_l_Lean_resetTraceState___rarg___closed__1(); lean_mark_persistent(l_Lean_resetTraceState___rarg___closed__1); l_Lean_checkTraceOption___closed__1 = _init_l_Lean_checkTraceOption___closed__1(); lean_mark_persistent(l_Lean_checkTraceOption___closed__1); l_Lean_checkTraceOption___closed__2 = _init_l_Lean_checkTraceOption___closed__2(); lean_mark_persistent(l_Lean_checkTraceOption___closed__2); -l___private_Lean_Util_Trace_5__getResetTraces___rarg___lambda__2___closed__1 = _init_l___private_Lean_Util_Trace_5__getResetTraces___rarg___lambda__2___closed__1(); -lean_mark_persistent(l___private_Lean_Util_Trace_5__getResetTraces___rarg___lambda__2___closed__1); -l_Lean_traceCtx___rarg___lambda__2___closed__1 = _init_l_Lean_traceCtx___rarg___lambda__2___closed__1(); -lean_mark_persistent(l_Lean_traceCtx___rarg___lambda__2___closed__1); +l___private_Lean_Util_Trace_0__Lean_getResetTraces___rarg___lambda__2___closed__1 = _init_l___private_Lean_Util_Trace_0__Lean_getResetTraces___rarg___lambda__2___closed__1(); +lean_mark_persistent(l___private_Lean_Util_Trace_0__Lean_getResetTraces___rarg___lambda__2___closed__1); +l_Lean_traceCtx___rarg___lambda__4___closed__1 = _init_l_Lean_traceCtx___rarg___lambda__4___closed__1(); +lean_mark_persistent(l_Lean_traceCtx___rarg___lambda__4___closed__1); l_Lean_registerTraceClass___closed__1 = _init_l_Lean_registerTraceClass___closed__1(); lean_mark_persistent(l_Lean_registerTraceClass___closed__1); l_Lean_registerTraceClass___closed__2 = _init_l_Lean_registerTraceClass___closed__2(); lean_mark_persistent(l_Lean_registerTraceClass___closed__2); -l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3____closed__1 = _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3____closed__1(); -lean_mark_persistent(l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3____closed__1); -l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3____closed__2 = _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3____closed__2(); -lean_mark_persistent(l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3____closed__2); -l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3____closed__3 = _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3____closed__3(); -lean_mark_persistent(l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3____closed__3); -l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3____closed__4 = _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3____closed__4(); -lean_mark_persistent(l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3____closed__4); -l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3____closed__5 = _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3____closed__5(); -lean_mark_persistent(l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3____closed__5); -l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3____closed__6 = _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3____closed__6(); -lean_mark_persistent(l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3____closed__6); -l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3____closed__7 = _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3____closed__7(); -lean_mark_persistent(l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3____closed__7); -l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3____closed__8 = _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3____closed__8(); -lean_mark_persistent(l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3____closed__8); -l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3____closed__9 = _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3____closed__9(); -lean_mark_persistent(l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3____closed__9); -l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3____closed__10 = _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3____closed__10(); -lean_mark_persistent(l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3____closed__10); -l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3____closed__11 = _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3____closed__11(); -lean_mark_persistent(l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3____closed__11); -l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3_ = _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3_(); -lean_mark_persistent(l_Lean___kind_term____x40_Lean_Util_Trace___hyg_3_); -l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__1 = _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__1(); -lean_mark_persistent(l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__1); -l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__2 = _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__2(); -lean_mark_persistent(l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__2); -l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__3 = _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__3(); -lean_mark_persistent(l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__3); -l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__4 = _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__4(); -lean_mark_persistent(l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__4); -l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__5 = _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__5(); -lean_mark_persistent(l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__5); -l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__6 = _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__6(); -lean_mark_persistent(l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__6); -l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7 = _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7(); -lean_mark_persistent(l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__7); -l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__8 = _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__8(); -lean_mark_persistent(l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__8); -l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9 = _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9(); -lean_mark_persistent(l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__9); -l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__10 = _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__10(); -lean_mark_persistent(l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__10); -l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__11 = _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__11(); -lean_mark_persistent(l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__11); -l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__12 = _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__12(); -lean_mark_persistent(l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__12); -l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__13 = _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__13(); -lean_mark_persistent(l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__13); -l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__14 = _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__14(); -lean_mark_persistent(l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__14); -l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__15 = _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__15(); -lean_mark_persistent(l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__15); -l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__16 = _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__16(); -lean_mark_persistent(l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__16); -l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17 = _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17(); -lean_mark_persistent(l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__17); -l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__18 = _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__18(); -lean_mark_persistent(l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__18); -l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__19 = _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__19(); -lean_mark_persistent(l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__19); -l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__20 = _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__20(); -lean_mark_persistent(l_Lean_myMacro____x40_Lean_Util_Trace___hyg_45____closed__20); -l_Lean___kind_term____x40_Lean_Util_Trace___hyg_316____closed__1 = _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_316____closed__1(); -lean_mark_persistent(l_Lean___kind_term____x40_Lean_Util_Trace___hyg_316____closed__1); -l_Lean___kind_term____x40_Lean_Util_Trace___hyg_316____closed__2 = _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_316____closed__2(); -lean_mark_persistent(l_Lean___kind_term____x40_Lean_Util_Trace___hyg_316____closed__2); -l_Lean___kind_term____x40_Lean_Util_Trace___hyg_316____closed__3 = _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_316____closed__3(); -lean_mark_persistent(l_Lean___kind_term____x40_Lean_Util_Trace___hyg_316____closed__3); -l_Lean___kind_term____x40_Lean_Util_Trace___hyg_316____closed__4 = _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_316____closed__4(); -lean_mark_persistent(l_Lean___kind_term____x40_Lean_Util_Trace___hyg_316____closed__4); -l_Lean___kind_term____x40_Lean_Util_Trace___hyg_316____closed__5 = _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_316____closed__5(); -lean_mark_persistent(l_Lean___kind_term____x40_Lean_Util_Trace___hyg_316____closed__5); -l_Lean___kind_term____x40_Lean_Util_Trace___hyg_316____closed__6 = _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_316____closed__6(); -lean_mark_persistent(l_Lean___kind_term____x40_Lean_Util_Trace___hyg_316____closed__6); -l_Lean___kind_term____x40_Lean_Util_Trace___hyg_316____closed__7 = _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_316____closed__7(); -lean_mark_persistent(l_Lean___kind_term____x40_Lean_Util_Trace___hyg_316____closed__7); -l_Lean___kind_term____x40_Lean_Util_Trace___hyg_316____closed__8 = _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_316____closed__8(); -lean_mark_persistent(l_Lean___kind_term____x40_Lean_Util_Trace___hyg_316____closed__8); -l_Lean___kind_term____x40_Lean_Util_Trace___hyg_316____closed__9 = _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_316____closed__9(); -lean_mark_persistent(l_Lean___kind_term____x40_Lean_Util_Trace___hyg_316____closed__9); -l_Lean___kind_term____x40_Lean_Util_Trace___hyg_316_ = _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_316_(); -lean_mark_persistent(l_Lean___kind_term____x40_Lean_Util_Trace___hyg_316_); -l_Lean_myMacro____x40_Lean_Util_Trace___hyg_362____closed__1 = _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_362____closed__1(); -lean_mark_persistent(l_Lean_myMacro____x40_Lean_Util_Trace___hyg_362____closed__1); -l_Lean_myMacro____x40_Lean_Util_Trace___hyg_362____closed__2 = _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_362____closed__2(); -lean_mark_persistent(l_Lean_myMacro____x40_Lean_Util_Trace___hyg_362____closed__2); -l_Lean_myMacro____x40_Lean_Util_Trace___hyg_362____closed__3 = _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_362____closed__3(); -lean_mark_persistent(l_Lean_myMacro____x40_Lean_Util_Trace___hyg_362____closed__3); +l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__1 = _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__1(); +lean_mark_persistent(l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__1); +l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__2 = _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__2(); +lean_mark_persistent(l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__2); +l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__3 = _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__3(); +lean_mark_persistent(l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__3); +l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__4 = _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__4(); +lean_mark_persistent(l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__4); +l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__5 = _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__5(); +lean_mark_persistent(l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__5); +l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__6 = _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__6(); +lean_mark_persistent(l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__6); +l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__7 = _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__7(); +lean_mark_persistent(l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__7); +l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__8 = _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__8(); +lean_mark_persistent(l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__8); +l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__9 = _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__9(); +lean_mark_persistent(l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__9); +l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__10 = _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__10(); +lean_mark_persistent(l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__10); +l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__11 = _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__11(); +lean_mark_persistent(l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890____closed__11); +l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890_ = _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890_(); +lean_mark_persistent(l_Lean___kind_term____x40_Lean_Util_Trace___hyg_890_); +l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__1 = _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__1(); +lean_mark_persistent(l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__1); +l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__2 = _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__2(); +lean_mark_persistent(l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__2); +l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__3 = _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__3(); +lean_mark_persistent(l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__3); +l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__4 = _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__4(); +lean_mark_persistent(l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__4); +l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__5 = _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__5(); +lean_mark_persistent(l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__5); +l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__6 = _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__6(); +lean_mark_persistent(l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__6); +l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7 = _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7(); +lean_mark_persistent(l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__7); +l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__8 = _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__8(); +lean_mark_persistent(l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__8); +l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9 = _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9(); +lean_mark_persistent(l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__9); +l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__10 = _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__10(); +lean_mark_persistent(l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__10); +l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__11 = _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__11(); +lean_mark_persistent(l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__11); +l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__12 = _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__12(); +lean_mark_persistent(l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__12); +l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__13 = _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__13(); +lean_mark_persistent(l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__13); +l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__14 = _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__14(); +lean_mark_persistent(l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__14); +l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__15 = _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__15(); +lean_mark_persistent(l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__15); +l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__16 = _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__16(); +lean_mark_persistent(l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__16); +l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17 = _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17(); +lean_mark_persistent(l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__17); +l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__18 = _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__18(); +lean_mark_persistent(l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__18); +l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__19 = _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__19(); +lean_mark_persistent(l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__19); +l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__20 = _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__20(); +lean_mark_persistent(l_Lean_myMacro____x40_Lean_Util_Trace___hyg_954____closed__20); +l_Lean___kind_term____x40_Lean_Util_Trace___hyg_1236____closed__1 = _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_1236____closed__1(); +lean_mark_persistent(l_Lean___kind_term____x40_Lean_Util_Trace___hyg_1236____closed__1); +l_Lean___kind_term____x40_Lean_Util_Trace___hyg_1236____closed__2 = _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_1236____closed__2(); +lean_mark_persistent(l_Lean___kind_term____x40_Lean_Util_Trace___hyg_1236____closed__2); +l_Lean___kind_term____x40_Lean_Util_Trace___hyg_1236____closed__3 = _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_1236____closed__3(); +lean_mark_persistent(l_Lean___kind_term____x40_Lean_Util_Trace___hyg_1236____closed__3); +l_Lean___kind_term____x40_Lean_Util_Trace___hyg_1236____closed__4 = _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_1236____closed__4(); +lean_mark_persistent(l_Lean___kind_term____x40_Lean_Util_Trace___hyg_1236____closed__4); +l_Lean___kind_term____x40_Lean_Util_Trace___hyg_1236____closed__5 = _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_1236____closed__5(); +lean_mark_persistent(l_Lean___kind_term____x40_Lean_Util_Trace___hyg_1236____closed__5); +l_Lean___kind_term____x40_Lean_Util_Trace___hyg_1236____closed__6 = _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_1236____closed__6(); +lean_mark_persistent(l_Lean___kind_term____x40_Lean_Util_Trace___hyg_1236____closed__6); +l_Lean___kind_term____x40_Lean_Util_Trace___hyg_1236____closed__7 = _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_1236____closed__7(); +lean_mark_persistent(l_Lean___kind_term____x40_Lean_Util_Trace___hyg_1236____closed__7); +l_Lean___kind_term____x40_Lean_Util_Trace___hyg_1236____closed__8 = _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_1236____closed__8(); +lean_mark_persistent(l_Lean___kind_term____x40_Lean_Util_Trace___hyg_1236____closed__8); +l_Lean___kind_term____x40_Lean_Util_Trace___hyg_1236____closed__9 = _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_1236____closed__9(); +lean_mark_persistent(l_Lean___kind_term____x40_Lean_Util_Trace___hyg_1236____closed__9); +l_Lean___kind_term____x40_Lean_Util_Trace___hyg_1236_ = _init_l_Lean___kind_term____x40_Lean_Util_Trace___hyg_1236_(); +lean_mark_persistent(l_Lean___kind_term____x40_Lean_Util_Trace___hyg_1236_); +l_Lean_myMacro____x40_Lean_Util_Trace___hyg_1304____closed__1 = _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_1304____closed__1(); +lean_mark_persistent(l_Lean_myMacro____x40_Lean_Util_Trace___hyg_1304____closed__1); +l_Lean_myMacro____x40_Lean_Util_Trace___hyg_1304____closed__2 = _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_1304____closed__2(); +lean_mark_persistent(l_Lean_myMacro____x40_Lean_Util_Trace___hyg_1304____closed__2); +l_Lean_myMacro____x40_Lean_Util_Trace___hyg_1304____closed__3 = _init_l_Lean_myMacro____x40_Lean_Util_Trace___hyg_1304____closed__3(); +lean_mark_persistent(l_Lean_myMacro____x40_Lean_Util_Trace___hyg_1304____closed__3); l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1 = _init_l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1(); lean_mark_persistent(l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__1); l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__2 = _init_l_Array_iterateMAux___main___at_Lean_withNestedTraces___spec__4___closed__2();