diff --git a/stage0/src/Lean/Compiler.lean b/stage0/src/Lean/Compiler.lean index 3a0af52cb0..53ae98ac60 100644 --- a/stage0/src/Lean/Compiler.lean +++ b/stage0/src/Lean/Compiler.lean @@ -18,6 +18,7 @@ import Lean.Compiler.CompilerM import Lean.Compiler.LCNFTypes import Lean.Compiler.InferType import Lean.Compiler.LCNF +import Lean.Compiler.Stage1 import Lean.Compiler.Decl import Lean.Compiler.Main import Lean.Compiler.AtMostOnce -- TODO: delete after we port code generator to Lean diff --git a/stage0/src/Lean/Compiler/CompilerM.lean b/stage0/src/Lean/Compiler/CompilerM.lean index 52a4348cb3..5bbb7751a0 100644 --- a/stage0/src/Lean/Compiler/CompilerM.lean +++ b/stage0/src/Lean/Compiler/CompilerM.lean @@ -8,7 +8,14 @@ import Lean.Compiler.InferType namespace Lean.Compiler +/-- +The state managed by the `CompilerM` `Monad`. +-/ structure CompilerM.State where + /-- + A `LocalContext` to store local declarations from let binders + and other constructs in as we move through `Expr`s. + -/ lctx : LocalContext := {} letFVars : Array Expr := #[] /-- Next auxiliary variable suffix -/ @@ -26,17 +33,43 @@ instance : AddMessageContext CompilerM where instance : MonadInferType CompilerM where inferType e := do InferType.inferType e { lctx := (← get).lctx } +/-- +Add a new local declaration with the given arguments to the `LocalContext` of `CompilerM`. +Returns the free variable representing the new declaration. +-/ def mkLocalDecl (binderName : Name) (type : Expr) (bi := BinderInfo.default) : CompilerM Expr := do let fvarId ← mkFreshFVarId modify fun s => { s with lctx := s.lctx.mkLocalDecl fvarId binderName type bi } return .fvar fvarId +/-- +Add a new let declaration with the given arguments to the `LocalContext` of `CompilerM`. +Returns the free variable representing the new declaration. +-/ def mkLetDecl (binderName : Name) (type : Expr) (value : Expr) (nonDep : Bool) : CompilerM Expr := do let fvarId ← mkFreshFVarId let x := .fvar fvarId modify fun s => { s with lctx := s.lctx.mkLetDecl fvarId binderName type value nonDep, letFVars := s.letFVars.push x } return x +/-- +Look for a declaration with the given `FvarId` in the `LocalContext` of `CompilerM`. +-/ +def findDecl? (fvarId : FVarId) : CompilerM (Option LocalDecl) := do + let lctx := (← get).lctx + return lctx.find? fvarId + +/-- +Whether a given local declaration is a join point. +-/ +def _root_.Lean.LocalDecl.isJp (decl : LocalDecl) : Bool := + decl.userName.getPrefix == `_jp + +/-- +Create a new auxiliary let declaration with value `e` The name of the +declaration is guaranteed to be unique. +Returns the free variable representing the new declaration. +-/ def mkAuxLetDecl (e : Expr) (prefixName := `_x) : CompilerM Expr := do if e.isFVar then return e @@ -46,9 +79,17 @@ def mkAuxLetDecl (e : Expr) (prefixName := `_x) : CompilerM Expr := do finally modify fun s => { s with nextIdx := s.nextIdx + 1 } +/-- +Create an auxiliary let declaration with value `e`, that is a join point. +recognizable by the _jp name prefix. +Returns the free variable representing the new declaration. +-/ def mkJpDecl (e : Expr) : CompilerM Expr := do mkAuxLetDecl e `_jp +/-- +Compute the maximum auxiliary let variable index that is used within `e`. +-/ def getMaxLetVarIdx (e : Expr) : CoreM Nat := do let maxRef ← IO.mkRef 0 e.forEach fun @@ -57,6 +98,14 @@ def getMaxLetVarIdx (e : Expr) : CoreM Nat := do | _ => pure () maxRef.get +/-- +Move through all consecutive lambda abstractions at the top level of `e`. +Returning the body of the last one we find with all bound variables +instantiated as new free variables. +Returns a tuple consisting of: +1. An `Array` of all the newly created free variables +2. The (fully instantiated) body of the last lambda binder that was visited +-/ def visitLambda (e : Expr) : CompilerM (Array Expr × Expr) := go e #[] where @@ -68,6 +117,25 @@ where else return (fvars, e.instantiateRev fvars) +/-- +Given an expression representing a `match` return a tuple consisting of: +1. The motive +2. The discriminators +3. The expressions inside of the match arms +-/ +def visitMatch (cases : Expr) (casesInfo : CasesInfo) : CompilerM (Expr × Array Expr × Array Expr) := do + let args := cases.getAppArgs + let motive := args.get! casesInfo.motivePos + + let mut discrs := #[] + for i in casesInfo.discrsRange do + discrs := discrs.push args[i]! + + let mut arms := #[] + for i in casesInfo.altsRange do + arms := arms.push (←visitLambda args[i]!).snd + return (motive, discrs, arms) + def withNewScopeImp (x : CompilerM α) : CompilerM α := do let saved ← get modify fun s => { s with letFVars := #[] } @@ -79,7 +147,18 @@ def withNewScopeImp (x : CompilerM α) : CompilerM α := do def withNewScope [MonadFunctorT CompilerM m] (x : m α) : m α := monadMap (m := CompilerM) withNewScopeImp x +/-- +A typeclass for `Monad`s that are able to perform a visit operation for +let binders. That is move through a chain of consecutive let binders +and returning the body of the final one. +-/ class VisitLet (m : Type → Type) where + /-- + Move through consecutive top level let binders in the first argument, + applying the function in the second argument to the values before the + the local declarations for the binders are created. The final return + value is the body of the last let binder in the chain. + -/ visitLet : Expr → (Expr → m Expr) → m Expr export VisitLet (visitLet) @@ -115,7 +194,10 @@ def mkLetUsingScope (e : Expr) : CompilerM Expr := do pure e return (← get).lctx.mkLambda (← get).letFVars e +/-- +Shorthand for `LocalContext.mkLambda` with the `LocalContext` of `CompilerM`. +-/ def mkLambda (xs : Array Expr) (e : Expr) : CompilerM Expr := return (← get).lctx.mkLambda xs e -end Lean.Compiler \ No newline at end of file +end Lean.Compiler diff --git a/stage0/src/Lean/Compiler/Decl.lean b/stage0/src/Lean/Compiler/Decl.lean index e3a62fef2b..87d186d61b 100644 --- a/stage0/src/Lean/Compiler/Decl.lean +++ b/stage0/src/Lean/Compiler/Decl.lean @@ -8,6 +8,7 @@ import Lean.Meta.Check import Lean.Compiler.LCNF import Lean.Compiler.Check import Lean.Compiler.CompilerM +import Lean.Compiler.JoinPoints namespace Lean.Compiler @@ -75,8 +76,33 @@ def toDecl (declName : Name) : CoreM Decl := do let value ← toLCNF value return { name := declName, type, value } + + +/-- +Join points are let bound variables with an _jp name prefix. +They always need to satisfy two conditions: +1. Be fully applied +2. Always be called in tail position +in order to allow the optimizer to turn them into efficient machine code. +This function ensures that inside the given declaration both of these +conditions are satisfied and throws an exception otherwise. +-/ +def Decl.checkJoinPoints (decl : Decl) : CompilerM Unit := + JoinPointChecker.checkJoinPoints decl.value + + +/-- +Check whether a declaration still fulfills all the invariants that we put +on them, if it does not throw an exception. This is meant as a sanity +check for the code generator itself, not to find errors in the user code. + +These invariants are: +- The ones enforced by `Compiler.check` +- The stored and the inferred LCNF type of the declaration are compatible according to `compatibleTypes` +-/ def Decl.check (decl : Decl) (cfg : Check.Config := {}): CoreM Unit := do Compiler.check decl.value cfg { lctx := {} } + checkJoinPoints decl |>.run' {} let valueType ← InferType.inferType decl.value { lctx := {} } unless compatibleTypes decl.type valueType do throwError "declaration type mismatch at `{decl.name}`, value has type{indentExpr valueType}\nbut is expected to have type{indentExpr decl.type}" @@ -85,4 +111,8 @@ def Decl.check (decl : Decl) (cfg : Check.Config := {}): CoreM Unit := do def Decl.mapValue (decl : Decl) (f : Expr → CompilerM Expr) : CoreM Decl := do return { decl with value := (← f decl.value |>.run' { nextIdx := (← getMaxLetVarIdx decl.value) + 1 }) } +def Decl.toString (decl : Decl) : CoreM String := do + Meta.MetaM.run' do + return s!"{decl.name} : {← Meta.ppExpr decl.type} :=\n{← Meta.ppExpr decl.value}" + end Lean.Compiler diff --git a/stage0/src/Lean/Compiler/InitAttr.lean b/stage0/src/Lean/Compiler/InitAttr.lean index d753eb0317..361401a2a5 100644 --- a/stage0/src/Lean/Compiler/InitAttr.lean +++ b/stage0/src/Lean/Compiler/InitAttr.lean @@ -5,6 +5,7 @@ Authors: Leonardo de Moura -/ import Lean.Environment import Lean.Attributes +import Lean.Elab.InfoTree.Main namespace Lean @@ -41,7 +42,7 @@ unsafe def registerInitAttrUnsafe (attrName : Name) (runAfterImport : Bool) (ref let decl ← getConstInfo declName match (← Attribute.Builtin.getIdent? stx) with | some initFnName => - let initFnName ← resolveGlobalConstNoOverload initFnName + let initFnName ← Elab.resolveGlobalConstNoOverloadWithInfo initFnName let initDecl ← getConstInfo initFnName match getIOTypeArg initDecl.type with | none => throwError "initialization function '{initFnName}' must have type of the form `IO `" diff --git a/stage0/src/Lean/Compiler/JoinPoints.lean b/stage0/src/Lean/Compiler/JoinPoints.lean new file mode 100644 index 0000000000..7437ee9604 --- /dev/null +++ b/stage0/src/Lean/Compiler/JoinPoints.lean @@ -0,0 +1,93 @@ +/- +Copyright (c) 2022 Henrik Böving. All rights reserved. +Released under Apache 2.0 license as described in the file LICENSE. +Authors: Henrik Böving +-/ +import Lean.Compiler.CompilerM + +namespace Lean.Compiler + +namespace JoinPointChecker + +def jpArity (jp : LocalDecl) : Nat := + go jp.value +where + go : Expr → Nat + | .lam _ _ body _ => 1 + go body + | _ => 0 + +/-- +Throws an exception if `e` contains a join point. +-/ +partial def containsNoJp (e : Expr) : CompilerM Unit := do + match e.consumeMData with + | .proj _ _ struct => containsNoJp struct + | .lam .. => + withNewScope do + let (_, b) ← visitLambda e + containsNoJp b + | .letE .. => + withNewScope do + let body ← visitLet e (fun e => do containsNoJp e; pure e) + containsNoJp body + | .app fn arg => + containsNoJp fn + containsNoJp arg + | .fvar fvarId => + let some decl ← findDecl? fvarId | unreachable! + if decl.isJp then + throwError s!"Join point {decl.userName} in forbidden position" + | .sort .. | .forallE .. | .const .. | .lit .. => return () + | .bvar .. | .mvar .. | .mdata .. => unreachable! + +/-- +Check whether all join points in `e` are in a valid position that is: +1. Fully applied +2. In tail position inside of `e` +-/ +partial def checkJoinPoints (e : Expr) : CompilerM Unit := do + goLambda e +where + goLambda (e : Expr) : CompilerM Unit := do + withNewScope do + let (_, body) ← visitLambda e + go body + + goLetValue (value : Expr) : CompilerM Unit := do + let value := value.consumeMData + match value with + | .lam .. => goLambda value + | _ => containsNoJp value + + go (e : Expr) : CompilerM Unit := do + let e := e.consumeMData + match e with + | .letE .. => + withNewScope do + let body ← visitLet e (fun value => do goLetValue value; pure value) + go body + | .app (.fvar fvarId) arg => + let some decl ← findDecl? fvarId | unreachable! + if decl.isJp then + let args := e.getAppNumArgs + let jpArity := jpArity decl + if args != jpArity then + throwError s!"Join point {decl.userName} : {decl.type} is not fully applied in {e}" + -- Make sure no join point is inside the arguments since that would not be in tail position + containsNoJp arg + | .app .. => + if let some casesInfo ←isCasesApp? e then + withNewScope do + let (motive, discrs, arms) ← visitMatch e casesInfo + containsNoJp motive + discrs.forM containsNoJp + arms.forM go + else + containsNoJp e + | .proj .. | .lam .. => containsNoJp e + | .fvar .. | .sort .. | .forallE .. | .const .. | .lit .. => return () + | .bvar .. | .mvar .. | .mdata .. => unreachable! + +end JoinPointChecker + +end Lean.Compiler diff --git a/stage0/src/Lean/Compiler/Main.lean b/stage0/src/Lean/Compiler/Main.lean index 4590ccaf40..ba9c0c7d02 100644 --- a/stage0/src/Lean/Compiler/Main.lean +++ b/stage0/src/Lean/Compiler/Main.lean @@ -6,6 +6,7 @@ Authors: Leonardo de Moura import Lean.Compiler.Decl import Lean.Compiler.TerminalCases import Lean.Compiler.CSE +import Lean.Compiler.Stage1 namespace Lean.Compiler @@ -41,11 +42,8 @@ def checkpoint (step : Name) (decls : Array Decl) (cfg : Check.Config := {}): Co trace[Compiler.step] "{decl.name} : {decl.type} :=\n{decl.value}" decl.check cfg -/-- -Run the code generation pipeline for all declarations in `declNames` -that fulfill the requirements of `shouldGenerateCode`. --/ -def compile (declNames : Array Name) : CoreM Unit := do profileitM Exception "compiler new" (← getOptions) do +@[export lean_compile_stage1] +def compileStage1Impl (declNames : Array Name) : CoreM (Array Decl) := do let declNames ← declNames.filterM shouldGenerateCode let decls ← declNames.mapM toDecl checkpoint `init decls { terminalCasesOnly := false } @@ -54,6 +52,15 @@ def compile (declNames : Array Name) : CoreM Unit := do profileitM Exception "co -- Remark: add simplification step here, `cse` is useful after simplification let decls ← decls.mapM (·.cse) checkpoint `cse decls + saveStage1Decls decls + return decls + +/-- +Run the code generation pipeline for all declarations in `declNames` +that fulfill the requirements of `shouldGenerateCode`. +-/ +def compile (declNames : Array Name) : CoreM Unit := do profileitM Exception "compiler new" (← getOptions) do + discard <| compileStage1Impl declNames builtin_initialize registerTraceClass `Compiler diff --git a/stage0/src/Lean/Compiler/Stage1.lean b/stage0/src/Lean/Compiler/Stage1.lean new file mode 100644 index 0000000000..86b7e265ca --- /dev/null +++ b/stage0/src/Lean/Compiler/Stage1.lean @@ -0,0 +1,42 @@ +/- +Copyright (c) 2022 Microsoft Corporation. All rights reserved. +Released under Apache 2.0 license as described in the file LICENSE. +Authors: Leonardo de Moura +-/ +import Lean.Compiler.Decl + +namespace Lean.Compiler + +structure Stage1ExtState where + decls : Std.PHashMap Name Decl := {} + deriving Inhabited + +builtin_initialize stage1Ext : EnvExtension Stage1ExtState ← + registerEnvExtension (pure {}) + +/- "Forward declaration" -/ +@[extern "lean_compile_stage1"] +opaque compileStage1 : Array Name → CoreM (Array Decl) + +/-- +Save/Cache the given LCNF declarations in the stage1 environment extension. +-/ +def saveStage1Decls (decls : Array Decl) : CoreM Unit := + modifyEnv fun env => stage1Ext.modifyState env fun s => decls.foldl (init := s) fun s decl => + { s with decls := s.decls.insert decl.name decl } + +/-- +Retrieve stage1 LCNF declaration for the given declaration. + +We currently do not store stage1 declarations on .olean files, +and we generate +-/ +def getStage1Decl? (declName : Name) : CoreM (Option Decl) := do + match stage1Ext.getState (← getEnv) |>.decls.find? declName with + | some decl => return decl + | none => + let info ← getConstInfo declName + let decls ← compileStage1 info.all.toArray + return decls.find? fun decl => declName == decl.name + +end Lean.Compiler \ No newline at end of file diff --git a/stage0/src/Lean/Deprecated.lean b/stage0/src/Lean/Deprecated.lean index 766315282d..9a52fe2a23 100644 --- a/stage0/src/Lean/Deprecated.lean +++ b/stage0/src/Lean/Deprecated.lean @@ -5,6 +5,7 @@ Authors: Leonardo de Moura -/ import Lean.Log import Lean.Attributes +import Lean.Elab.InfoTree.Main namespace Lean @@ -16,7 +17,7 @@ builtin_initialize deprecatedAttr : ParametricAttribute (Option Name) ← match stx with | `(attr| deprecated $[$id?]?) => let some id := id? | return none - let declNameNew ← resolveGlobalConstNoOverload id + let declNameNew ← Elab.resolveGlobalConstNoOverloadWithInfo id return some declNameNew | _ => throwError "invalid `[deprecated]` attribute" } diff --git a/stage0/src/Lean/Elab/BuiltinCommand.lean b/stage0/src/Lean/Elab/BuiltinCommand.lean index 330dab678a..cba007eef0 100644 --- a/stage0/src/Lean/Elab/BuiltinCommand.lean +++ b/stage0/src/Lean/Elab/BuiltinCommand.lean @@ -408,7 +408,7 @@ opaque elabEval : CommandElab @[builtinCommandElab Parser.Command.addDocString] def elabAddDeclDoc : CommandElab := fun stx => do match stx with | `($doc:docComment add_decl_doc $id) => - let declName ← resolveGlobalConstNoOverload id + let declName ← resolveGlobalConstNoOverloadWithInfo id addDocString declName (← getDocStringText doc) | _ => throwUnsupportedSyntax diff --git a/stage0/src/Lean/Elab/BuiltinNotation.lean b/stage0/src/Lean/Elab/BuiltinNotation.lean index 58e49bb36e..cf5642501b 100644 --- a/stage0/src/Lean/Elab/BuiltinNotation.lean +++ b/stage0/src/Lean/Elab/BuiltinNotation.lean @@ -160,7 +160,7 @@ partial def mkPairs (elems : Array Term) : MacroM Term := pure acc loop (elems.size - 1) elems.back -private partial def hasCDot : Syntax → Bool +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 diff --git a/stage0/src/Lean/Elab/Extra.lean b/stage0/src/Lean/Elab/Extra.lean index ba981f4a7a..f282b120b7 100644 --- a/stage0/src/Lean/Elab/Extra.lean +++ b/stage0/src/Lean/Elab/Extra.lean @@ -4,6 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura -/ import Lean.Elab.App +import Lean.Elab.BuiltinNotation /-! # Auxiliary elaboration functions: AKA custom elaborators -/ @@ -127,26 +128,57 @@ there is no coercion `Matrix Real 5 4` from `Matrix Real 4 8` and vice-versa, bu -/ private inductive Tree where - | term (ref : Syntax) (val : Expr) - | op (ref : Syntax) (lazy : Bool) (f : Expr) (lhs rhs : Tree) + | /-- + Leaf of the tree. + We store the `infoTrees` generated when elaborating `val`. These trees become + subtrees of the infotree nodes generated for `op` nodes. + -/ + term (ref : Syntax) (infoTrees : Std.PersistentArray InfoTree) (val : Expr) + | /-- + `ref` is the original syntax that expanded into `binop%`. + `macroName` is the `macro_rule` that produce the expansion. We store this information + here to make sure "go to definition" behaves similarly to notation defined without using `binop%` helper elaborator. + -/ + op (ref : Syntax) (macroName : Name) (lazy : Bool) (f : Expr) (lhs rhs : Tree) private partial def toTree (s : Syntax) : TermElabM Tree := do - let s ← liftMacroM <| expandMacros s + /- + Remark: ew used to use `expandMacros` here, but this is a bad idiom + because we do not record the macro expansion information in the info tree. + We now manually expand the notation in the `go` function, and save + the macro declaration names in the `op` nodes. + -/ let result ← go s synthesizeSyntheticMVars (mayPostpone := true) return result where go (s : Syntax) := do match s with - | `(binop% $f $lhs $rhs) => processOp (lazy := false) f lhs rhs - | `(binop_lazy% $f $lhs $rhs) => processOp (lazy := true) f lhs rhs - | `(($e)) => go e + | `(binop% $f $lhs $rhs) => processOp (lazy := false) s .anonymous f lhs rhs + | `(binop_lazy% $f $lhs $rhs) => processOp (lazy := true) s .anonymous f lhs rhs + | `(($e)) => + if hasCDot e then + processLeaf s + else + go e | _ => - return Tree.term s (← elabTerm s none) + match (← liftMacroM <| expandMacroImpl? (← getEnv) s) with + | some (macroName, s?) => + let s' ← liftMacroM <| liftExcept s? + match s' with + | `(binop% $f $lhs $rhs) => processOp (lazy := false) s macroName f lhs rhs + | `(binop_lazy% $f $lhs $rhs) => processOp (lazy := true) s macroName f lhs rhs + | _ => processLeaf s + | none => processLeaf s - processOp (f lhs rhs : Syntax) (lazy : Bool) := do + processOp (ref : Syntax) (declName : Name) (f lhs rhs : Syntax) (lazy : Bool) := do let some f ← resolveId? f | throwUnknownConstant f.getId - return Tree.op s (lazy := lazy) f (← go lhs) (← go rhs) + return .op (lazy := lazy) ref declName f (← go lhs) (← go rhs) + + processLeaf (s : Syntax) := do + let e ← elabTerm s none + let info ← getResetInfoTrees + return .term s info e -- Auxiliary function used at `analyze` private def hasCoe (fromType toType : Expr) : TermElabM Bool := do @@ -184,8 +216,8 @@ where go (t : Tree) : StateRefT AnalyzeResult TermElabM Unit := do unless (← get).hasUncomparable do match t with - | Tree.op _ _ _ lhs rhs => go lhs; go rhs - | Tree.term _ val => + | .op _ _ _ _ lhs rhs => go lhs; go rhs + | .term _ _ val => let type ← instantiateMVars (← inferType val) unless isUnknow type do match (← get).max? with @@ -200,14 +232,19 @@ where trace[Elab.binop] "uncomparable types: {max}, {type}" modify fun s => { s with hasUncomparable := true } -private def mkOp (f : Expr) (lhs rhs : Expr) : TermElabM Expr := +private def mkOp (f : Expr) (lhs rhs : Expr) : TermElabM Expr := do elabAppArgs f #[] #[Arg.expr lhs, Arg.expr rhs] (expectedType? := none) (explicit := false) (ellipsis := false) (resultIsOutParamSupport := false) private def toExprCore (t : Tree) : TermElabM Expr := do match t with - | .term _ e => return e - | .op ref true f lhs rhs => withRef ref <| mkOp f (← toExprCore lhs) (← mkFunUnit (← toExprCore rhs)) - | .op ref false f lhs rhs => withRef ref <| mkOp f (← toExprCore lhs) (← toExprCore rhs) + | .term _ trees e => + modifyInfoState (fun s => { s with trees := s.trees ++ trees }); return e + | .op ref macroName true f lhs rhs => + withRef ref <| withInfoContext' ref (mkInfo := mkTermInfo macroName ref) do + mkOp f (← toExprCore lhs) (← mkFunUnit (← toExprCore rhs)) + | .op ref macroName false f lhs rhs => + withRef ref <| withInfoContext' ref (mkInfo := mkTermInfo macroName ref) do + mkOp f (← toExprCore lhs) (← toExprCore rhs) /-- Auxiliary function to decide whether we should coerce `f`'s argument to `maxType` or not. @@ -286,7 +323,7 @@ mutual where go (t : Tree) (f? : Option Expr) (lhs : Bool) (isPred : Bool) : TermElabM Tree := do match t with - | .op ref lazy f lhs rhs => + | .op ref macroName lazy f lhs rhs => /- We only keep applying coercions to `maxType` if `f` is predicate or `f` has a homogenous instance with `maxType`. See `hasHomogeneousInstance` for additional details. @@ -294,12 +331,13 @@ mutual Remark: We assume `binrel%` elaborator is only used with homogenous predicates. -/ if (← pure isPred <||> hasHomogeneousInstance f maxType) then - return Tree.op ref lazy f (← go lhs f true false) (← go rhs f false false) + return Tree.op ref macroName lazy f (← go lhs f true false) (← go rhs f false false) else - let lhs ← toExpr lhs none - let rhs ← toExpr rhs none - return Tree.term ref (← mkOp f lhs rhs) - | .term ref e => + let r ← withRef ref <| withInfoContext' ref (mkInfo := mkTermInfo macroName ref) do + mkOp f (← toExpr lhs none) (← toExpr rhs none) + let infoTrees ← getResetInfoTrees + return .term ref infoTrees r + | .term ref trees e => let type ← instantiateMVars (← inferType e) trace[Elab.binop] "visiting {e} : {type} =?= {maxType}" if isUnknow type then @@ -311,7 +349,7 @@ mutual return t else trace[Elab.binop] "added coercion: {e} : {type} => {maxType}" - withRef ref <| return Tree.term ref (← mkCoe maxType type e) + withRef ref <| return .term ref trees (← mkCoe maxType type e) private partial def toExpr (tree : Tree) (expectedType? : Option Expr) : TermElabM Expr := do let r ← analyze tree expectedType? @@ -346,7 +384,7 @@ def elabBinRelCore (noProp : Bool) (stx : Syntax) (expectedType? : Option Expr) | some f => withSynthesize (mayPostpone := true) do let lhs ← withRef stx[2] <| toTree stx[2] let rhs ← withRef stx[3] <| toTree stx[3] - let tree := Tree.op (lazy := false) stx f lhs rhs + let tree := Tree.op (lazy := false) stx .anonymous f lhs rhs let r ← analyze tree none trace[Elab.binrel] "hasUncomparable: {r.hasUncomparable}, maxType: {r.max?}" if r.hasUncomparable || r.max?.isNone then diff --git a/stage0/src/Lean/Elab/GenInjective.lean b/stage0/src/Lean/Elab/GenInjective.lean index 808b49df3e..8a97530f6a 100644 --- a/stage0/src/Lean/Elab/GenInjective.lean +++ b/stage0/src/Lean/Elab/GenInjective.lean @@ -9,7 +9,7 @@ import Lean.Meta.Injective namespace Lean.Elab.Command @[builtinCommandElab genInjectiveTheorems] def elabGenInjectiveTheorems : CommandElab := fun stx => do - let declName ← resolveGlobalConstNoOverload stx[1] + let declName ← resolveGlobalConstNoOverloadWithInfo stx[1] liftTermElabM do Meta.mkInjectiveTheorems declName diff --git a/stage0/src/Lean/Elab/Mixfix.lean b/stage0/src/Lean/Elab/Mixfix.lean index 201c89af0f..e74ef2a9be 100644 --- a/stage0/src/Lean/Elab/Mixfix.lean +++ b/stage0/src/Lean/Elab/Mixfix.lean @@ -10,26 +10,26 @@ namespace Lean.Elab.Command @[builtinMacro Lean.Parser.Command.mixfix] def expandMixfix : Macro := fun stx => withAttrKindGlobal stx fun stx => do match stx with - | `($[$doc?:docComment]? infixl:$prec $[(name := $name)]? $[(priority := $prio)]? $op => $f) => + | `($[$doc?:docComment]? $[@[$attrs?,*]]? infixl:$prec $[(name := $name)]? $[(priority := $prio)]? $op => $f) => let prec1 := quote <| (← evalPrec prec) + 1 - `($[$doc?:docComment]? notation:$prec $[(name := $name)]? $[(priority := $prio)]? lhs:$prec $op:str rhs:$prec1 => $f lhs rhs) - | `($[$doc?:docComment]? infix:$prec $[(name := $name)]? $[(priority := $prio)]? $op => $f) => + `($[$doc?:docComment]? $[@[$attrs?,*]]? notation:$prec $[(name := $name)]? $[(priority := $prio)]? lhs:$prec $op:str rhs:$prec1 => $f lhs rhs) + | `($[$doc?:docComment]? $[@[$attrs?,*]]? infix:$prec $[(name := $name)]? $[(priority := $prio)]? $op => $f) => let prec1 := quote <| (← evalPrec prec) + 1 - `($[$doc?:docComment]? notation:$prec $[(name := $name)]? $[(priority := $prio)]? lhs:$prec1 $op:str rhs:$prec1 => $f lhs rhs) - | `($[$doc?:docComment]? infixr:$prec $[(name := $name)]? $[(priority := $prio)]? $op => $f) => + `($[$doc?:docComment]? $[@[$attrs?,*]]? notation:$prec $[(name := $name)]? $[(priority := $prio)]? lhs:$prec1 $op:str rhs:$prec1 => $f lhs rhs) + | `($[$doc?:docComment]? $[@[$attrs?,*]]? infixr:$prec $[(name := $name)]? $[(priority := $prio)]? $op => $f) => let prec1 := quote <| (← evalPrec prec) + 1 - `($[$doc?:docComment]? notation:$prec $[(name := $name)]? $[(priority := $prio)]? lhs:$prec1 $op:str rhs:$prec => $f lhs rhs) - | `($[$doc?:docComment]? prefix:$prec $[(name := $name)]? $[(priority := $prio)]? $op => $f) => - `($[$doc?:docComment]? notation:$prec $[(name := $name)]? $[(priority := $prio)]? $op:str arg:$prec => $f arg) - | `($[$doc?:docComment]? postfix:$prec $[(name := $name)]? $[(priority := $prio)]? $op => $f) => - `($[$doc?:docComment]? notation:$prec $[(name := $name)]? $[(priority := $prio)]? arg:$prec $op:str => $f arg) + `($[$doc?:docComment]? $[@[$attrs?,*]]? notation:$prec $[(name := $name)]? $[(priority := $prio)]? lhs:$prec1 $op:str rhs:$prec => $f lhs rhs) + | `($[$doc?:docComment]? $[@[$attrs?,*]]? prefix:$prec $[(name := $name)]? $[(priority := $prio)]? $op => $f) => + `($[$doc?:docComment]? $[@[$attrs?,*]]? notation:$prec $[(name := $name)]? $[(priority := $prio)]? $op:str arg:$prec => $f arg) + | `($[$doc?:docComment]? $[@[$attrs?,*]]? postfix:$prec $[(name := $name)]? $[(priority := $prio)]? $op => $f) => + `($[$doc?:docComment]? $[@[$attrs?,*]]? notation:$prec $[(name := $name)]? $[(priority := $prio)]? arg:$prec $op:str => $f arg) | _ => Macro.throwUnsupported where -- set "global" `attrKind`, apply `f`, and restore `attrKind` to result withAttrKindGlobal stx f := do - let attrKind := stx[1] - let stx := stx.setArg 1 mkAttrKindGlobal + let attrKind := stx[2] + let stx := stx.setArg 2 mkAttrKindGlobal let stx ← f stx - return stx.raw.setArg 1 attrKind + return stx.raw.setArg 2 attrKind end Lean.Elab.Command diff --git a/stage0/src/Lean/Elab/Notation.lean b/stage0/src/Lean/Elab/Notation.lean index 85a794c3b7..113f2d0c55 100644 --- a/stage0/src/Lean/Elab/Notation.lean +++ b/stage0/src/Lean/Elab/Notation.lean @@ -107,7 +107,9 @@ private def isLocalAttrKind (attrKind : Syntax) : Bool := | _ => false private def expandNotationAux (ref : Syntax) (currNamespace : Name) - (doc? : Option (TSyntax ``docComment)) (attrKind : TSyntax ``attrKind) + (doc? : Option (TSyntax ``docComment)) + (attrs? : Option (TSepArray ``attrInstance ",")) + (attrKind : TSyntax ``attrKind) (prec? : Option Prec) (name? : Option Ident) (prio? : Option Prio) (items : Array (TSyntax ``notationItem)) (rhs : Term) : MacroM Syntax := do let prio ← evalOptPrio prio? @@ -119,7 +121,7 @@ private def expandNotationAux (ref : Syntax) (currNamespace : Name) | some name => pure name.getId | none => mkNameFromParserSyntax `term (mkNullNode syntaxParts) -- build macro rules - let vars := items.filter fun item => item.raw.getKind == `Lean.Parser.Command.identPrec + let vars := items.filter fun item => item.raw.getKind == ``identPrec let vars := vars.map fun var => var.raw[0] let qrhs := ⟨antiquote vars rhs⟩ let patArgs ← items.mapM expandNotationItemIntoPattern @@ -127,7 +129,8 @@ private def expandNotationAux (ref : Syntax) (currNamespace : Name) So, we must include current namespace when we create a pattern for the following `macro_rules` commands. -/ let fullName := currNamespace ++ name let pat : Term := ⟨mkNode fullName patArgs⟩ - let stxDecl ← `($[$doc?:docComment]? $attrKind:attrKind syntax $[: $prec?]? (name := $(mkIdent name)) (priority := $(quote prio)) $[$syntaxParts]* : $cat) + let stxDecl ← `($[$doc?:docComment]? $[@[$attrs?,*]]? $attrKind:attrKind + syntax $[: $prec?]? (name := $(mkIdent name)) (priority := $(quote prio)) $[$syntaxParts]* : $cat) let macroDecl ← `(macro_rules | `($pat) => ``($qrhs)) let macroDecls ← if isLocalAttrKind attrKind then @@ -140,10 +143,11 @@ private def expandNotationAux (ref : Syntax) (currNamespace : Name) | none => return mkNullNode #[stxDecl, macroDecls] @[builtinMacro Lean.Parser.Command.notation] def expandNotation : Macro - | stx@`($[$doc?:docComment]? $attrKind:attrKind notation $[: $prec? ]? $[(name := $name?)]? $[(priority := $prio?)]? $items* => $rhs) => do + | stx@`($[$doc?:docComment]? $[@[$attrs?,*]]? $attrKind:attrKind + notation $[: $prec?]? $[(name := $name?)]? $[(priority := $prio?)]? $items* => $rhs) => do -- trigger scoped checks early and only once let _ ← toAttributeKind attrKind - expandNotationAux stx (← Macro.getCurrNamespace) doc? attrKind prec? name? prio? items rhs + expandNotationAux stx (← Macro.getCurrNamespace) doc? attrs? attrKind prec? name? prio? items rhs | _ => Macro.throwUnsupported end Lean.Elab.Command diff --git a/stage0/src/Lean/Elab/Tactic/Conv/Delta.lean b/stage0/src/Lean/Elab/Tactic/Conv/Delta.lean index c018b33ebb..433ff2b40f 100644 --- a/stage0/src/Lean/Elab/Tactic/Conv/Delta.lean +++ b/stage0/src/Lean/Elab/Tactic/Conv/Delta.lean @@ -10,7 +10,7 @@ namespace Lean.Elab.Tactic.Conv open Meta @[builtinTactic Lean.Parser.Tactic.Conv.delta] def evalDelta : Tactic := fun stx => withMainContext do - let declName ← resolveGlobalConstNoOverload stx[1] + let declName ← resolveGlobalConstNoOverloadWithInfo stx[1] let lhsNew ← deltaExpand (← instantiateMVars (← getLhs)) (· == declName) changeLhs lhsNew diff --git a/stage0/src/Lean/Elab/Tactic/Conv/Unfold.lean b/stage0/src/Lean/Elab/Tactic/Conv/Unfold.lean index dba4dfbb79..c1c8b7d2cb 100644 --- a/stage0/src/Lean/Elab/Tactic/Conv/Unfold.lean +++ b/stage0/src/Lean/Elab/Tactic/Conv/Unfold.lean @@ -10,7 +10,7 @@ namespace Lean.Elab.Tactic.Conv open Meta @[builtinTactic Lean.Parser.Tactic.Conv.unfold] def evalUnfold : Tactic := fun stx => withMainContext do - let declName ← resolveGlobalConstNoOverload stx[1] + let declName ← resolveGlobalConstNoOverloadWithInfo stx[1] applySimpResult (← unfold (← getLhs) declName) end Lean.Elab.Tactic.Conv diff --git a/stage0/src/Lean/Elab/Tactic/Delta.lean b/stage0/src/Lean/Elab/Tactic/Delta.lean index f47cfe65ac..5a7dcb6a05 100644 --- a/stage0/src/Lean/Elab/Tactic/Delta.lean +++ b/stage0/src/Lean/Elab/Tactic/Delta.lean @@ -30,7 +30,7 @@ def deltaTarget (declName : Name) : TacticM Unit := do "delta " ident (location)? -/ @[builtinTactic Lean.Parser.Tactic.delta] def evalDelta : Tactic := fun stx => do - let declName ← resolveGlobalConstNoOverload stx[1] + let declName ← resolveGlobalConstNoOverloadWithInfo stx[1] let loc := expandOptLocation stx[2] withLocation loc (deltaLocalDecl declName) (deltaTarget declName) (throwTacticEx `delta · m!"did not delta reduce '{declName}'") diff --git a/stage0/src/Lean/Elab/Tactic/Rewrite.lean b/stage0/src/Lean/Elab/Tactic/Rewrite.lean index 27a2bc1c60..8919f57e72 100644 --- a/stage0/src/Lean/Elab/Tactic/Rewrite.lean +++ b/stage0/src/Lean/Elab/Tactic/Rewrite.lean @@ -50,6 +50,7 @@ def withRWRulesSeq (token : Syntax) (rwRulesSeqStx : Syntax) (x : (symm : Bool) | [] => throwError "failed to rewrite using equation theorems for '{declName}'" | eqThm::eqThms => (x symm (mkIdentFrom id eqThm)) <|> go eqThms go eqThms.toList + discard <| Term.addTermInfo id (← mkConstWithFreshMVarLevels declName) (lctx? := ← getLCtx) match term with | `($id:ident) => processId id | `(@$id:ident) => processId id diff --git a/stage0/src/Lean/Elab/Tactic/Unfold.lean b/stage0/src/Lean/Elab/Tactic/Unfold.lean index a03affed13..0b9ff9298d 100644 --- a/stage0/src/Lean/Elab/Tactic/Unfold.lean +++ b/stage0/src/Lean/Elab/Tactic/Unfold.lean @@ -25,7 +25,7 @@ def unfoldTarget (declName : Name) : TacticM Unit := do go declNameId loc where go (declNameId : Syntax) (loc : Location) : TacticM Unit := do - let declName ← resolveGlobalConstNoOverload declNameId + let declName ← resolveGlobalConstNoOverloadWithInfo declNameId withLocation loc (unfoldLocalDecl declName) (unfoldTarget declName) (throwTacticEx `unfold · m!"did not unfold '{declName}'") end Lean.Elab.Tactic diff --git a/stage0/src/Lean/Linter/MissingDocs.lean b/stage0/src/Lean/Linter/MissingDocs.lean index 6f6fb7f886..3e98904a4b 100644 --- a/stage0/src/Lean/Linter/MissingDocs.lean +++ b/stage0/src/Lean/Linter/MissingDocs.lean @@ -169,15 +169,15 @@ def checkInit : SimpleHandler := fun stx => do @[builtinMissingDocsHandler «notation»] def checkNotation : SimpleHandler := fun stx => do - if stx[0].isNone && stx[1][0][0].getKind != ``«local» then - if stx[4].isNone then lint stx[2] "notation" - else lintNamed stx[4][0][3] "notation" + if stx[0].isNone && stx[2][0][0].getKind != ``«local» then + if stx[5].isNone then lint stx[3] "notation" + else lintNamed stx[5][0][3] "notation" @[builtinMissingDocsHandler «mixfix»] def checkMixfix : SimpleHandler := fun stx => do - if stx[0].isNone && stx[1][0][0].getKind != ``«local» then - if stx[4].isNone then lint stx[2] stx[2][0].getAtomVal! - else lintNamed stx[4][0][3] stx[2][0].getAtomVal! + if stx[0].isNone && stx[2][0][0].getKind != ``«local» then + if stx[5].isNone then lint stx[3] stx[3][0].getAtomVal! + else lintNamed stx[5][0][3] stx[3][0].getAtomVal! @[builtinMissingDocsHandler «syntax»] def checkSyntax : SimpleHandler := fun stx => do diff --git a/stage0/src/Lean/Parser/Syntax.lean b/stage0/src/Lean/Parser/Syntax.lean index de40503cbc..a5342a67e1 100644 --- a/stage0/src/Lean/Parser/Syntax.lean +++ b/stage0/src/Lean/Parser/Syntax.lean @@ -59,7 +59,7 @@ def «infixl» := leading_parser "infixl" def «infixr» := leading_parser "infixr" def «postfix» := leading_parser "postfix" def mixfixKind := «prefix» <|> «infix» <|> «infixl» <|> «infixr» <|> «postfix» -@[builtinCommandParser] def «mixfix» := leading_parser optional docComment >> Term.attrKind >> mixfixKind >> precedence >> optNamedName >> optNamedPrio >> ppSpace >> strLit >> darrow >> termParser +@[builtinCommandParser] def «mixfix» := leading_parser optional docComment >> optional (Term.«attributes») >> Term.attrKind >> mixfixKind >> precedence >> optNamedName >> optNamedPrio >> ppSpace >> strLit >> darrow >> termParser -- NOTE: We use `suppressInsideQuot` in the following parsers because quotations inside them are evaluated in the same stage and -- thus should be ignored when we use `checkInsideQuot` to prepare the next stage for a builtin syntax change def identPrec := leading_parser ident >> optPrecedence @@ -67,7 +67,7 @@ def identPrec := leading_parser ident >> optPrecedence def optKind : Parser := optional ("(" >> nonReservedSymbol "kind" >> ":=" >> ident >> ")") def notationItem := ppSpace >> withAntiquot (mkAntiquot "notationItem" `Lean.Parser.Command.notationItem) (strLit <|> identPrec) -@[builtinCommandParser] def «notation» := leading_parser optional docComment >> Term.attrKind >> "notation" >> optPrecedence >> optNamedName >> optNamedPrio >> many notationItem >> darrow >> termParser +@[builtinCommandParser] def «notation» := leading_parser optional docComment >> optional (Term.«attributes») >> Term.attrKind >> "notation" >> optPrecedence >> optNamedName >> optNamedPrio >> many notationItem >> darrow >> termParser @[builtinCommandParser] def «macro_rules» := suppressInsideQuot (leading_parser optional docComment >> Term.attrKind >> "macro_rules" >> optKind >> Term.matchAlts) @[builtinCommandParser] def «syntax» := leading_parser optional docComment >> optional (Term.«attributes») >> Term.attrKind >> "syntax " >> optPrecedence >> optNamedName >> optNamedPrio >> many1 (syntaxParser argPrec) >> " : " >> ident @[builtinCommandParser] def syntaxAbbrev := leading_parser optional docComment >> "syntax " >> ident >> " := " >> many1 syntaxParser diff --git a/stage0/src/stdlib_flags.h b/stage0/src/stdlib_flags.h index d1703c2f0f..e3a2e51437 100644 --- a/stage0/src/stdlib_flags.h +++ b/stage0/src/stdlib_flags.h @@ -8,7 +8,7 @@ options get_default_options() { // switch to `true` for ABI-breaking changes affecting meta code opts = opts.update({"interpreter", "prefer_native"}, false); // switch to `true` for changing built-in parsers used in quotations - opts = opts.update({"internal", "parseQuotWithCurrentStage"}, true); + opts = opts.update({"internal", "parseQuotWithCurrentStage"}, false); opts = opts.update({"pp", "rawOnError"}, true); #endif return opts; diff --git a/stage0/stdlib/Lean/Compiler.c b/stage0/stdlib/Lean/Compiler.c index def154d98e..c978ac9ab7 100644 --- a/stage0/stdlib/Lean/Compiler.c +++ b/stage0/stdlib/Lean/Compiler.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Compiler -// Imports: Init Lean.Compiler.InlineAttrs Lean.Compiler.Specialize Lean.Compiler.ConstFolding Lean.Compiler.ClosedTermCache Lean.Compiler.ExternAttr Lean.Compiler.ImplementedByAttr Lean.Compiler.NeverExtractAttr Lean.Compiler.IR Lean.Compiler.CSimpAttr Lean.Compiler.FFI Lean.Compiler.NoncomputableAttr Lean.Compiler.CompilerM Lean.Compiler.LCNFTypes Lean.Compiler.InferType Lean.Compiler.LCNF Lean.Compiler.Decl Lean.Compiler.Main Lean.Compiler.AtMostOnce Lean.Compiler.Old +// Imports: Init Lean.Compiler.InlineAttrs Lean.Compiler.Specialize Lean.Compiler.ConstFolding Lean.Compiler.ClosedTermCache Lean.Compiler.ExternAttr Lean.Compiler.ImplementedByAttr Lean.Compiler.NeverExtractAttr Lean.Compiler.IR Lean.Compiler.CSimpAttr Lean.Compiler.FFI Lean.Compiler.NoncomputableAttr Lean.Compiler.CompilerM Lean.Compiler.LCNFTypes Lean.Compiler.InferType Lean.Compiler.LCNF Lean.Compiler.Stage1 Lean.Compiler.Decl Lean.Compiler.Main Lean.Compiler.AtMostOnce Lean.Compiler.Old #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -29,6 +29,7 @@ lean_object* initialize_Lean_Compiler_CompilerM(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Compiler_LCNFTypes(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Compiler_InferType(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Compiler_LCNF(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Compiler_Stage1(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Compiler_Decl(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Compiler_Main(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Compiler_AtMostOnce(uint8_t builtin, lean_object*); @@ -86,6 +87,9 @@ lean_dec_ref(res); res = initialize_Lean_Compiler_LCNF(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); +res = initialize_Lean_Compiler_Stage1(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); res = initialize_Lean_Compiler_Decl(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); diff --git a/stage0/stdlib/Lean/Compiler/CompilerM.c b/stage0/stdlib/Lean/Compiler/CompilerM.c index 04c9596c3d..775f6d0c2a 100644 --- a/stage0/stdlib/Lean/Compiler/CompilerM.c +++ b/stage0/stdlib/Lean/Compiler/CompilerM.c @@ -22,41 +22,63 @@ LEAN_EXPORT lean_object* l_Lean_Compiler_withNewScope___rarg(lean_object*, lean_ lean_object* l_Lean_Name_str___override(lean_object*, lean_object*); lean_object* l_Std_HashMapImp_find_x3f___at_Lean_ForEachExpr_visit___spec__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_instMonadInferTypeCompilerM___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_LocalDecl_userName(lean_object*); static lean_object* l_Lean_Compiler_CompilerM_State_lctx___default___closed__4; LEAN_EXPORT lean_object* l_Lean_Compiler_mkLetUsingScope(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_findDecl_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__1___closed__2; static lean_object* l_Lean_Compiler_CompilerM_State_lctx___default___closed__6; +static lean_object* l_Lean_Compiler_visitMatch___closed__1; lean_object* lean_local_ctx_mk_let_decl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t); LEAN_EXPORT lean_object* l_Lean_Compiler_mkJpDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_st_ref_get(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_CompilerM_State_nextIdx___default; +uint8_t lean_name_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_mkFreshId___at_Lean_Compiler_mkLocalDecl___spec__2___rarg___boxed(lean_object*, lean_object*); static lean_object* l_Lean_Compiler_CompilerM_State_letFVars___default___closed__1; lean_object* lean_array_push(lean_object*, lean_object*); +lean_object* lean_array_get_size(lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_mkLetDecl___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_mkFreshId___at_Lean_Compiler_mkLocalDecl___spec__2___boxed(lean_object*, lean_object*); lean_object* l_Nat_max(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_withNewScopeImp___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_mkFreshId___at_Lean_Compiler_mkLocalDecl___spec__2___rarg(lean_object*, lean_object*); +extern lean_object* l_Lean_levelZero; lean_object* lean_nat_add(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_instVisitLetReaderT___rarg___lambda__1(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_mkLambda___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_getMaxLetVarIdx___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__1___closed__3; +lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___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_array_fget(lean_object*, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); lean_object* lean_st_ref_take(lean_object*, lean_object*); +lean_object* lean_nat_sub(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_instVisitLetReaderT___rarg(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_mkLetDecl(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_mkLetUsingScope___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_instAddMessageContextCompilerM___closed__3; lean_object* l_Lean_Name_num___override(lean_object*, lean_object*); +lean_object* lean_array_get(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_mkLetUsingScope___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_getMaxLetVarIdx(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Std_mkHashMapImp___rarg(lean_object*); +lean_object* l_panic___at_Lean_Expr_getRevArg_x21___spec__1(lean_object*); +lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(lean_object*, lean_object*); lean_object* lean_st_mk_ref(lean_object*, lean_object*); lean_object* l_Std_PersistentHashMap_mkEmptyEntriesArray(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_ForEachExpr_visit___at_Lean_Compiler_getMaxLetVarIdx___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Expr_sort___override(lean_object*); +extern lean_object* l_Lean_instInhabitedExpr; static lean_object* l_Lean_Compiler_instAddMessageContextCompilerM___closed__4; +lean_object* l___private_Init_Util_0__mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_instVisitLetReaderT(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_instAddMessageContextCompilerM(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_withNewScope(lean_object*, lean_object*); +static lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__1___closed__1; +LEAN_EXPORT lean_object* l_Lean_Compiler_visitMatch(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_CompilerM_State_lctx___default; uint8_t l_Lean_Expr_isLambda(lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_instAddMessageContextCompilerM___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -65,23 +87,29 @@ static lean_object* l_Lean_Compiler_instAddMessageContextCompilerM___closed__1; LEAN_EXPORT lean_object* l_Lean_Compiler_mkLocalDecl___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_mkFreshFVarId___at_Lean_Compiler_mkLocalDecl___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_local_ctx_mk_local_decl(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t); +static lean_object* l_Lean_LocalDecl_isJp___closed__1; lean_object* l_Lean_Expr_fvar___override(lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_withNewScope___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Compiler_mkJpDecl___closed__1; +LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__1___closed__4; +LEAN_EXPORT lean_object* l_Lean_LocalDecl_isJp___boxed(lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_mkAuxLetDecl___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_withNewScope___rarg___closed__1; +uint8_t lean_nat_dec_le(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_mkJpDecl___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_instAddMessageContextCompilerM___closed__2; static lean_object* l_Lean_Compiler_CompilerM_State_lctx___default___closed__5; LEAN_EXPORT lean_object* l_Lean_Compiler_withNewScopeImp(lean_object*); static lean_object* l_Lean_Compiler_CompilerM_State_lctx___default___closed__1; LEAN_EXPORT lean_object* l_Lean_Compiler_mkLambda(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Compiler_mkJpDecl___closed__2; LEAN_EXPORT lean_object* l_Lean_mkFreshId___at_Lean_Compiler_mkLocalDecl___spec__2(lean_object*, lean_object*); static lean_object* l_Lean_Compiler_CompilerM_State_lctx___default___closed__3; LEAN_EXPORT lean_object* l_Lean_Compiler_visitLambda___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_getMaxLetVarIdx___closed__1; lean_object* l_Lean_LocalContext_mkLambda(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT uint8_t l_Lean_LocalDecl_isJp(lean_object*); +LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___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_Name_getPrefix(lean_object*); lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Expr_isFVar(lean_object*); static lean_object* l_Lean_Compiler_mkLetUsingScope___closed__2; @@ -91,19 +119,25 @@ LEAN_EXPORT lean_object* l_Lean_Compiler_getMaxLetVarIdx___lambda__1___boxed(lea lean_object* lean_expr_instantiate_rev(lean_object*, lean_object*); static lean_object* l_Lean_Compiler_CompilerM_State_lctx___default___closed__2; static lean_object* l_Lean_Compiler_mkLetUsingScope___closed__1; +lean_object* lean_mk_array(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_visitLetImp_go(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_instVisitLetCompilerM___closed__1; LEAN_EXPORT lean_object* l_Lean_ForEachExpr_visit___at_Lean_Compiler_getMaxLetVarIdx___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_LocalDecl_isJp___closed__2; static lean_object* l_Lean_Compiler_CompilerM_State_lctx___default___closed__7; LEAN_EXPORT lean_object* l_Lean_Compiler_mkLocalDecl(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_CompilerM_State_letFVars___default; +lean_object* lean_local_ctx_find(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_visitMatch___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_mkAuxLetDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_mkFreshFVarId___at_Lean_Compiler_mkLocalDecl___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_instVisitLetStateRefT_x27___rarg(lean_object*); lean_object* l_Std_HashMap_insert___at_Lean_ForEachExpr_visit___spec__3(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_findDecl_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_instMonadInferTypeCompilerM(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_visitLambda(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_string_dec_eq(lean_object*, lean_object*); +uint8_t lean_nat_dec_lt(lean_object*, lean_object*); static lean_object* _init_l_Lean_Compiler_CompilerM_State_lctx___default___closed__1() { _start: { @@ -843,6 +877,98 @@ lean_dec(x_5); return x_10; } } +LEAN_EXPORT lean_object* l_Lean_Compiler_findDecl_x3f(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; +x_6 = lean_st_ref_get(x_4, x_5); +x_7 = lean_ctor_get(x_6, 1); +lean_inc(x_7); +lean_dec(x_6); +x_8 = lean_st_ref_get(x_2, x_7); +x_9 = !lean_is_exclusive(x_8); +if (x_9 == 0) +{ +lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_10 = lean_ctor_get(x_8, 0); +x_11 = lean_ctor_get(x_10, 0); +lean_inc(x_11); +lean_dec(x_10); +x_12 = lean_local_ctx_find(x_11, x_1); +lean_ctor_set(x_8, 0, x_12); +return x_8; +} +else +{ +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_8, 0); +x_14 = lean_ctor_get(x_8, 1); +lean_inc(x_14); +lean_inc(x_13); +lean_dec(x_8); +x_15 = lean_ctor_get(x_13, 0); +lean_inc(x_15); +lean_dec(x_13); +x_16 = lean_local_ctx_find(x_15, x_1); +x_17 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_17, 0, x_16); +lean_ctor_set(x_17, 1, x_14); +return x_17; +} +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_findDecl_x3f___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_Compiler_findDecl_x3f(x_1, x_2, x_3, x_4, x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_6; +} +} +static lean_object* _init_l_Lean_LocalDecl_isJp___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("_jp", 3); +return x_1; +} +} +static lean_object* _init_l_Lean_LocalDecl_isJp___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = l_Lean_LocalDecl_isJp___closed__1; +x_3 = l_Lean_Name_str___override(x_1, x_2); +return x_3; +} +} +LEAN_EXPORT uint8_t l_Lean_LocalDecl_isJp(lean_object* x_1) { +_start: +{ +lean_object* x_2; lean_object* x_3; lean_object* x_4; uint8_t x_5; +x_2 = l_Lean_LocalDecl_userName(x_1); +x_3 = l_Lean_Name_getPrefix(x_2); +lean_dec(x_2); +x_4 = l_Lean_LocalDecl_isJp___closed__2; +x_5 = lean_name_eq(x_3, x_4); +lean_dec(x_3); +return x_5; +} +} +LEAN_EXPORT lean_object* l_Lean_LocalDecl_isJp___boxed(lean_object* x_1) { +_start: +{ +uint8_t x_2; lean_object* x_3; +x_2 = l_Lean_LocalDecl_isJp(x_1); +lean_dec(x_1); +x_3 = lean_box(x_2); +return x_3; +} +} LEAN_EXPORT lean_object* l_Lean_Compiler_mkAuxLetDecl(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: { @@ -1176,29 +1302,11 @@ lean_dec(x_3); return x_7; } } -static lean_object* _init_l_Lean_Compiler_mkJpDecl___closed__1() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_from_bytes("_jp", 3); -return x_1; -} -} -static lean_object* _init_l_Lean_Compiler_mkJpDecl___closed__2() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); -x_2 = l_Lean_Compiler_mkJpDecl___closed__1; -x_3 = l_Lean_Name_str___override(x_1, x_2); -return x_3; -} -} LEAN_EXPORT lean_object* l_Lean_Compiler_mkJpDecl(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; -x_6 = l_Lean_Compiler_mkJpDecl___closed__2; +x_6 = l_Lean_LocalDecl_isJp___closed__2; x_7 = l_Lean_Compiler_mkAuxLetDecl(x_1, x_6, x_2, x_3, x_4, x_5); return x_7; } @@ -2517,7 +2625,7 @@ x_12 = lean_string_dec_eq(x_10, x_11); if (x_12 == 0) { lean_object* x_13; uint8_t x_14; -x_13 = l_Lean_Compiler_mkJpDecl___closed__1; +x_13 = l_Lean_LocalDecl_isJp___closed__1; x_14 = lean_string_dec_eq(x_10, x_13); if (x_14 == 0) { @@ -2861,6 +2969,334 @@ lean_dec(x_2); return x_6; } } +static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__1___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("Init.Util", 9); +return x_1; +} +} +static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__1___closed__2() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("getElem!", 8); +return x_1; +} +} +static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__1___closed__3() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("index out of bounds", 19); +return x_1; +} +} +static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__1___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_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__1___closed__1; +x_2 = l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__1___closed__2; +x_3 = lean_unsigned_to_nat(73u); +x_4 = lean_unsigned_to_nat(36u); +x_5 = l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__1___closed__3; +x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); +return x_6; +} +} +LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___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) { +_start: +{ +uint8_t x_11; +x_11 = lean_nat_dec_le(x_4, x_3); +if (x_11 == 0) +{ +lean_object* x_12; uint8_t x_13; +x_12 = lean_unsigned_to_nat(0u); +x_13 = lean_nat_dec_eq(x_2, x_12); +if (x_13 == 0) +{ +lean_object* x_14; lean_object* x_15; lean_object* x_16; uint8_t x_17; +x_14 = lean_unsigned_to_nat(1u); +x_15 = lean_nat_sub(x_2, x_14); +lean_dec(x_2); +x_16 = lean_array_get_size(x_1); +x_17 = lean_nat_dec_lt(x_3, x_16); +lean_dec(x_16); +if (x_17 == 0) +{ +lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_18 = l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__1___closed__4; +x_19 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_18); +x_20 = lean_array_push(x_6, x_19); +x_21 = lean_nat_add(x_3, x_5); +lean_dec(x_3); +x_2 = x_15; +x_3 = x_21; +x_6 = x_20; +goto _start; +} +else +{ +lean_object* x_23; lean_object* x_24; lean_object* x_25; +x_23 = lean_array_fget(x_1, x_3); +x_24 = lean_array_push(x_6, x_23); +x_25 = lean_nat_add(x_3, x_5); +lean_dec(x_3); +x_2 = x_15; +x_3 = x_25; +x_6 = x_24; +goto _start; +} +} +else +{ +lean_object* x_27; +lean_dec(x_3); +lean_dec(x_2); +x_27 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_27, 0, x_6); +lean_ctor_set(x_27, 1, x_10); +return x_27; +} +} +else +{ +lean_object* x_28; +lean_dec(x_3); +lean_dec(x_2); +x_28 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_28, 0, x_6); +lean_ctor_set(x_28, 1, x_10); +return x_28; +} +} +} +LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___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) { +_start: +{ +uint8_t x_11; +x_11 = lean_nat_dec_le(x_4, x_3); +if (x_11 == 0) +{ +lean_object* x_12; uint8_t x_13; +x_12 = lean_unsigned_to_nat(0u); +x_13 = lean_nat_dec_eq(x_2, x_12); +if (x_13 == 0) +{ +lean_object* x_14; lean_object* x_15; lean_object* x_16; uint8_t x_17; +x_14 = lean_unsigned_to_nat(1u); +x_15 = lean_nat_sub(x_2, x_14); +lean_dec(x_2); +x_16 = lean_array_get_size(x_1); +x_17 = lean_nat_dec_lt(x_3, x_16); +lean_dec(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; +x_18 = l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__1___closed__4; +x_19 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_18); +x_20 = l_Lean_Compiler_visitLambda(x_19, x_7, x_8, x_9, x_10); +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 = lean_ctor_get(x_21, 1); +lean_inc(x_23); +lean_dec(x_21); +x_24 = lean_array_push(x_6, x_23); +x_25 = lean_nat_add(x_3, x_5); +lean_dec(x_3); +x_2 = x_15; +x_3 = x_25; +x_6 = x_24; +x_10 = x_22; +goto _start; +} +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; +x_27 = lean_array_fget(x_1, x_3); +x_28 = l_Lean_Compiler_visitLambda(x_27, x_7, x_8, x_9, x_10); +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_ctor_get(x_29, 1); +lean_inc(x_31); +lean_dec(x_29); +x_32 = lean_array_push(x_6, x_31); +x_33 = lean_nat_add(x_3, x_5); +lean_dec(x_3); +x_2 = x_15; +x_3 = x_33; +x_6 = x_32; +x_10 = x_30; +goto _start; +} +} +else +{ +lean_object* x_35; +lean_dec(x_3); +lean_dec(x_2); +x_35 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_35, 0, x_6); +lean_ctor_set(x_35, 1, x_10); +return x_35; +} +} +else +{ +lean_object* x_36; +lean_dec(x_3); +lean_dec(x_2); +x_36 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_36, 0, x_6); +lean_ctor_set(x_36, 1, x_10); +return x_36; +} +} +} +static lean_object* _init_l_Lean_Compiler_visitMatch___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_levelZero; +x_2 = l_Lean_Expr_sort___override(x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_visitMatch(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; 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_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_7 = lean_unsigned_to_nat(0u); +x_8 = l___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(x_1, x_7); +x_9 = l_Lean_Compiler_visitMatch___closed__1; +lean_inc(x_8); +x_10 = lean_mk_array(x_8, x_9); +x_11 = lean_unsigned_to_nat(1u); +x_12 = lean_nat_sub(x_8, x_11); +lean_dec(x_8); +x_13 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_10, x_12); +x_14 = lean_ctor_get(x_2, 5); +lean_inc(x_14); +x_15 = l_Lean_instInhabitedExpr; +x_16 = lean_array_get(x_15, x_13, x_14); +lean_dec(x_14); +x_17 = lean_ctor_get(x_2, 2); +lean_inc(x_17); +x_18 = lean_ctor_get(x_17, 1); +lean_inc(x_18); +x_19 = lean_ctor_get(x_17, 0); +lean_inc(x_19); +x_20 = lean_ctor_get(x_17, 2); +lean_inc(x_20); +lean_dec(x_17); +x_21 = l_Lean_Compiler_CompilerM_State_letFVars___default___closed__1; +lean_inc(x_18); +x_22 = l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__1(x_13, x_18, x_19, x_18, x_20, x_21, x_3, x_4, x_5, x_6); +lean_dec(x_20); +lean_dec(x_18); +x_23 = lean_ctor_get(x_22, 0); +lean_inc(x_23); +x_24 = lean_ctor_get(x_22, 1); +lean_inc(x_24); +lean_dec(x_22); +x_25 = lean_ctor_get(x_2, 3); +lean_inc(x_25); +lean_dec(x_2); +x_26 = lean_ctor_get(x_25, 1); +lean_inc(x_26); +x_27 = lean_ctor_get(x_25, 0); +lean_inc(x_27); +x_28 = lean_ctor_get(x_25, 2); +lean_inc(x_28); +lean_dec(x_25); +lean_inc(x_26); +x_29 = l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__2(x_13, x_26, x_27, x_26, x_28, x_21, x_3, x_4, x_5, x_24); +lean_dec(x_28); +lean_dec(x_26); +lean_dec(x_13); +x_30 = !lean_is_exclusive(x_29); +if (x_30 == 0) +{ +lean_object* x_31; lean_object* x_32; lean_object* x_33; +x_31 = lean_ctor_get(x_29, 0); +x_32 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_32, 0, x_23); +lean_ctor_set(x_32, 1, x_31); +x_33 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_33, 0, x_16); +lean_ctor_set(x_33, 1, x_32); +lean_ctor_set(x_29, 0, x_33); +return x_29; +} +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_29, 0); +x_35 = lean_ctor_get(x_29, 1); +lean_inc(x_35); +lean_inc(x_34); +lean_dec(x_29); +x_36 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_36, 0, x_23); +lean_ctor_set(x_36, 1, x_34); +x_37 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_37, 0, x_16); +lean_ctor_set(x_37, 1, 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; +} +} +} +LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___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) { +_start: +{ +lean_object* x_11; +x_11 = l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__1(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_5); +lean_dec(x_4); +lean_dec(x_1); +return x_11; +} +} +LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___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_Range_forIn_loop___at_Lean_Compiler_visitMatch___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_5); +lean_dec(x_4); +lean_dec(x_1); +return x_11; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_visitMatch___boxed(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_Compiler_visitMatch(x_1, x_2, x_3, x_4, x_5, x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +return x_7; +} +} LEAN_EXPORT lean_object* l_Lean_Compiler_withNewScopeImp___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { @@ -3706,14 +4142,24 @@ l_Lean_Compiler_instAddMessageContextCompilerM___closed__3 = _init_l_Lean_Compil lean_mark_persistent(l_Lean_Compiler_instAddMessageContextCompilerM___closed__3); l_Lean_Compiler_instAddMessageContextCompilerM___closed__4 = _init_l_Lean_Compiler_instAddMessageContextCompilerM___closed__4(); lean_mark_persistent(l_Lean_Compiler_instAddMessageContextCompilerM___closed__4); -l_Lean_Compiler_mkJpDecl___closed__1 = _init_l_Lean_Compiler_mkJpDecl___closed__1(); -lean_mark_persistent(l_Lean_Compiler_mkJpDecl___closed__1); -l_Lean_Compiler_mkJpDecl___closed__2 = _init_l_Lean_Compiler_mkJpDecl___closed__2(); -lean_mark_persistent(l_Lean_Compiler_mkJpDecl___closed__2); +l_Lean_LocalDecl_isJp___closed__1 = _init_l_Lean_LocalDecl_isJp___closed__1(); +lean_mark_persistent(l_Lean_LocalDecl_isJp___closed__1); +l_Lean_LocalDecl_isJp___closed__2 = _init_l_Lean_LocalDecl_isJp___closed__2(); +lean_mark_persistent(l_Lean_LocalDecl_isJp___closed__2); l_Lean_Compiler_getMaxLetVarIdx___lambda__1___closed__1 = _init_l_Lean_Compiler_getMaxLetVarIdx___lambda__1___closed__1(); lean_mark_persistent(l_Lean_Compiler_getMaxLetVarIdx___lambda__1___closed__1); l_Lean_Compiler_getMaxLetVarIdx___closed__1 = _init_l_Lean_Compiler_getMaxLetVarIdx___closed__1(); lean_mark_persistent(l_Lean_Compiler_getMaxLetVarIdx___closed__1); +l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__1___closed__1 = _init_l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__1___closed__1(); +lean_mark_persistent(l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__1___closed__1); +l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__1___closed__2 = _init_l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__1___closed__2(); +lean_mark_persistent(l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__1___closed__2); +l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__1___closed__3 = _init_l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__1___closed__3(); +lean_mark_persistent(l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__1___closed__3); +l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__1___closed__4 = _init_l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__1___closed__4(); +lean_mark_persistent(l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__1___closed__4); +l_Lean_Compiler_visitMatch___closed__1 = _init_l_Lean_Compiler_visitMatch___closed__1(); +lean_mark_persistent(l_Lean_Compiler_visitMatch___closed__1); l_Lean_Compiler_withNewScope___rarg___closed__1 = _init_l_Lean_Compiler_withNewScope___rarg___closed__1(); lean_mark_persistent(l_Lean_Compiler_withNewScope___rarg___closed__1); l_Lean_Compiler_instVisitLetCompilerM___closed__1 = _init_l_Lean_Compiler_instVisitLetCompilerM___closed__1(); diff --git a/stage0/stdlib/Lean/Compiler/Decl.c b/stage0/stdlib/Lean/Compiler/Decl.c index 785d24a802..4698eb6c08 100644 --- a/stage0/stdlib/Lean/Compiler/Decl.c +++ b/stage0/stdlib/Lean/Compiler/Decl.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Compiler.Decl -// Imports: Init Lean.Meta.Transform Lean.Meta.Check Lean.Compiler.LCNF Lean.Compiler.Check Lean.Compiler.CompilerM +// Imports: Init Lean.Meta.Transform Lean.Meta.Check Lean.Compiler.LCNF Lean.Compiler.Check Lean.Compiler.CompilerM Lean.Compiler.JoinPoints #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -22,13 +22,16 @@ lean_object* lean_mk_empty_array_with_capacity(lean_object*); lean_object* l_Lean_Name_str___override(lean_object*, lean_object*); static lean_object* l_Lean_Compiler_toDecl___closed__19; static lean_object* l_Lean_Compiler_toDecl___closed__9; +extern lean_object* l_Std_Format_defWidth; uint8_t l_Lean_Compiler_compatibleTypes(lean_object*, lean_object*); lean_object* lean_environment_find(lean_object*, lean_object*); +lean_object* l_Lean_Meta_ppExpr(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Compiler_Decl_0__Lean_Compiler_replaceUnsafeRecNames___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_st_ref_get(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_Decl_mapValue(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_toDecl___closed__27; static lean_object* l_Lean_Compiler_toDecl___closed__4; +lean_object* lean_string_append(lean_object*, lean_object*); lean_object* l_Lean_getConstInfo___at___private_Lean_Compiler_InlineAttrs_0__Lean_Compiler_isValidMacroInline___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_toDecl___closed__8; static lean_object* l_Lean_Compiler_toDecl___closed__17; @@ -48,8 +51,11 @@ lean_object* l_Lean_Compiler_toLCNFType(lean_object*, lean_object*, lean_object* LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_Decl_check___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_Decl_check___closed__1; LEAN_EXPORT lean_object* l_Lean_Meta_lambdaTelescope___at_Lean_Compiler_toDecl___spec__2(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_Decl_toString___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Name_toString(lean_object*, uint8_t); LEAN_EXPORT lean_object* l___private_Lean_Compiler_Decl_0__Lean_Compiler_replaceUnsafeRecNames___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_mkLambdaFVars(lean_object*, lean_object*, uint8_t, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_Decl_toString___closed__1; lean_object* l_Lean_Compiler_getMaxLetVarIdx(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_toDecl___closed__12; LEAN_EXPORT lean_object* l_Lean_Compiler_macroInline___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -60,6 +66,7 @@ lean_object* lean_st_mk_ref(lean_object*, lean_object*); static lean_object* l_Lean_Compiler_macroInline___closed__1; static lean_object* l_Lean_Compiler_toDecl___closed__11; extern lean_object* l_Lean_Expr_instHashableExpr; +lean_object* lean_format_pretty(lean_object*, lean_object*); lean_object* l_Std_PersistentHashMap_mkEmptyEntriesArray(lean_object*, lean_object*); static lean_object* l_Lean_Compiler_Decl_check___closed__7; lean_object* l_Lean_Expr_sort___override(lean_object*); @@ -67,6 +74,7 @@ static lean_object* l_Lean_Compiler_toDecl___closed__26; lean_object* l_Lean_Meta_InfoCacheKey_instHashableInfoCacheKey___boxed(lean_object*); static lean_object* l_Lean_Compiler_toDecl___closed__22; lean_object* l_Lean_Core_instantiateValueLevelParams(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_Decl_check___closed__9; static lean_object* l_Lean_Compiler_macroInline___closed__2; static lean_object* l_Lean_Compiler_toDecl___closed__18; static lean_object* l_Lean_Compiler_toDecl___closed__30; @@ -82,6 +90,7 @@ static lean_object* l_Lean_Compiler_Decl_check___closed__8; LEAN_EXPORT lean_object* l_Lean_Compiler_Decl_check(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_macroInline___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_macroInline___lambda__1___closed__1; +static lean_object* l_Lean_Compiler_Decl_toString___closed__2; lean_object* l_Lean_Meta_etaExpand(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Compiler_ToLCNF_toLCNF(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_toDecl___closed__7; @@ -116,6 +125,9 @@ static lean_object* l_Lean_Compiler_toDecl___closed__29; static lean_object* l_Lean_Compiler_toDecl___closed__14; LEAN_EXPORT lean_object* l___private_Lean_Compiler_Decl_0__Lean_Compiler_replaceUnsafeRecNames(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_toDecl___closed__28; +LEAN_EXPORT lean_object* l_Lean_Compiler_Decl_checkJoinPoints(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Compiler_JoinPointChecker_checkJoinPoints_goLambda(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_Decl_toString(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* _init_l_Lean_Compiler_macroInline___lambda__1___closed__1() { _start: { @@ -1328,6 +1340,17 @@ lean_dec(x_2); return x_5; } } +LEAN_EXPORT lean_object* l_Lean_Compiler_Decl_checkJoinPoints(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; +x_6 = lean_ctor_get(x_1, 2); +lean_inc(x_6); +lean_dec(x_1); +x_7 = l_Lean_Compiler_JoinPointChecker_checkJoinPoints_goLambda(x_6, x_2, x_3, x_4, x_5); +return x_7; +} +} LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_Decl_check___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { @@ -1369,21 +1392,35 @@ return x_13; static lean_object* _init_l_Lean_Compiler_Decl_check___closed__1() { _start: { -lean_object* x_1; -x_1 = lean_mk_string_from_bytes("declaration type mismatch at `", 30); -return x_1; +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Compiler_toDecl___closed__14; +x_2 = l_Lean_Compiler_toDecl___closed__15; +x_3 = lean_unsigned_to_nat(1u); +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_Compiler_Decl_check___closed__2() { _start: { +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("declaration type mismatch at `", 30); +return x_1; +} +} +static lean_object* _init_l_Lean_Compiler_Decl_check___closed__3() { +_start: +{ lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Compiler_Decl_check___closed__1; +x_1 = l_Lean_Compiler_Decl_check___closed__2; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -static lean_object* _init_l_Lean_Compiler_Decl_check___closed__3() { +static lean_object* _init_l_Lean_Compiler_Decl_check___closed__4() { _start: { lean_object* x_1; @@ -1391,16 +1428,16 @@ x_1 = lean_mk_string_from_bytes("`, value has type", 17); return x_1; } } -static lean_object* _init_l_Lean_Compiler_Decl_check___closed__4() { +static lean_object* _init_l_Lean_Compiler_Decl_check___closed__5() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Compiler_Decl_check___closed__3; +x_1 = l_Lean_Compiler_Decl_check___closed__4; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -static lean_object* _init_l_Lean_Compiler_Decl_check___closed__5() { +static lean_object* _init_l_Lean_Compiler_Decl_check___closed__6() { _start: { lean_object* x_1; @@ -1408,16 +1445,16 @@ x_1 = lean_mk_string_from_bytes("\nbut is expected to have type", 29); return x_1; } } -static lean_object* _init_l_Lean_Compiler_Decl_check___closed__6() { +static lean_object* _init_l_Lean_Compiler_Decl_check___closed__7() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Compiler_Decl_check___closed__5; +x_1 = l_Lean_Compiler_Decl_check___closed__6; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -static lean_object* _init_l_Lean_Compiler_Decl_check___closed__7() { +static lean_object* _init_l_Lean_Compiler_Decl_check___closed__8() { _start: { lean_object* x_1; @@ -1425,11 +1462,11 @@ x_1 = lean_mk_string_from_bytes("", 0); return x_1; } } -static lean_object* _init_l_Lean_Compiler_Decl_check___closed__8() { +static lean_object* _init_l_Lean_Compiler_Decl_check___closed__9() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Compiler_Decl_check___closed__7; +x_1 = l_Lean_Compiler_Decl_check___closed__8; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } @@ -1444,7 +1481,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 = l_Lean_Compiler_toDecl___closed__14; lean_inc(x_4); lean_inc(x_3); @@ -1452,186 +1488,246 @@ lean_inc(x_8); x_10 = l_Lean_Compiler_check(x_8, x_2, x_9, x_3, x_4, x_5); if (lean_obj_tag(x_10) == 0) { -lean_object* x_11; lean_object* x_12; +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_11 = lean_ctor_get(x_10, 1); lean_inc(x_11); lean_dec(x_10); +x_12 = lean_st_ref_get(x_4, x_11); +x_13 = lean_ctor_get(x_12, 1); +lean_inc(x_13); +lean_dec(x_12); +x_14 = l_Lean_Compiler_Decl_check___closed__1; +x_15 = lean_st_mk_ref(x_14, x_13); +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_4); lean_inc(x_3); -x_12 = l_Lean_Compiler_InferType_inferType(x_8, x_9, x_3, x_4, x_11); -if (lean_obj_tag(x_12) == 0) +lean_inc(x_16); +x_18 = l_Lean_Compiler_Decl_checkJoinPoints(x_1, x_16, x_3, x_4, x_17); +if (lean_obj_tag(x_18) == 0) { -uint8_t x_13; -x_13 = !lean_is_exclusive(x_12); -if (x_13 == 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_18, 1); +lean_inc(x_19); +lean_dec(x_18); +x_20 = lean_st_ref_get(x_4, x_19); +x_21 = lean_ctor_get(x_20, 1); +lean_inc(x_21); +lean_dec(x_20); +x_22 = lean_st_ref_get(x_16, x_21); +lean_dec(x_16); +x_23 = lean_ctor_get(x_22, 1); +lean_inc(x_23); +lean_dec(x_22); +lean_inc(x_4); +lean_inc(x_3); +x_24 = l_Lean_Compiler_InferType_inferType(x_8, x_9, x_3, x_4, x_23); +if (lean_obj_tag(x_24) == 0) { -lean_object* x_14; lean_object* x_15; uint8_t x_16; -x_14 = lean_ctor_get(x_12, 0); -x_15 = lean_ctor_get(x_12, 1); -lean_inc(x_14); +uint8_t x_25; +x_25 = !lean_is_exclusive(x_24); +if (x_25 == 0) +{ +lean_object* x_26; lean_object* x_27; uint8_t x_28; +x_26 = lean_ctor_get(x_24, 0); +x_27 = lean_ctor_get(x_24, 1); +lean_inc(x_26); lean_inc(x_7); -x_16 = l_Lean_Compiler_compatibleTypes(x_7, x_14); -if (x_16 == 0) +x_28 = l_Lean_Compiler_compatibleTypes(x_7, x_26); +if (x_28 == 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; 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_free_object(x_12); -x_17 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_17, 0, x_6); -x_18 = l_Lean_Compiler_Decl_check___closed__2; -x_19 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_19, 0, x_18); -lean_ctor_set(x_19, 1, x_17); -x_20 = l_Lean_Compiler_Decl_check___closed__4; -x_21 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_21, 0, x_19); -lean_ctor_set(x_21, 1, x_20); -x_22 = l_Lean_indentExpr(x_14); -x_23 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_23, 0, x_21); -lean_ctor_set(x_23, 1, x_22); -x_24 = l_Lean_Compiler_Decl_check___closed__6; -x_25 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_25, 0, x_23); -lean_ctor_set(x_25, 1, x_24); -x_26 = l_Lean_indentExpr(x_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_Lean_Compiler_Decl_check___closed__8; -x_29 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_29, 0, x_27); -lean_ctor_set(x_29, 1, x_28); -x_30 = l_Lean_throwError___at_Lean_Compiler_Decl_check___spec__1(x_29, x_3, x_4, x_15); -lean_dec(x_4); -lean_dec(x_3); -return x_30; -} -else -{ -lean_object* x_31; -lean_dec(x_14); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_4); -lean_dec(x_3); -x_31 = lean_box(0); -lean_ctor_set(x_12, 0, x_31); -return x_12; -} -} -else -{ -lean_object* x_32; lean_object* x_33; uint8_t x_34; -x_32 = lean_ctor_get(x_12, 0); -x_33 = lean_ctor_get(x_12, 1); -lean_inc(x_33); -lean_inc(x_32); -lean_dec(x_12); -lean_inc(x_32); -lean_inc(x_7); -x_34 = l_Lean_Compiler_compatibleTypes(x_7, 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; 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_35 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_35, 0, x_6); -x_36 = l_Lean_Compiler_Decl_check___closed__2; +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_free_object(x_24); +x_29 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_29, 0, x_6); +x_30 = l_Lean_Compiler_Decl_check___closed__3; +x_31 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_31, 0, x_30); +lean_ctor_set(x_31, 1, x_29); +x_32 = l_Lean_Compiler_Decl_check___closed__5; +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_indentExpr(x_26); +x_35 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_35, 0, x_33); +lean_ctor_set(x_35, 1, x_34); +x_36 = l_Lean_Compiler_Decl_check___closed__7; x_37 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_37, 0, x_36); -lean_ctor_set(x_37, 1, x_35); -x_38 = l_Lean_Compiler_Decl_check___closed__4; +lean_ctor_set(x_37, 0, x_35); +lean_ctor_set(x_37, 1, x_36); +x_38 = l_Lean_indentExpr(x_7); x_39 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_39, 0, x_37); lean_ctor_set(x_39, 1, x_38); -x_40 = l_Lean_indentExpr(x_32); +x_40 = l_Lean_Compiler_Decl_check___closed__9; x_41 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_41, 0, x_39); lean_ctor_set(x_41, 1, x_40); -x_42 = l_Lean_Compiler_Decl_check___closed__6; -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_indentExpr(x_7); -x_45 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_45, 0, x_43); -lean_ctor_set(x_45, 1, x_44); -x_46 = l_Lean_Compiler_Decl_check___closed__8; -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_throwError___at_Lean_Compiler_Decl_check___spec__1(x_47, x_3, x_4, x_33); +x_42 = l_Lean_throwError___at_Lean_Compiler_Decl_check___spec__1(x_41, x_3, x_4, x_27); lean_dec(x_4); lean_dec(x_3); -return x_48; +return x_42; } else { -lean_object* x_49; lean_object* x_50; -lean_dec(x_32); +lean_object* x_43; +lean_dec(x_26); lean_dec(x_7); lean_dec(x_6); lean_dec(x_4); lean_dec(x_3); -x_49 = lean_box(0); -x_50 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_50, 0, x_49); -lean_ctor_set(x_50, 1, x_33); -return x_50; -} +x_43 = lean_box(0); +lean_ctor_set(x_24, 0, x_43); +return x_24; } } else { -uint8_t x_51; +lean_object* x_44; lean_object* x_45; uint8_t x_46; +x_44 = lean_ctor_get(x_24, 0); +x_45 = lean_ctor_get(x_24, 1); +lean_inc(x_45); +lean_inc(x_44); +lean_dec(x_24); +lean_inc(x_44); +lean_inc(x_7); +x_46 = l_Lean_Compiler_compatibleTypes(x_7, 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; 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_47 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_47, 0, x_6); +x_48 = l_Lean_Compiler_Decl_check___closed__3; +x_49 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_49, 0, x_48); +lean_ctor_set(x_49, 1, x_47); +x_50 = l_Lean_Compiler_Decl_check___closed__5; +x_51 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_51, 0, x_49); +lean_ctor_set(x_51, 1, x_50); +x_52 = l_Lean_indentExpr(x_44); +x_53 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_53, 0, x_51); +lean_ctor_set(x_53, 1, x_52); +x_54 = l_Lean_Compiler_Decl_check___closed__7; +x_55 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_55, 0, x_53); +lean_ctor_set(x_55, 1, x_54); +x_56 = l_Lean_indentExpr(x_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_Compiler_Decl_check___closed__9; +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_throwError___at_Lean_Compiler_Decl_check___spec__1(x_59, x_3, x_4, x_45); +lean_dec(x_4); +lean_dec(x_3); +return x_60; +} +else +{ +lean_object* x_61; lean_object* x_62; +lean_dec(x_44); lean_dec(x_7); lean_dec(x_6); lean_dec(x_4); lean_dec(x_3); -x_51 = !lean_is_exclusive(x_12); -if (x_51 == 0) -{ -return x_12; -} -else -{ -lean_object* x_52; lean_object* x_53; lean_object* x_54; -x_52 = lean_ctor_get(x_12, 0); -x_53 = lean_ctor_get(x_12, 1); -lean_inc(x_53); -lean_inc(x_52); -lean_dec(x_12); -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_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_45); +return x_62; } } } else { -uint8_t x_55; +uint8_t x_63; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_3); +x_63 = !lean_is_exclusive(x_24); +if (x_63 == 0) +{ +return x_24; +} +else +{ +lean_object* x_64; lean_object* x_65; lean_object* x_66; +x_64 = lean_ctor_get(x_24, 0); +x_65 = lean_ctor_get(x_24, 1); +lean_inc(x_65); +lean_inc(x_64); +lean_dec(x_24); +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 +{ +uint8_t x_67; +lean_dec(x_16); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_4); lean_dec(x_3); -x_55 = !lean_is_exclusive(x_10); -if (x_55 == 0) +x_67 = !lean_is_exclusive(x_18); +if (x_67 == 0) +{ +return x_18; +} +else +{ +lean_object* x_68; lean_object* x_69; lean_object* x_70; +x_68 = lean_ctor_get(x_18, 0); +x_69 = lean_ctor_get(x_18, 1); +lean_inc(x_69); +lean_inc(x_68); +lean_dec(x_18); +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_71; +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_71 = !lean_is_exclusive(x_10); +if (x_71 == 0) { return x_10; } else { -lean_object* x_56; lean_object* x_57; lean_object* x_58; -x_56 = lean_ctor_get(x_10, 0); -x_57 = lean_ctor_get(x_10, 1); -lean_inc(x_57); -lean_inc(x_56); +lean_object* x_72; lean_object* x_73; lean_object* x_74; +x_72 = lean_ctor_get(x_10, 0); +x_73 = lean_ctor_get(x_10, 1); +lean_inc(x_73); +lean_inc(x_72); lean_dec(x_10); -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; +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; } } } @@ -1941,12 +2037,176 @@ return x_74; } } } +static lean_object* _init_l_Lean_Compiler_Decl_toString___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes(" : ", 3); +return x_1; +} +} +static lean_object* _init_l_Lean_Compiler_Decl_toString___closed__2() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes(" :=\n", 4); +return x_1; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_Decl_toString(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_11; lean_object* x_12; lean_object* x_13; +x_5 = lean_ctor_get(x_1, 1); +lean_inc(x_5); +x_6 = lean_st_ref_get(x_3, x_4); +x_7 = lean_ctor_get(x_6, 1); +lean_inc(x_7); +lean_dec(x_6); +x_8 = l_Lean_Compiler_toDecl___closed__29; +x_9 = lean_st_mk_ref(x_8, x_7); +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 = l_Lean_Compiler_toDecl___closed__16; +x_13 = l_Lean_Meta_ppExpr(x_5, x_12, x_10, x_2, x_3, x_11); +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 = 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_ctor_get(x_1, 2); +lean_inc(x_16); +x_17 = l_Lean_Meta_ppExpr(x_16, x_12, x_10, x_2, x_3, x_15); +if (lean_obj_tag(x_17) == 0) +{ +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; 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_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); +x_20 = lean_ctor_get(x_1, 0); +lean_inc(x_20); +lean_dec(x_1); +x_21 = 1; +x_22 = l_Lean_Name_toString(x_20, x_21); +x_23 = l_Lean_Compiler_Decl_check___closed__8; +x_24 = lean_string_append(x_23, x_22); +lean_dec(x_22); +x_25 = l_Lean_Compiler_Decl_toString___closed__1; +x_26 = lean_string_append(x_24, x_25); +x_27 = l_Std_Format_defWidth; +x_28 = lean_format_pretty(x_14, x_27); +x_29 = lean_string_append(x_26, x_28); +lean_dec(x_28); +x_30 = l_Lean_Compiler_Decl_toString___closed__2; +x_31 = lean_string_append(x_29, x_30); +x_32 = lean_format_pretty(x_18, x_27); +x_33 = lean_string_append(x_31, x_32); +lean_dec(x_32); +x_34 = lean_string_append(x_33, x_23); +x_35 = lean_st_ref_get(x_3, x_19); +x_36 = lean_ctor_get(x_35, 1); +lean_inc(x_36); +lean_dec(x_35); +x_37 = lean_st_ref_get(x_10, x_36); +lean_dec(x_10); +x_38 = !lean_is_exclusive(x_37); +if (x_38 == 0) +{ +lean_object* x_39; +x_39 = lean_ctor_get(x_37, 0); +lean_dec(x_39); +lean_ctor_set(x_37, 0, x_34); +return x_37; +} +else +{ +lean_object* x_40; lean_object* x_41; +x_40 = lean_ctor_get(x_37, 1); +lean_inc(x_40); +lean_dec(x_37); +x_41 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_41, 0, x_34); +lean_ctor_set(x_41, 1, x_40); +return x_41; +} +} +else +{ +uint8_t x_42; +lean_dec(x_14); +lean_dec(x_10); +lean_dec(x_1); +x_42 = !lean_is_exclusive(x_17); +if (x_42 == 0) +{ +return x_17; +} +else +{ +lean_object* x_43; lean_object* x_44; lean_object* x_45; +x_43 = lean_ctor_get(x_17, 0); +x_44 = lean_ctor_get(x_17, 1); +lean_inc(x_44); +lean_inc(x_43); +lean_dec(x_17); +x_45 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_45, 0, x_43); +lean_ctor_set(x_45, 1, x_44); +return x_45; +} +} +} +else +{ +uint8_t x_46; +lean_dec(x_10); +lean_dec(x_1); +x_46 = !lean_is_exclusive(x_13); +if (x_46 == 0) +{ +return x_13; +} +else +{ +lean_object* x_47; lean_object* x_48; lean_object* x_49; +x_47 = lean_ctor_get(x_13, 0); +x_48 = lean_ctor_get(x_13, 1); +lean_inc(x_48); +lean_inc(x_47); +lean_dec(x_13); +x_49 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_49, 0, x_47); +lean_ctor_set(x_49, 1, x_48); +return x_49; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_Decl_toString___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_Compiler_Decl_toString(x_1, x_2, x_3, x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_5; +} +} lean_object* initialize_Init(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Meta_Transform(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Meta_Check(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Compiler_LCNF(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Compiler_Check(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Compiler_CompilerM(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Compiler_JoinPoints(uint8_t builtin, lean_object*); static bool _G_initialized = false; LEAN_EXPORT lean_object* initialize_Lean_Compiler_Decl(uint8_t builtin, lean_object* w) { lean_object * res; @@ -1970,6 +2230,9 @@ lean_dec_ref(res); res = initialize_Lean_Compiler_CompilerM(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); +res = initialize_Lean_Compiler_JoinPoints(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); l_Lean_Compiler_macroInline___lambda__1___closed__1 = _init_l_Lean_Compiler_macroInline___lambda__1___closed__1(); lean_mark_persistent(l_Lean_Compiler_macroInline___lambda__1___closed__1); l_Lean_Compiler_macroInline___closed__1 = _init_l_Lean_Compiler_macroInline___closed__1(); @@ -2056,6 +2319,12 @@ l_Lean_Compiler_Decl_check___closed__7 = _init_l_Lean_Compiler_Decl_check___clos lean_mark_persistent(l_Lean_Compiler_Decl_check___closed__7); l_Lean_Compiler_Decl_check___closed__8 = _init_l_Lean_Compiler_Decl_check___closed__8(); lean_mark_persistent(l_Lean_Compiler_Decl_check___closed__8); +l_Lean_Compiler_Decl_check___closed__9 = _init_l_Lean_Compiler_Decl_check___closed__9(); +lean_mark_persistent(l_Lean_Compiler_Decl_check___closed__9); +l_Lean_Compiler_Decl_toString___closed__1 = _init_l_Lean_Compiler_Decl_toString___closed__1(); +lean_mark_persistent(l_Lean_Compiler_Decl_toString___closed__1); +l_Lean_Compiler_Decl_toString___closed__2 = _init_l_Lean_Compiler_Decl_toString___closed__2(); +lean_mark_persistent(l_Lean_Compiler_Decl_toString___closed__2); return lean_io_result_mk_ok(lean_box(0)); } #ifdef __cplusplus diff --git a/stage0/stdlib/Lean/Compiler/InitAttr.c b/stage0/stdlib/Lean/Compiler/InitAttr.c index 8f8568e893..67dcb9631d 100644 --- a/stage0/stdlib/Lean/Compiler/InitAttr.c +++ b/stage0/stdlib/Lean/Compiler/InitAttr.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Compiler.InitAttr -// Imports: Init Lean.Environment Lean.Attributes +// Imports: Init Lean.Environment Lean.Attributes Lean.Elab.InfoTree.Main #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -14,6 +14,7 @@ extern "C" { #endif static lean_object* l___auto____x40_Lean_Compiler_InitAttr___hyg_791____closed__13; +LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_registerInitAttrUnsafe___spec__9___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_addMessageContextPartial___at_Lean_Core_instAddMessageContextCoreM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_registerInitAttrUnsafe___spec__2(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_registerInitAttrUnsafe(lean_object*, uint8_t, lean_object*, lean_object*); @@ -25,6 +26,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Compiler_InitAttr_0__Lean_isUnitType__ lean_object* l_Lean_stringToMessageData(lean_object*); static lean_object* l___private_Lean_Compiler_InitAttr_0__Lean_isUnitType___closed__1; static lean_object* l___auto____x40_Lean_Compiler_InitAttr___hyg_791____closed__23; +static lean_object* l_Lean_resolveGlobalConst___at_Lean_registerInitAttrUnsafe___spec__6___closed__3; LEAN_EXPORT lean_object* l_Lean_setEnv___at_Lean_declareBuiltin___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_mk_empty_array_with_capacity(lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_declareBuiltin___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); @@ -34,7 +36,8 @@ static lean_object* l_Lean_getBuiltinInitFnNameFor_x3f___closed__1; LEAN_EXPORT lean_object* l_Lean_builtinInitAttr; lean_object* l_Lean_throwError___at_Lean_registerTagAttribute___spec__3(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_filterTRAux___at_Lean_resolveGlobalConstCore___spec__1(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at_Lean_registerInitAttrUnsafe___spec__10(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_registerInitAttrUnsafe___spec__9___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_mkConstWithLevelParams___at_Lean_registerInitAttrUnsafe___spec__14___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___auto____x40_Lean_Compiler_InitAttr___hyg_791____closed__2; lean_object* lean_array_uget(lean_object*, size_t); lean_object* lean_io_error_to_string(lean_object*); @@ -45,17 +48,21 @@ LEAN_EXPORT lean_object* l_Lean_setBuiltinInitAttr(lean_object*, lean_object*, l static lean_object* l___auto____x40_Lean_Compiler_InitAttr___hyg_791____closed__32; static lean_object* l_Lean_getConstInfo___at_Lean_registerInitAttrUnsafe___spec__1___closed__2; static lean_object* l_Lean_declareBuiltin___closed__5; +LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_registerInitAttrUnsafe___spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_setEnv___at_Lean_declareBuiltin___spec__3___closed__4; lean_object* l_List_filterMap___at_Lean_resolveGlobalConst___spec__1(lean_object*); +static lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_registerInitAttrUnsafe___spec__15___closed__2; static lean_object* l___auto____x40_Lean_Compiler_InitAttr___hyg_791____closed__10; static lean_object* l_Lean_declareBuiltin___closed__3; LEAN_EXPORT uint8_t lean_is_io_unit_regular_init_fn(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at_Lean_registerInitAttrUnsafe___spec__11(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_environment_find(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_addConstInfo___at_Lean_registerInitAttrUnsafe___spec__13(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___auto____x40_Lean_Compiler_InitAttr___hyg_791____closed__16; static lean_object* l_Lean_registerInitAttrUnsafe___closed__3; lean_object* lean_st_ref_get(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_Lean_registerInitAttrUnsafe___spec__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_declareBuiltin___closed__9; +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_registerInitAttrUnsafe___spec__8(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_getConstInfo___at_Lean_registerInitAttrUnsafe___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_toSubarray___rarg(lean_object*, lean_object*, lean_object*); lean_object* lean_array_push(lean_object*, lean_object*); @@ -63,13 +70,15 @@ lean_object* lean_array_get_size(lean_object*); static lean_object* l_Lean_setEnv___at_Lean_declareBuiltin___spec__3___closed__3; LEAN_EXPORT lean_object* l_Lean_registerInitAttr(lean_object*, uint8_t, lean_object*, lean_object*); lean_object* lean_string_append(lean_object*, lean_object*); +static lean_object* l_Lean_resolveGlobalConst___at_Lean_registerInitAttrUnsafe___spec__6___closed__1; static lean_object* l_Lean_declareBuiltin___closed__8; static lean_object* l_Lean_registerInitAttrUnsafe___lambda__1___closed__6; -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_registerInitAttrUnsafe___spec__13(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_registerInitAttrUnsafe___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoTree___at_Lean_registerInitAttrUnsafe___spec__16___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_registerInitAttrUnsafe___spec__19(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*); lean_object* lean_run_mod_init(lean_object*, lean_object*); +static lean_object* l_Lean_resolveGlobalConst___at_Lean_registerInitAttrUnsafe___spec__6___closed__2; static lean_object* l_Lean_registerInitAttrUnsafe___closed__2; -LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at_Lean_registerInitAttrUnsafe___spec__10___boxed(lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_usize_dec_lt(size_t, size_t); static lean_object* l___auto____x40_Lean_Compiler_InitAttr___hyg_791____closed__37; static lean_object* l_Lean_declareBuiltin___closed__4; @@ -82,18 +91,18 @@ static lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_845____clo static lean_object* l___auto____x40_Lean_Compiler_InitAttr___hyg_791____closed__7; LEAN_EXPORT lean_object* l_Lean_registerInitAttrUnsafe___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_845____closed__1; +LEAN_EXPORT lean_object* l_Lean_resolveGlobalConst___at_Lean_registerInitAttrUnsafe___spec__6(lean_object*, lean_object*, lean_object*, lean_object*); +extern lean_object* l_Lean_LocalContext_empty; lean_object* l_List_mapTRAux___at_Lean_resolveGlobalConstNoOverload___spec__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_registerInitAttrUnsafe___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_Lean_registerInitAttrUnsafe___spec__9(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_873_(lean_object*); LEAN_EXPORT lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_845_(lean_object*); +lean_object* l_Lean_ConstantInfo_levelParams(lean_object*); static lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_845____closed__2; -LEAN_EXPORT lean_object* l_Lean_resolveGlobalConst___at_Lean_registerInitAttrUnsafe___spec__5(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___auto____x40_Lean_Compiler_InitAttr___hyg_791____closed__33; static lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_873____closed__1; lean_object* lean_array_fget(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_registerInitAttrUnsafe___spec__8___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_IO_ofExcept___at_Lean_registerInitAttrUnsafe___spec__12___boxed(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_registerInitAttrUnsafe___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* lean_get_init_fn_name_for(lean_object*, lean_object*); static lean_object* l___auto____x40_Lean_Compiler_InitAttr___hyg_791____closed__39; static lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_873____closed__4; @@ -110,54 +119,58 @@ LEAN_EXPORT lean_object* l___private_Lean_Compiler_InitAttr_0__Lean_isIOUnit___b static lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_845____closed__3; LEAN_EXPORT lean_object* l_Lean_registerInitAttrUnsafe___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_KernelException_toMessageData(lean_object*, lean_object*); -static lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_registerInitAttrUnsafe___spec__4___closed__1; static lean_object* l___auto____x40_Lean_Compiler_InitAttr___hyg_791____closed__11; lean_object* l_Lean_replaceRef(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_registerInitAttrUnsafe___spec__15___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_declareBuiltin___closed__2; static lean_object* l_Lean_declareBuiltin___closed__12; static lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_873____closed__3; +static lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_registerInitAttrUnsafe___spec__15___closed__3; static lean_object* l___auto____x40_Lean_Compiler_InitAttr___hyg_791____closed__25; -LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_registerInitAttrUnsafe___spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_registerInitAttrUnsafe___spec__4___closed__2; +LEAN_EXPORT lean_object* l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_registerInitAttrUnsafe___spec__4___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_registerInitAttrUnsafe___spec__15___closed__1; lean_object* l_Lean_isInitializerExecutionEnabled(lean_object*); static lean_object* l___auto____x40_Lean_Compiler_InitAttr___hyg_791____closed__29; static lean_object* l_Lean_registerInitAttrUnsafe___lambda__1___closed__5; lean_object* l_Lean_Attribute_Builtin_getIdent_x3f(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_registerInitAttrUnsafe___lambda__1___closed__7; LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_registerInitAttrUnsafe___spec__3(lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_registerInitAttrUnsafe___spec__4(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_registerInitAttrUnsafe___lambda__3(uint8_t, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_registerInitAttrUnsafe___spec__18(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*); lean_object* lean_format_pretty(lean_object*, lean_object*); static lean_object* l_Lean_getRegularInitFnNameFor_x3f___closed__1; lean_object* l_Std_PersistentHashMap_mkEmptyEntriesArray(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_isIOUnitBuiltinInitFn___boxed(lean_object*, lean_object*); static lean_object* l_Lean_registerInitAttrUnsafe___closed__1; LEAN_EXPORT lean_object* l_Lean_runModInit___boxed(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_registerInitAttrUnsafe___spec__14___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_eval_const(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_hasInitAttr___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* lean_get_regular_init_fn_name_for(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_declareBuiltin___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_registerInitAttrUnsafe___spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_registerInitAttrUnsafe___spec__5___closed__3; static lean_object* l_Lean_getConstInfo___at_Lean_registerInitAttrUnsafe___spec__1___closed__4; static lean_object* l___auto____x40_Lean_Compiler_InitAttr___hyg_791____closed__6; -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_registerInitAttrUnsafe___spec__13___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_registerInitAttrUnsafe___spec__5___closed__1; +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_registerInitAttrUnsafe___spec__19___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_registerInitAttrUnsafe___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_ResolveName_resolveGlobalName(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t lean_is_io_unit_builtin_init_fn(lean_object*, lean_object*); size_t lean_usize_of_nat(lean_object*); lean_object* l_Lean_ConstantInfo_type(lean_object*); static lean_object* l_Lean_declareBuiltin___closed__11; -static lean_object* l_Lean_resolveGlobalConst___at_Lean_registerInitAttrUnsafe___spec__5___closed__1; +LEAN_EXPORT lean_object* l_IO_ofExcept___at_Lean_registerInitAttrUnsafe___spec__17___boxed(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at_Lean_registerInitAttrUnsafe___spec__11___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Lean_hasInitAttr(lean_object*, lean_object*); lean_object* l_Lean_ParametricAttribute_setParam___rarg(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___auto____x40_Lean_Compiler_InitAttr___hyg_791____closed__20; LEAN_EXPORT lean_object* l_IO_ofExcept___at_Lean_declareBuiltin___spec__2(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_registerInitAttrUnsafe___spec__9(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_registerInitAttrUnsafe___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_registerInitAttrUnsafe___spec__8(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___auto____x40_Lean_Compiler_InitAttr___hyg_791____closed__17; static lean_object* l___auto____x40_Lean_Compiler_InitAttr___hyg_791____closed__8; +LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_Lean_registerInitAttrUnsafe___spec__10(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___auto____x40_Lean_Compiler_InitAttr___hyg_791____closed__27; +lean_object* l_Std_PersistentArray_push___rarg(lean_object*, lean_object*); static lean_object* l_Lean_getConstInfo___at_Lean_registerInitAttrUnsafe___spec__1___closed__3; lean_object* l_Lean_Expr_const___override(lean_object*, lean_object*); LEAN_EXPORT uint8_t l___private_Lean_Compiler_InitAttr_0__Lean_isIOUnit(lean_object*); @@ -173,35 +186,40 @@ lean_object* l_Lean_Name_append(lean_object*, lean_object*); lean_object* l_Lean_Environment_addAndCompile(lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Name_isAnonymous(lean_object*); LEAN_EXPORT lean_object* l___auto____x40_Lean_Compiler_InitAttr___hyg_791_; +LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_registerInitAttrUnsafe___spec__5(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_declareBuiltin___closed__7; +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_registerInitAttrUnsafe___spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_registerInitAttrUnsafe___spec__18___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___auto____x40_Lean_Compiler_InitAttr___hyg_791____closed__9; +LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoTree___at_Lean_registerInitAttrUnsafe___spec__16(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_regularInitAttr; LEAN_EXPORT uint8_t l_Lean_isIOUnitInitFn(lean_object*, lean_object*); static lean_object* l___auto____x40_Lean_Compiler_InitAttr___hyg_791____closed__35; -static lean_object* l_Lean_resolveGlobalConst___at_Lean_registerInitAttrUnsafe___spec__5___closed__2; static lean_object* l___private_Lean_Compiler_InitAttr_0__Lean_getIOTypeArg___closed__1; LEAN_EXPORT lean_object* l_Lean_declareBuiltin(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_registerInitAttrUnsafe___spec__7(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_List_mapTRAux___at_Lean_mkConstWithLevelParams___spec__1(lean_object*, lean_object*); +static lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_registerInitAttrUnsafe___spec__5___closed__2; +LEAN_EXPORT lean_object* l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_registerInitAttrUnsafe___spec__4___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); static lean_object* l___auto____x40_Lean_Compiler_InitAttr___hyg_791____closed__5; -LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_registerInitAttrUnsafe___spec__11(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_IO_ofExcept___at_Lean_declareBuiltin___spec__2___boxed(lean_object*, lean_object*); extern lean_object* l_Lean_instInhabitedName; lean_object* l_Lean_Expr_app___override(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_IO_ofExcept___at_Lean_registerInitAttrUnsafe___spec__12(lean_object*, lean_object*); static lean_object* l___auto____x40_Lean_Compiler_InitAttr___hyg_791____closed__15; static lean_object* l___auto____x40_Lean_Compiler_InitAttr___hyg_791____closed__18; +LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_registerInitAttrUnsafe___spec__15(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_isIOUnitInitFn___boxed(lean_object*, lean_object*); static lean_object* l___auto____x40_Lean_Compiler_InitAttr___hyg_791____closed__3; -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_registerInitAttrUnsafe___spec__14(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* lean_get_builtin_init_fn_name_for(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Compiler_InitAttr_0__Lean_getIOTypeArg(lean_object*); lean_object* l_Lean_registerParametricAttribute___rarg(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_runInit___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_IO_ofExcept___at_Lean_registerInitAttrUnsafe___spec__17(lean_object*, lean_object*); static lean_object* l___auto____x40_Lean_Compiler_InitAttr___hyg_791____closed__30; static lean_object* l___auto____x40_Lean_Compiler_InitAttr___hyg_791____closed__22; -static lean_object* l_Lean_resolveGlobalConst___at_Lean_registerInitAttrUnsafe___spec__5___closed__3; static lean_object* l___auto____x40_Lean_Compiler_InitAttr___hyg_791____closed__28; +LEAN_EXPORT lean_object* l_Lean_Elab_addConstInfo___at_Lean_registerInitAttrUnsafe___spec__13___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_registerInitAttrUnsafe___spec__12(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_run_init(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_registerInitAttr___boxed(lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_List_isEmpty___rarg(lean_object*); @@ -212,11 +230,11 @@ LEAN_EXPORT uint8_t l___private_Lean_Compiler_InitAttr_0__Lean_isUnitType(lean_o static lean_object* l___auto____x40_Lean_Compiler_InitAttr___hyg_791____closed__26; LEAN_EXPORT lean_object* l_Lean_getInitFnNameForCore_x3f(lean_object*, lean_object*, lean_object*); lean_object* l_List_toString___at_Lean_resolveGlobalConstNoOverloadCore___spec__2(lean_object*); +LEAN_EXPORT lean_object* l_Lean_mkConstWithLevelParams___at_Lean_registerInitAttrUnsafe___spec__14(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_declareBuiltin___closed__10; -static lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_registerInitAttrUnsafe___spec__4___closed__3; static lean_object* l_Lean_registerInitAttrUnsafe___lambda__1___closed__8; +LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_Lean_registerInitAttrUnsafe___spec__10___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_formatStxAux(lean_object*, uint8_t, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_registerInitAttrUnsafe___spec__8___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___auto____x40_Lean_Compiler_InitAttr___hyg_791____closed__12; static lean_object* l_Lean_registerInitAttrUnsafe___lambda__1___closed__4; static lean_object* l_Lean_setEnv___at_Lean_declareBuiltin___spec__3___closed__2; @@ -619,7 +637,7 @@ return x_13; } } } -LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_registerInitAttrUnsafe___spec__7(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_registerInitAttrUnsafe___spec__8(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; uint8_t x_7; @@ -657,7 +675,7 @@ return x_13; } } } -LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_registerInitAttrUnsafe___spec__6(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_registerInitAttrUnsafe___spec__7(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; @@ -670,7 +688,7 @@ x_8 = l_Lean_replaceRef(x_1, x_7); lean_dec(x_7); lean_dec(x_1); lean_ctor_set(x_3, 5, x_8); -x_9 = l_Lean_throwError___at_Lean_registerInitAttrUnsafe___spec__7(x_2, x_3, x_4, x_5); +x_9 = l_Lean_throwError___at_Lean_registerInitAttrUnsafe___spec__8(x_2, x_3, x_4, x_5); lean_dec(x_4); lean_dec(x_3); return x_9; @@ -716,14 +734,14 @@ lean_ctor_set(x_22, 7, x_17); lean_ctor_set(x_22, 8, x_18); lean_ctor_set(x_22, 9, x_19); lean_ctor_set(x_22, 10, x_20); -x_23 = l_Lean_throwError___at_Lean_registerInitAttrUnsafe___spec__7(x_2, x_22, x_4, x_5); +x_23 = l_Lean_throwError___at_Lean_registerInitAttrUnsafe___spec__8(x_2, x_22, x_4, x_5); lean_dec(x_4); lean_dec(x_22); return x_23; } } } -LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_Lean_registerInitAttrUnsafe___spec__9(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_Lean_registerInitAttrUnsafe___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; @@ -769,7 +787,7 @@ return x_18; } } } -LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at_Lean_registerInitAttrUnsafe___spec__10(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at_Lean_registerInitAttrUnsafe___spec__11(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_11; lean_object* x_12; @@ -789,7 +807,7 @@ x_12 = l_Lean_throwError___at_Lean_registerTagAttribute___spec__3(x_11, x_2, x_3 return x_12; } } -LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_registerInitAttrUnsafe___spec__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) { +LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_registerInitAttrUnsafe___spec__9___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; lean_object* x_8; @@ -800,13 +818,13 @@ lean_ctor_set(x_8, 1, x_6); return x_8; } } -LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_registerInitAttrUnsafe___spec__8(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_registerInitAttrUnsafe___spec__9(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; uint8_t x_10; lean_inc(x_2); lean_inc(x_1); -x_5 = l_Lean_resolveGlobalName___at_Lean_registerInitAttrUnsafe___spec__9(x_1, x_2, x_3, x_4); +x_5 = l_Lean_resolveGlobalName___at_Lean_registerInitAttrUnsafe___spec__10(x_1, x_2, x_3, x_4); x_6 = lean_ctor_get(x_5, 0); lean_inc(x_6); x_7 = lean_ctor_get(x_5, 1); @@ -820,7 +838,7 @@ if (x_10 == 0) lean_object* x_11; lean_object* x_12; lean_dec(x_1); x_11 = lean_box(0); -x_12 = l_Lean_resolveGlobalConstCore___at_Lean_registerInitAttrUnsafe___spec__8___lambda__1(x_9, x_8, x_11, x_2, x_3, x_7); +x_12 = l_Lean_resolveGlobalConstCore___at_Lean_registerInitAttrUnsafe___spec__9___lambda__1(x_9, x_8, x_11, x_2, x_3, x_7); lean_dec(x_3); lean_dec(x_2); return x_12; @@ -829,7 +847,7 @@ else { lean_object* x_13; uint8_t x_14; lean_dec(x_9); -x_13 = l_Lean_throwUnknownConstant___at_Lean_registerInitAttrUnsafe___spec__10(x_1, x_2, x_3, x_7); +x_13 = l_Lean_throwUnknownConstant___at_Lean_registerInitAttrUnsafe___spec__11(x_1, x_2, x_3, x_7); lean_dec(x_3); lean_dec(x_2); x_14 = !lean_is_exclusive(x_13); @@ -853,7 +871,7 @@ return x_17; } } } -static lean_object* _init_l_Lean_resolveGlobalConst___at_Lean_registerInitAttrUnsafe___spec__5___closed__1() { +static lean_object* _init_l_Lean_resolveGlobalConst___at_Lean_registerInitAttrUnsafe___spec__6___closed__1() { _start: { lean_object* x_1; @@ -861,27 +879,27 @@ x_1 = lean_mk_string_from_bytes("expected identifier", 19); return x_1; } } -static lean_object* _init_l_Lean_resolveGlobalConst___at_Lean_registerInitAttrUnsafe___spec__5___closed__2() { +static lean_object* _init_l_Lean_resolveGlobalConst___at_Lean_registerInitAttrUnsafe___spec__6___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_resolveGlobalConst___at_Lean_registerInitAttrUnsafe___spec__5___closed__1; +x_1 = l_Lean_resolveGlobalConst___at_Lean_registerInitAttrUnsafe___spec__6___closed__1; 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_resolveGlobalConst___at_Lean_registerInitAttrUnsafe___spec__5___closed__3() { +static lean_object* _init_l_Lean_resolveGlobalConst___at_Lean_registerInitAttrUnsafe___spec__6___closed__3() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_resolveGlobalConst___at_Lean_registerInitAttrUnsafe___spec__5___closed__2; +x_1 = l_Lean_resolveGlobalConst___at_Lean_registerInitAttrUnsafe___spec__6___closed__2; x_2 = lean_alloc_ctor(0, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -LEAN_EXPORT lean_object* l_Lean_resolveGlobalConst___at_Lean_registerInitAttrUnsafe___spec__5(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_resolveGlobalConst___at_Lean_registerInitAttrUnsafe___spec__6(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { if (lean_obj_tag(x_1) == 3) @@ -918,7 +936,7 @@ x_12 = l_Lean_replaceRef(x_1, x_11); lean_dec(x_11); lean_dec(x_1); lean_ctor_set(x_2, 5, x_12); -x_13 = l_Lean_resolveGlobalConstCore___at_Lean_registerInitAttrUnsafe___spec__8(x_5, x_2, x_3, x_4); +x_13 = l_Lean_resolveGlobalConstCore___at_Lean_registerInitAttrUnsafe___spec__9(x_5, x_2, x_3, x_4); return x_13; } else @@ -962,7 +980,7 @@ lean_ctor_set(x_26, 7, x_21); lean_ctor_set(x_26, 8, x_22); lean_ctor_set(x_26, 9, x_23); lean_ctor_set(x_26, 10, x_24); -x_27 = l_Lean_resolveGlobalConstCore___at_Lean_registerInitAttrUnsafe___spec__8(x_5, x_26, x_3, x_4); +x_27 = l_Lean_resolveGlobalConstCore___at_Lean_registerInitAttrUnsafe___spec__9(x_5, x_26, x_3, x_4); return x_27; } } @@ -970,13 +988,13 @@ return x_27; else { lean_object* x_28; lean_object* x_29; -x_28 = l_Lean_resolveGlobalConst___at_Lean_registerInitAttrUnsafe___spec__5___closed__3; -x_29 = l_Lean_throwErrorAt___at_Lean_registerInitAttrUnsafe___spec__6(x_1, x_28, x_2, x_3, x_4); +x_28 = l_Lean_resolveGlobalConst___at_Lean_registerInitAttrUnsafe___spec__6___closed__3; +x_29 = l_Lean_throwErrorAt___at_Lean_registerInitAttrUnsafe___spec__7(x_1, x_28, x_2, x_3, x_4); return x_29; } } } -LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_registerInitAttrUnsafe___spec__11(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_registerInitAttrUnsafe___spec__12(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; @@ -1042,7 +1060,7 @@ return x_23; } } } -static lean_object* _init_l_Lean_resolveGlobalConstNoOverload___at_Lean_registerInitAttrUnsafe___spec__4___closed__1() { +static lean_object* _init_l_Lean_resolveGlobalConstNoOverload___at_Lean_registerInitAttrUnsafe___spec__5___closed__1() { _start: { lean_object* x_1; @@ -1050,7 +1068,7 @@ x_1 = lean_mk_string_from_bytes("ambiguous identifier '", 22); return x_1; } } -static lean_object* _init_l_Lean_resolveGlobalConstNoOverload___at_Lean_registerInitAttrUnsafe___spec__4___closed__2() { +static lean_object* _init_l_Lean_resolveGlobalConstNoOverload___at_Lean_registerInitAttrUnsafe___spec__5___closed__2() { _start: { lean_object* x_1; @@ -1058,7 +1076,7 @@ x_1 = lean_mk_string_from_bytes("', possible interpretations: ", 29); return x_1; } } -static lean_object* _init_l_Lean_resolveGlobalConstNoOverload___at_Lean_registerInitAttrUnsafe___spec__4___closed__3() { +static lean_object* _init_l_Lean_resolveGlobalConstNoOverload___at_Lean_registerInitAttrUnsafe___spec__5___closed__3() { _start: { lean_object* x_1; @@ -1066,14 +1084,14 @@ x_1 = lean_mk_string_from_bytes("", 0); return x_1; } } -LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_registerInitAttrUnsafe___spec__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_registerInitAttrUnsafe___spec__5(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { lean_object* x_5; lean_inc(x_3); lean_inc(x_2); lean_inc(x_1); -x_5 = l_Lean_resolveGlobalConst___at_Lean_registerInitAttrUnsafe___spec__5(x_1, x_2, x_3, x_4); +x_5 = l_Lean_resolveGlobalConst___at_Lean_registerInitAttrUnsafe___spec__6(x_1, x_2, x_3, x_4); if (lean_obj_tag(x_5) == 0) { lean_object* x_6; @@ -1092,23 +1110,23 @@ lean_inc(x_1); x_11 = l_Lean_Syntax_formatStxAux(x_8, x_9, x_10, x_1); x_12 = l_Std_Format_defWidth; x_13 = lean_format_pretty(x_11, x_12); -x_14 = l_Lean_resolveGlobalConstNoOverload___at_Lean_registerInitAttrUnsafe___spec__4___closed__1; +x_14 = l_Lean_resolveGlobalConstNoOverload___at_Lean_registerInitAttrUnsafe___spec__5___closed__1; x_15 = lean_string_append(x_14, x_13); lean_dec(x_13); -x_16 = l_Lean_resolveGlobalConstNoOverload___at_Lean_registerInitAttrUnsafe___spec__4___closed__2; +x_16 = l_Lean_resolveGlobalConstNoOverload___at_Lean_registerInitAttrUnsafe___spec__5___closed__2; x_17 = lean_string_append(x_15, x_16); x_18 = lean_box(0); x_19 = l_List_mapTRAux___at_Lean_resolveGlobalConstNoOverload___spec__1(x_6, x_18); x_20 = l_List_toString___at_Lean_resolveGlobalConstNoOverloadCore___spec__2(x_19); x_21 = lean_string_append(x_17, x_20); lean_dec(x_20); -x_22 = l_Lean_resolveGlobalConstNoOverload___at_Lean_registerInitAttrUnsafe___spec__4___closed__3; +x_22 = l_Lean_resolveGlobalConstNoOverload___at_Lean_registerInitAttrUnsafe___spec__5___closed__3; x_23 = lean_string_append(x_21, x_22); x_24 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_24, 0, x_23); x_25 = lean_alloc_ctor(0, 1, 0); lean_ctor_set(x_25, 0, x_24); -x_26 = l_Lean_throwErrorAt___at_Lean_registerInitAttrUnsafe___spec__11(x_1, x_25, x_2, x_3, x_7); +x_26 = l_Lean_throwErrorAt___at_Lean_registerInitAttrUnsafe___spec__12(x_1, x_25, x_2, x_3, x_7); return x_26; } else @@ -1163,23 +1181,23 @@ lean_inc(x_1); x_38 = l_Lean_Syntax_formatStxAux(x_35, x_36, x_37, x_1); x_39 = l_Std_Format_defWidth; x_40 = lean_format_pretty(x_38, x_39); -x_41 = l_Lean_resolveGlobalConstNoOverload___at_Lean_registerInitAttrUnsafe___spec__4___closed__1; +x_41 = l_Lean_resolveGlobalConstNoOverload___at_Lean_registerInitAttrUnsafe___spec__5___closed__1; x_42 = lean_string_append(x_41, x_40); lean_dec(x_40); -x_43 = l_Lean_resolveGlobalConstNoOverload___at_Lean_registerInitAttrUnsafe___spec__4___closed__2; +x_43 = l_Lean_resolveGlobalConstNoOverload___at_Lean_registerInitAttrUnsafe___spec__5___closed__2; x_44 = lean_string_append(x_42, x_43); x_45 = lean_box(0); x_46 = l_List_mapTRAux___at_Lean_resolveGlobalConstNoOverload___spec__1(x_6, x_45); x_47 = l_List_toString___at_Lean_resolveGlobalConstNoOverloadCore___spec__2(x_46); x_48 = lean_string_append(x_44, x_47); lean_dec(x_47); -x_49 = l_Lean_resolveGlobalConstNoOverload___at_Lean_registerInitAttrUnsafe___spec__4___closed__3; +x_49 = l_Lean_resolveGlobalConstNoOverload___at_Lean_registerInitAttrUnsafe___spec__5___closed__3; x_50 = lean_string_append(x_48, x_49); x_51 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_51, 0, x_50); x_52 = lean_alloc_ctor(0, 1, 0); lean_ctor_set(x_52, 0, x_51); -x_53 = l_Lean_throwErrorAt___at_Lean_registerInitAttrUnsafe___spec__11(x_1, x_52, x_2, x_3, x_34); +x_53 = l_Lean_throwErrorAt___at_Lean_registerInitAttrUnsafe___spec__12(x_1, x_52, x_2, x_3, x_34); return x_53; } } @@ -1211,7 +1229,566 @@ return x_57; } } } -LEAN_EXPORT lean_object* l_IO_ofExcept___at_Lean_registerInitAttrUnsafe___spec__12(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l_Lean_mkConstWithLevelParams___at_Lean_registerInitAttrUnsafe___spec__14(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; +lean_inc(x_1); +x_5 = l_Lean_getConstInfo___at_Lean_registerInitAttrUnsafe___spec__1(x_1, x_2, x_3, x_4); +if (lean_obj_tag(x_5) == 0) +{ +uint8_t x_6; +x_6 = !lean_is_exclusive(x_5); +if (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_8 = l_Lean_ConstantInfo_levelParams(x_7); +lean_dec(x_7); +x_9 = lean_box(0); +x_10 = l_List_mapTRAux___at_Lean_mkConstWithLevelParams___spec__1(x_8, x_9); +x_11 = l_Lean_Expr_const___override(x_1, x_10); +lean_ctor_set(x_5, 0, x_11); +return x_5; +} +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; lean_object* x_18; +x_12 = lean_ctor_get(x_5, 0); +x_13 = lean_ctor_get(x_5, 1); +lean_inc(x_13); +lean_inc(x_12); +lean_dec(x_5); +x_14 = l_Lean_ConstantInfo_levelParams(x_12); +lean_dec(x_12); +x_15 = lean_box(0); +x_16 = l_List_mapTRAux___at_Lean_mkConstWithLevelParams___spec__1(x_14, x_15); +x_17 = l_Lean_Expr_const___override(x_1, x_16); +x_18 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_18, 0, x_17); +lean_ctor_set(x_18, 1, x_13); +return x_18; +} +} +else +{ +uint8_t x_19; +lean_dec(x_1); +x_19 = !lean_is_exclusive(x_5); +if (x_19 == 0) +{ +return x_5; +} +else +{ +lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_20 = lean_ctor_get(x_5, 0); +x_21 = lean_ctor_get(x_5, 1); +lean_inc(x_21); +lean_inc(x_20); +lean_dec(x_5); +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_EXPORT lean_object* l_Lean_Elab_pushInfoTree___at_Lean_registerInitAttrUnsafe___spec__16(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; uint8_t x_8; +x_5 = lean_st_ref_get(x_3, x_4); +x_6 = lean_ctor_get(x_5, 0); +lean_inc(x_6); +x_7 = lean_ctor_get(x_6, 6); +lean_inc(x_7); +lean_dec(x_6); +x_8 = lean_ctor_get_uint8(x_7, sizeof(void*)*2); +lean_dec(x_7); +if (x_8 == 0) +{ +uint8_t x_9; +lean_dec(x_1); +x_9 = !lean_is_exclusive(x_5); +if (x_9 == 0) +{ +lean_object* x_10; lean_object* x_11; +x_10 = lean_ctor_get(x_5, 0); +lean_dec(x_10); +x_11 = lean_box(0); +lean_ctor_set(x_5, 0, x_11); +return x_5; +} +else +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; +x_12 = lean_ctor_get(x_5, 1); +lean_inc(x_12); +lean_dec(x_5); +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_12); +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; +x_15 = lean_ctor_get(x_5, 1); +lean_inc(x_15); +lean_dec(x_5); +x_16 = lean_st_ref_take(x_3, x_15); +x_17 = lean_ctor_get(x_16, 0); +lean_inc(x_17); +x_18 = lean_ctor_get(x_17, 6); +lean_inc(x_18); +x_19 = lean_ctor_get(x_16, 1); +lean_inc(x_19); +lean_dec(x_16); +x_20 = !lean_is_exclusive(x_17); +if (x_20 == 0) +{ +lean_object* x_21; uint8_t x_22; +x_21 = lean_ctor_get(x_17, 6); +lean_dec(x_21); +x_22 = !lean_is_exclusive(x_18); +if (x_22 == 0) +{ +lean_object* x_23; lean_object* x_24; lean_object* x_25; uint8_t x_26; +x_23 = lean_ctor_get(x_18, 1); +x_24 = l_Std_PersistentArray_push___rarg(x_23, x_1); +lean_ctor_set(x_18, 1, x_24); +x_25 = lean_st_ref_set(x_3, x_17, x_19); +x_26 = !lean_is_exclusive(x_25); +if (x_26 == 0) +{ +lean_object* x_27; lean_object* x_28; +x_27 = lean_ctor_get(x_25, 0); +lean_dec(x_27); +x_28 = lean_box(0); +lean_ctor_set(x_25, 0, x_28); +return x_25; +} +else +{ +lean_object* x_29; lean_object* x_30; lean_object* x_31; +x_29 = lean_ctor_get(x_25, 1); +lean_inc(x_29); +lean_dec(x_25); +x_30 = lean_box(0); +x_31 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_31, 0, x_30); +lean_ctor_set(x_31, 1, x_29); +return x_31; +} +} +else +{ +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; lean_object* x_41; +x_32 = lean_ctor_get_uint8(x_18, sizeof(void*)*2); +x_33 = lean_ctor_get(x_18, 0); +x_34 = lean_ctor_get(x_18, 1); +lean_inc(x_34); +lean_inc(x_33); +lean_dec(x_18); +x_35 = l_Std_PersistentArray_push___rarg(x_34, x_1); +x_36 = lean_alloc_ctor(0, 2, 1); +lean_ctor_set(x_36, 0, x_33); +lean_ctor_set(x_36, 1, x_35); +lean_ctor_set_uint8(x_36, sizeof(void*)*2, x_32); +lean_ctor_set(x_17, 6, x_36); +x_37 = lean_st_ref_set(x_3, x_17, x_19); +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); +} +x_40 = lean_box(0); +if (lean_is_scalar(x_39)) { + x_41 = lean_alloc_ctor(0, 2, 0); +} else { + x_41 = x_39; +} +lean_ctor_set(x_41, 0, x_40); +lean_ctor_set(x_41, 1, x_38); +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; 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; +x_42 = lean_ctor_get(x_17, 0); +x_43 = lean_ctor_get(x_17, 1); +x_44 = lean_ctor_get(x_17, 2); +x_45 = lean_ctor_get(x_17, 3); +x_46 = lean_ctor_get(x_17, 4); +x_47 = lean_ctor_get(x_17, 5); +lean_inc(x_47); +lean_inc(x_46); +lean_inc(x_45); +lean_inc(x_44); +lean_inc(x_43); +lean_inc(x_42); +lean_dec(x_17); +x_48 = lean_ctor_get_uint8(x_18, sizeof(void*)*2); +x_49 = lean_ctor_get(x_18, 0); +lean_inc(x_49); +x_50 = lean_ctor_get(x_18, 1); +lean_inc(x_50); +if (lean_is_exclusive(x_18)) { + lean_ctor_release(x_18, 0); + lean_ctor_release(x_18, 1); + x_51 = x_18; +} else { + lean_dec_ref(x_18); + x_51 = lean_box(0); +} +x_52 = l_Std_PersistentArray_push___rarg(x_50, x_1); +if (lean_is_scalar(x_51)) { + x_53 = lean_alloc_ctor(0, 2, 1); +} else { + x_53 = x_51; +} +lean_ctor_set(x_53, 0, x_49); +lean_ctor_set(x_53, 1, x_52); +lean_ctor_set_uint8(x_53, sizeof(void*)*2, x_48); +x_54 = lean_alloc_ctor(0, 7, 0); +lean_ctor_set(x_54, 0, x_42); +lean_ctor_set(x_54, 1, x_43); +lean_ctor_set(x_54, 2, x_44); +lean_ctor_set(x_54, 3, x_45); +lean_ctor_set(x_54, 4, x_46); +lean_ctor_set(x_54, 5, x_47); +lean_ctor_set(x_54, 6, x_53); +x_55 = lean_st_ref_set(x_3, x_54, x_19); +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 = lean_box(0); +if (lean_is_scalar(x_57)) { + x_59 = lean_alloc_ctor(0, 2, 0); +} else { + x_59 = x_57; +} +lean_ctor_set(x_59, 0, x_58); +lean_ctor_set(x_59, 1, x_56); +return x_59; +} +} +} +} +static lean_object* _init_l_Lean_Elab_pushInfoLeaf___at_Lean_registerInitAttrUnsafe___spec__15___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = lean_unsigned_to_nat(32u); +x_2 = lean_mk_empty_array_with_capacity(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Elab_pushInfoLeaf___at_Lean_registerInitAttrUnsafe___spec__15___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Elab_pushInfoLeaf___at_Lean_registerInitAttrUnsafe___spec__15___closed__1; +x_2 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Elab_pushInfoLeaf___at_Lean_registerInitAttrUnsafe___spec__15___closed__3() { +_start: +{ +size_t x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; +x_1 = 5; +x_2 = l_Lean_Elab_pushInfoLeaf___at_Lean_registerInitAttrUnsafe___spec__15___closed__2; +x_3 = l_Lean_Elab_pushInfoLeaf___at_Lean_registerInitAttrUnsafe___spec__15___closed__1; +x_4 = lean_unsigned_to_nat(0u); +x_5 = lean_alloc_ctor(0, 4, sizeof(size_t)*1); +lean_ctor_set(x_5, 0, x_2); +lean_ctor_set(x_5, 1, x_3); +lean_ctor_set(x_5, 2, x_4); +lean_ctor_set(x_5, 3, x_4); +lean_ctor_set_usize(x_5, 4, x_1); +return x_5; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_registerInitAttrUnsafe___spec__15(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; uint8_t x_8; +x_5 = lean_st_ref_get(x_3, x_4); +x_6 = lean_ctor_get(x_5, 0); +lean_inc(x_6); +x_7 = lean_ctor_get(x_6, 6); +lean_inc(x_7); +lean_dec(x_6); +x_8 = lean_ctor_get_uint8(x_7, sizeof(void*)*2); +lean_dec(x_7); +if (x_8 == 0) +{ +uint8_t x_9; +lean_dec(x_1); +x_9 = !lean_is_exclusive(x_5); +if (x_9 == 0) +{ +lean_object* x_10; lean_object* x_11; +x_10 = lean_ctor_get(x_5, 0); +lean_dec(x_10); +x_11 = lean_box(0); +lean_ctor_set(x_5, 0, x_11); +return x_5; +} +else +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; +x_12 = lean_ctor_get(x_5, 1); +lean_inc(x_12); +lean_dec(x_5); +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_12); +return x_14; +} +} +else +{ +lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; +x_15 = lean_ctor_get(x_5, 1); +lean_inc(x_15); +lean_dec(x_5); +x_16 = l_Lean_Elab_pushInfoLeaf___at_Lean_registerInitAttrUnsafe___spec__15___closed__3; +x_17 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_17, 0, x_1); +lean_ctor_set(x_17, 1, x_16); +x_18 = l_Lean_Elab_pushInfoTree___at_Lean_registerInitAttrUnsafe___spec__16(x_17, x_2, x_3, x_15); +return x_18; +} +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_addConstInfo___at_Lean_registerInitAttrUnsafe___spec__13(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_mkConstWithLevelParams___at_Lean_registerInitAttrUnsafe___spec__14(x_2, x_4, x_5, x_6); +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; uint8_t x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; +x_8 = lean_ctor_get(x_7, 0); +lean_inc(x_8); +x_9 = lean_ctor_get(x_7, 1); +lean_inc(x_9); +lean_dec(x_7); +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_1); +x_12 = l_Lean_LocalContext_empty; +x_13 = 0; +x_14 = lean_alloc_ctor(0, 4, 1); +lean_ctor_set(x_14, 0, x_11); +lean_ctor_set(x_14, 1, x_12); +lean_ctor_set(x_14, 2, x_3); +lean_ctor_set(x_14, 3, x_8); +lean_ctor_set_uint8(x_14, sizeof(void*)*4, x_13); +x_15 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_15, 0, x_14); +x_16 = l_Lean_Elab_pushInfoLeaf___at_Lean_registerInitAttrUnsafe___spec__15(x_15, x_4, x_5, x_9); +lean_dec(x_4); +return x_16; +} +else +{ +uint8_t x_17; +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_1); +x_17 = !lean_is_exclusive(x_7); +if (x_17 == 0) +{ +return x_7; +} +else +{ +lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_18 = lean_ctor_get(x_7, 0); +x_19 = lean_ctor_get(x_7, 1); +lean_inc(x_19); +lean_inc(x_18); +lean_dec(x_7); +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_EXPORT lean_object* l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_registerInitAttrUnsafe___spec__4___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_6; +x_6 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_6, 0, x_1); +lean_ctor_set(x_6, 1, x_5); +return x_6; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_registerInitAttrUnsafe___spec__4(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_inc(x_4); +lean_inc(x_3); +lean_inc(x_1); +x_6 = l_Lean_resolveGlobalConstNoOverload___at_Lean_registerInitAttrUnsafe___spec__5(x_1, x_3, x_4, x_5); +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; uint8_t x_12; +x_7 = lean_ctor_get(x_6, 0); +lean_inc(x_7); +x_8 = lean_ctor_get(x_6, 1); +lean_inc(x_8); +lean_dec(x_6); +x_9 = lean_st_ref_get(x_4, x_8); +x_10 = lean_ctor_get(x_9, 0); +lean_inc(x_10); +x_11 = lean_ctor_get(x_10, 6); +lean_inc(x_11); +lean_dec(x_10); +x_12 = lean_ctor_get_uint8(x_11, sizeof(void*)*2); +lean_dec(x_11); +if (x_12 == 0) +{ +uint8_t x_13; +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_13 = !lean_is_exclusive(x_9); +if (x_13 == 0) +{ +lean_object* x_14; +x_14 = lean_ctor_get(x_9, 0); +lean_dec(x_14); +lean_ctor_set(x_9, 0, x_7); +return x_9; +} +else +{ +lean_object* x_15; lean_object* x_16; +x_15 = lean_ctor_get(x_9, 1); +lean_inc(x_15); +lean_dec(x_9); +x_16 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_16, 0, x_7); +lean_ctor_set(x_16, 1, x_15); +return x_16; +} +} +else +{ +lean_object* x_17; lean_object* x_18; +x_17 = lean_ctor_get(x_9, 1); +lean_inc(x_17); +lean_dec(x_9); +lean_inc(x_7); +x_18 = l_Lean_Elab_addConstInfo___at_Lean_registerInitAttrUnsafe___spec__13(x_1, x_7, x_2, x_3, x_4, x_17); +lean_dec(x_4); +if (lean_obj_tag(x_18) == 0) +{ +uint8_t x_19; +x_19 = !lean_is_exclusive(x_18); +if (x_19 == 0) +{ +lean_object* x_20; +x_20 = lean_ctor_get(x_18, 0); +lean_dec(x_20); +lean_ctor_set(x_18, 0, x_7); +return x_18; +} +else +{ +lean_object* x_21; lean_object* x_22; +x_21 = lean_ctor_get(x_18, 1); +lean_inc(x_21); +lean_dec(x_18); +x_22 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_22, 0, x_7); +lean_ctor_set(x_22, 1, x_21); +return x_22; +} +} +else +{ +uint8_t x_23; +lean_dec(x_7); +x_23 = !lean_is_exclusive(x_18); +if (x_23 == 0) +{ +return x_18; +} +else +{ +lean_object* x_24; lean_object* x_25; lean_object* x_26; +x_24 = lean_ctor_get(x_18, 0); +x_25 = lean_ctor_get(x_18, 1); +lean_inc(x_25); +lean_inc(x_24); +lean_dec(x_18); +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; +} +} +} +} +else +{ +uint8_t x_27; +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_27 = !lean_is_exclusive(x_6); +if (x_27 == 0) +{ +return x_6; +} +else +{ +lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_28 = lean_ctor_get(x_6, 0); +x_29 = lean_ctor_get(x_6, 1); +lean_inc(x_29); +lean_inc(x_28); +lean_dec(x_6); +x_30 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_30, 0, x_28); +lean_ctor_set(x_30, 1, x_29); +return x_30; +} +} +} +} +LEAN_EXPORT lean_object* l_IO_ofExcept___at_Lean_registerInitAttrUnsafe___spec__17(lean_object* x_1, lean_object* x_2) { _start: { if (lean_obj_tag(x_1) == 0) @@ -1238,7 +1815,7 @@ return x_7; } } } -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_registerInitAttrUnsafe___spec__13(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_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_registerInitAttrUnsafe___spec__18(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) { _start: { uint8_t x_9; @@ -1313,7 +1890,7 @@ lean_dec(x_13); x_26 = lean_ctor_get(x_1, 1); x_27 = lean_eval_const(x_2, x_26, x_12); lean_dec(x_12); -x_28 = l_IO_ofExcept___at_Lean_registerInitAttrUnsafe___spec__12(x_27, x_8); +x_28 = l_IO_ofExcept___at_Lean_registerInitAttrUnsafe___spec__17(x_27, x_8); lean_dec(x_27); if (lean_obj_tag(x_28) == 0) { @@ -1387,7 +1964,7 @@ return x_44; } } } -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_registerInitAttrUnsafe___spec__14(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_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_registerInitAttrUnsafe___spec__19(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) { _start: { uint8_t x_9; @@ -1460,7 +2037,7 @@ x_29 = lean_usize_of_nat(x_28); lean_dec(x_28); x_30 = 0; x_31 = lean_box(0); -x_32 = l_Array_forInUnsafe_loop___at_Lean_registerInitAttrUnsafe___spec__13(x_1, x_2, x_21, x_29, x_30, x_31, x_7, x_27); +x_32 = l_Array_forInUnsafe_loop___at_Lean_registerInitAttrUnsafe___spec__18(x_1, x_2, x_21, x_29, x_30, x_31, x_7, x_27); lean_dec(x_21); if (lean_obj_tag(x_32) == 0) { @@ -1568,7 +2145,7 @@ x_58 = lean_usize_of_nat(x_57); lean_dec(x_57); x_59 = 0; x_60 = lean_box(0); -x_61 = l_Array_forInUnsafe_loop___at_Lean_registerInitAttrUnsafe___spec__13(x_1, x_2, x_49, x_58, x_59, x_60, x_7, x_56); +x_61 = l_Array_forInUnsafe_loop___at_Lean_registerInitAttrUnsafe___spec__18(x_1, x_2, x_49, x_58, x_59, x_60, x_7, x_56); lean_dec(x_49); if (lean_obj_tag(x_61) == 0) { @@ -1812,274 +2389,275 @@ return x_25; } else { -lean_object* x_26; lean_object* x_27; lean_object* x_28; +lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; x_26 = lean_ctor_get(x_9, 1); lean_inc(x_26); lean_dec(x_9); x_27 = lean_ctor_get(x_10, 0); lean_inc(x_27); lean_dec(x_10); +x_28 = lean_box(0); lean_inc(x_4); lean_inc(x_3); -x_28 = l_Lean_resolveGlobalConstNoOverload___at_Lean_registerInitAttrUnsafe___spec__4(x_27, x_3, x_4, x_26); -if (lean_obj_tag(x_28) == 0) +x_29 = l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_registerInitAttrUnsafe___spec__4(x_27, x_28, x_3, x_4, x_26); +if (lean_obj_tag(x_29) == 0) { -lean_object* x_29; lean_object* x_30; lean_object* x_31; -x_29 = lean_ctor_get(x_28, 0); -lean_inc(x_29); -x_30 = lean_ctor_get(x_28, 1); +lean_object* x_30; lean_object* x_31; lean_object* x_32; +x_30 = lean_ctor_get(x_29, 0); lean_inc(x_30); -lean_dec(x_28); -lean_inc(x_29); -x_31 = l_Lean_getConstInfo___at_Lean_registerInitAttrUnsafe___spec__1(x_29, x_3, x_4, x_30); -if (lean_obj_tag(x_31) == 0) +x_31 = lean_ctor_get(x_29, 1); +lean_inc(x_31); +lean_dec(x_29); +lean_inc(x_30); +x_32 = l_Lean_getConstInfo___at_Lean_registerInitAttrUnsafe___spec__1(x_30, x_3, x_4, x_31); +if (lean_obj_tag(x_32) == 0) { -uint8_t x_32; -x_32 = !lean_is_exclusive(x_31); -if (x_32 == 0) +uint8_t x_33; +x_33 = !lean_is_exclusive(x_32); +if (x_33 == 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); -x_34 = lean_ctor_get(x_31, 1); -x_35 = l_Lean_ConstantInfo_type(x_33); -lean_dec(x_33); -x_36 = l___private_Lean_Compiler_InitAttr_0__Lean_getIOTypeArg(x_35); -lean_dec(x_35); -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; lean_object* x_42; -lean_free_object(x_31); -lean_dec(x_7); -x_37 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_37, 0, x_29); -x_38 = l_Lean_registerInitAttrUnsafe___lambda__1___closed__4; -x_39 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_39, 0, x_38); -lean_ctor_set(x_39, 1, x_37); -x_40 = l_Lean_registerInitAttrUnsafe___lambda__1___closed__6; -x_41 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_41, 0, x_39); -lean_ctor_set(x_41, 1, x_40); -x_42 = l_Lean_throwError___at_Lean_registerInitAttrUnsafe___spec__3(x_41, x_3, x_4, x_34); -lean_dec(x_4); -lean_dec(x_3); -return x_42; -} -else -{ -lean_object* x_43; lean_object* x_44; uint8_t x_45; -x_43 = lean_ctor_get(x_36, 0); -lean_inc(x_43); +lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; +x_34 = lean_ctor_get(x_32, 0); +x_35 = lean_ctor_get(x_32, 1); +x_36 = l_Lean_ConstantInfo_type(x_34); +lean_dec(x_34); +x_37 = l___private_Lean_Compiler_InitAttr_0__Lean_getIOTypeArg(x_36); lean_dec(x_36); -x_44 = l_Lean_ConstantInfo_type(x_7); +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_free_object(x_32); lean_dec(x_7); -x_45 = lean_expr_eqv(x_44, x_43); -lean_dec(x_43); +x_38 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_38, 0, x_30); +x_39 = l_Lean_registerInitAttrUnsafe___lambda__1___closed__4; +x_40 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_40, 0, x_39); +lean_ctor_set(x_40, 1, x_38); +x_41 = l_Lean_registerInitAttrUnsafe___lambda__1___closed__6; +x_42 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_42, 0, x_40); +lean_ctor_set(x_42, 1, x_41); +x_43 = l_Lean_throwError___at_Lean_registerInitAttrUnsafe___spec__3(x_42, x_3, x_4, x_35); +lean_dec(x_4); +lean_dec(x_3); +return x_43; +} +else +{ +lean_object* x_44; lean_object* x_45; uint8_t x_46; +x_44 = lean_ctor_get(x_37, 0); +lean_inc(x_44); +lean_dec(x_37); +x_45 = l_Lean_ConstantInfo_type(x_7); +lean_dec(x_7); +x_46 = lean_expr_eqv(x_45, x_44); lean_dec(x_44); -if (x_45 == 0) +lean_dec(x_45); +if (x_46 == 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; -lean_free_object(x_31); -x_46 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_46, 0, x_29); -x_47 = l_Lean_registerInitAttrUnsafe___lambda__1___closed__4; -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_Lean_registerInitAttrUnsafe___lambda__1___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 = l_Lean_throwError___at_Lean_registerInitAttrUnsafe___spec__3(x_50, x_3, x_4, x_34); +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_free_object(x_32); +x_47 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_47, 0, x_30); +x_48 = l_Lean_registerInitAttrUnsafe___lambda__1___closed__4; +x_49 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_49, 0, x_48); +lean_ctor_set(x_49, 1, x_47); +x_50 = l_Lean_registerInitAttrUnsafe___lambda__1___closed__8; +x_51 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_51, 0, x_49); +lean_ctor_set(x_51, 1, x_50); +x_52 = l_Lean_throwError___at_Lean_registerInitAttrUnsafe___spec__3(x_51, x_3, x_4, x_35); lean_dec(x_4); lean_dec(x_3); -return x_51; +return x_52; } else { lean_dec(x_4); lean_dec(x_3); -lean_ctor_set(x_31, 0, x_29); -return x_31; +lean_ctor_set(x_32, 0, x_30); +return x_32; } } } else { -lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; -x_52 = lean_ctor_get(x_31, 0); -x_53 = lean_ctor_get(x_31, 1); +lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; +x_53 = lean_ctor_get(x_32, 0); +x_54 = lean_ctor_get(x_32, 1); +lean_inc(x_54); lean_inc(x_53); -lean_inc(x_52); -lean_dec(x_31); -x_54 = l_Lean_ConstantInfo_type(x_52); -lean_dec(x_52); -x_55 = l___private_Lean_Compiler_InitAttr_0__Lean_getIOTypeArg(x_54); -lean_dec(x_54); -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; lean_object* x_61; -lean_dec(x_7); -x_56 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_56, 0, x_29); -x_57 = l_Lean_registerInitAttrUnsafe___lambda__1___closed__4; -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_registerInitAttrUnsafe___lambda__1___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 = l_Lean_throwError___at_Lean_registerInitAttrUnsafe___spec__3(x_60, x_3, x_4, x_53); -lean_dec(x_4); -lean_dec(x_3); -return x_61; -} -else -{ -lean_object* x_62; lean_object* x_63; uint8_t x_64; -x_62 = lean_ctor_get(x_55, 0); -lean_inc(x_62); +lean_dec(x_32); +x_55 = l_Lean_ConstantInfo_type(x_53); +lean_dec(x_53); +x_56 = l___private_Lean_Compiler_InitAttr_0__Lean_getIOTypeArg(x_55); lean_dec(x_55); -x_63 = l_Lean_ConstantInfo_type(x_7); -lean_dec(x_7); -x_64 = lean_expr_eqv(x_63, x_62); -lean_dec(x_62); -lean_dec(x_63); -if (x_64 == 0) +if (lean_obj_tag(x_56) == 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 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_65, 0, x_29); -x_66 = l_Lean_registerInitAttrUnsafe___lambda__1___closed__4; -x_67 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_67, 0, x_66); -lean_ctor_set(x_67, 1, x_65); -x_68 = l_Lean_registerInitAttrUnsafe___lambda__1___closed__8; -x_69 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_69, 0, x_67); -lean_ctor_set(x_69, 1, x_68); -x_70 = l_Lean_throwError___at_Lean_registerInitAttrUnsafe___spec__3(x_69, x_3, x_4, x_53); +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_dec(x_7); +x_57 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_57, 0, x_30); +x_58 = l_Lean_registerInitAttrUnsafe___lambda__1___closed__4; +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_registerInitAttrUnsafe___lambda__1___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 = l_Lean_throwError___at_Lean_registerInitAttrUnsafe___spec__3(x_61, x_3, x_4, x_54); lean_dec(x_4); lean_dec(x_3); -return x_70; +return x_62; } else { -lean_object* x_71; +lean_object* x_63; lean_object* x_64; uint8_t x_65; +x_63 = lean_ctor_get(x_56, 0); +lean_inc(x_63); +lean_dec(x_56); +x_64 = l_Lean_ConstantInfo_type(x_7); +lean_dec(x_7); +x_65 = lean_expr_eqv(x_64, x_63); +lean_dec(x_63); +lean_dec(x_64); +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; +x_66 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_66, 0, x_30); +x_67 = l_Lean_registerInitAttrUnsafe___lambda__1___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_Lean_registerInitAttrUnsafe___lambda__1___closed__8; +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_throwError___at_Lean_registerInitAttrUnsafe___spec__3(x_70, x_3, x_4, x_54); lean_dec(x_4); lean_dec(x_3); -x_71 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_71, 0, x_29); -lean_ctor_set(x_71, 1, x_53); return x_71; } +else +{ +lean_object* x_72; +lean_dec(x_4); +lean_dec(x_3); +x_72 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_72, 0, x_30); +lean_ctor_set(x_72, 1, x_54); +return x_72; +} } } } else { -uint8_t x_72; -lean_dec(x_29); +uint8_t x_73; +lean_dec(x_30); lean_dec(x_7); lean_dec(x_4); lean_dec(x_3); -x_72 = !lean_is_exclusive(x_31); -if (x_72 == 0) +x_73 = !lean_is_exclusive(x_32); +if (x_73 == 0) { -return x_31; +return x_32; } else { -lean_object* x_73; lean_object* x_74; lean_object* x_75; -x_73 = lean_ctor_get(x_31, 0); -x_74 = lean_ctor_get(x_31, 1); +lean_object* x_74; lean_object* x_75; lean_object* x_76; +x_74 = lean_ctor_get(x_32, 0); +x_75 = lean_ctor_get(x_32, 1); +lean_inc(x_75); lean_inc(x_74); -lean_inc(x_73); -lean_dec(x_31); -x_75 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_75, 0, x_73); -lean_ctor_set(x_75, 1, x_74); -return x_75; +lean_dec(x_32); +x_76 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_76, 0, x_74); +lean_ctor_set(x_76, 1, x_75); +return x_76; } } } else { -uint8_t x_76; +uint8_t x_77; lean_dec(x_7); lean_dec(x_4); lean_dec(x_3); -x_76 = !lean_is_exclusive(x_28); -if (x_76 == 0) +x_77 = !lean_is_exclusive(x_29); +if (x_77 == 0) { -return x_28; +return x_29; } else { -lean_object* x_77; lean_object* x_78; lean_object* x_79; -x_77 = lean_ctor_get(x_28, 0); -x_78 = lean_ctor_get(x_28, 1); +lean_object* x_78; lean_object* x_79; lean_object* x_80; +x_78 = lean_ctor_get(x_29, 0); +x_79 = lean_ctor_get(x_29, 1); +lean_inc(x_79); lean_inc(x_78); -lean_inc(x_77); -lean_dec(x_28); -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; +lean_dec(x_29); +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_80; +uint8_t x_81; lean_dec(x_7); lean_dec(x_4); lean_dec(x_3); -x_80 = !lean_is_exclusive(x_9); -if (x_80 == 0) +x_81 = !lean_is_exclusive(x_9); +if (x_81 == 0) { return x_9; } else { -lean_object* x_81; lean_object* x_82; lean_object* x_83; -x_81 = lean_ctor_get(x_9, 0); -x_82 = lean_ctor_get(x_9, 1); +lean_object* x_82; lean_object* x_83; lean_object* x_84; +x_82 = lean_ctor_get(x_9, 0); +x_83 = lean_ctor_get(x_9, 1); +lean_inc(x_83); lean_inc(x_82); -lean_inc(x_81); lean_dec(x_9); -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; +x_84 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_84, 0, x_82); +lean_ctor_set(x_84, 1, x_83); +return x_84; } } } else { -uint8_t x_84; +uint8_t x_85; lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_84 = !lean_is_exclusive(x_6); -if (x_84 == 0) +x_85 = !lean_is_exclusive(x_6); +if (x_85 == 0) { return x_6; } else { -lean_object* x_85; lean_object* x_86; lean_object* x_87; -x_85 = lean_ctor_get(x_6, 0); -x_86 = lean_ctor_get(x_6, 1); +lean_object* x_86; lean_object* x_87; lean_object* x_88; +x_86 = lean_ctor_get(x_6, 0); +x_87 = lean_ctor_get(x_6, 1); +lean_inc(x_87); lean_inc(x_86); -lean_inc(x_85); lean_dec(x_6); -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; +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; } } } @@ -2177,7 +2755,7 @@ x_27 = lean_array_get_size(x_26); x_28 = lean_usize_of_nat(x_27); lean_dec(x_27); x_29 = 0; -x_30 = l_Array_forInUnsafe_loop___at_Lean_registerInitAttrUnsafe___spec__14(x_3, x_24, x_26, x_28, x_29, x_23, x_3, x_20); +x_30 = l_Array_forInUnsafe_loop___at_Lean_registerInitAttrUnsafe___spec__19(x_3, x_24, x_26, x_28, x_29, x_23, x_3, x_20); if (lean_obj_tag(x_30) == 0) { uint8_t x_31; @@ -2310,56 +2888,106 @@ lean_dec(x_2); return x_5; } } -LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_registerInitAttrUnsafe___spec__7___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_registerInitAttrUnsafe___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_Lean_throwError___at_Lean_registerInitAttrUnsafe___spec__7(x_1, x_2, x_3, x_4); +x_5 = l_Lean_throwError___at_Lean_registerInitAttrUnsafe___spec__8(x_1, x_2, x_3, x_4); lean_dec(x_3); lean_dec(x_2); return x_5; } } -LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_Lean_registerInitAttrUnsafe___spec__9___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_Lean_registerInitAttrUnsafe___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_Lean_resolveGlobalName___at_Lean_registerInitAttrUnsafe___spec__9(x_1, x_2, x_3, x_4); +x_5 = l_Lean_resolveGlobalName___at_Lean_registerInitAttrUnsafe___spec__10(x_1, x_2, x_3, x_4); lean_dec(x_3); return x_5; } } -LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at_Lean_registerInitAttrUnsafe___spec__10___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at_Lean_registerInitAttrUnsafe___spec__11___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_throwUnknownConstant___at_Lean_registerInitAttrUnsafe___spec__10(x_1, x_2, x_3, x_4); +x_5 = l_Lean_throwUnknownConstant___at_Lean_registerInitAttrUnsafe___spec__11(x_1, x_2, x_3, x_4); lean_dec(x_3); lean_dec(x_2); return x_5; } } -LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_registerInitAttrUnsafe___spec__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) { +LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_registerInitAttrUnsafe___spec__9___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_resolveGlobalConstCore___at_Lean_registerInitAttrUnsafe___spec__8___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6); +x_7 = l_Lean_resolveGlobalConstCore___at_Lean_registerInitAttrUnsafe___spec__9___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); return x_7; } } -LEAN_EXPORT lean_object* l_IO_ofExcept___at_Lean_registerInitAttrUnsafe___spec__12___boxed(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l_Lean_mkConstWithLevelParams___at_Lean_registerInitAttrUnsafe___spec__14___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_mkConstWithLevelParams___at_Lean_registerInitAttrUnsafe___spec__14(x_1, x_2, x_3, x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_5; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoTree___at_Lean_registerInitAttrUnsafe___spec__16___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_Elab_pushInfoTree___at_Lean_registerInitAttrUnsafe___spec__16(x_1, x_2, x_3, x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_5; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_registerInitAttrUnsafe___spec__15___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_Elab_pushInfoLeaf___at_Lean_registerInitAttrUnsafe___spec__15(x_1, x_2, x_3, x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_5; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_addConstInfo___at_Lean_registerInitAttrUnsafe___spec__13___boxed(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_addConstInfo___at_Lean_registerInitAttrUnsafe___spec__13(x_1, x_2, x_3, x_4, x_5, x_6); +lean_dec(x_5); +return x_7; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_registerInitAttrUnsafe___spec__4___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_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_registerInitAttrUnsafe___spec__4___lambda__1(x_1, x_2, x_3, x_4, x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_6; +} +} +LEAN_EXPORT lean_object* l_IO_ofExcept___at_Lean_registerInitAttrUnsafe___spec__17___boxed(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; -x_3 = l_IO_ofExcept___at_Lean_registerInitAttrUnsafe___spec__12(x_1, x_2); +x_3 = l_IO_ofExcept___at_Lean_registerInitAttrUnsafe___spec__17(x_1, x_2); lean_dec(x_1); return x_3; } } -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_registerInitAttrUnsafe___spec__13___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_registerInitAttrUnsafe___spec__18___boxed(lean_object* x_1, lean_object* x_2, 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: { size_t x_9; size_t x_10; lean_object* x_11; @@ -2367,7 +2995,7 @@ x_9 = lean_unbox_usize(x_4); lean_dec(x_4); x_10 = lean_unbox_usize(x_5); lean_dec(x_5); -x_11 = l_Array_forInUnsafe_loop___at_Lean_registerInitAttrUnsafe___spec__13(x_1, x_2, x_3, x_9, x_10, x_6, x_7, x_8); +x_11 = l_Array_forInUnsafe_loop___at_Lean_registerInitAttrUnsafe___spec__18(x_1, x_2, x_3, x_9, x_10, x_6, x_7, x_8); lean_dec(x_7); lean_dec(x_3); lean_dec(x_2); @@ -2375,7 +3003,7 @@ lean_dec(x_1); return x_11; } } -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_registerInitAttrUnsafe___spec__14___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_registerInitAttrUnsafe___spec__19___boxed(lean_object* x_1, lean_object* x_2, 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: { size_t x_9; size_t x_10; lean_object* x_11; @@ -2383,7 +3011,7 @@ x_9 = lean_unbox_usize(x_4); lean_dec(x_4); x_10 = lean_unbox_usize(x_5); lean_dec(x_5); -x_11 = l_Array_forInUnsafe_loop___at_Lean_registerInitAttrUnsafe___spec__14(x_1, x_2, x_3, x_9, x_10, x_6, x_7, x_8); +x_11 = l_Array_forInUnsafe_loop___at_Lean_registerInitAttrUnsafe___spec__19(x_1, x_2, x_3, x_9, x_10, x_6, x_7, x_8); lean_dec(x_7); lean_dec(x_3); lean_dec(x_2); @@ -3524,7 +4152,7 @@ static lean_object* _init_l_Lean_declareBuiltin___closed__12() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_resolveGlobalConstNoOverload___at_Lean_registerInitAttrUnsafe___spec__4___closed__3; +x_1 = l_Lean_resolveGlobalConstNoOverload___at_Lean_registerInitAttrUnsafe___spec__5___closed__3; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } @@ -3770,6 +4398,7 @@ return x_5; lean_object* initialize_Init(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Environment(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Attributes(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Elab_InfoTree_Main(uint8_t builtin, lean_object*); static bool _G_initialized = false; LEAN_EXPORT lean_object* initialize_Lean_Compiler_InitAttr(uint8_t builtin, lean_object* w) { lean_object * res; @@ -3784,6 +4413,9 @@ lean_dec_ref(res); res = initialize_Lean_Attributes(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); +res = initialize_Lean_Elab_InfoTree_Main(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); l___private_Lean_Compiler_InitAttr_0__Lean_getIOTypeArg___closed__1 = _init_l___private_Lean_Compiler_InitAttr_0__Lean_getIOTypeArg___closed__1(); lean_mark_persistent(l___private_Lean_Compiler_InitAttr_0__Lean_getIOTypeArg___closed__1); l___private_Lean_Compiler_InitAttr_0__Lean_isUnitType___closed__1 = _init_l___private_Lean_Compiler_InitAttr_0__Lean_isUnitType___closed__1(); @@ -3796,18 +4428,24 @@ l_Lean_getConstInfo___at_Lean_registerInitAttrUnsafe___spec__1___closed__3 = _in lean_mark_persistent(l_Lean_getConstInfo___at_Lean_registerInitAttrUnsafe___spec__1___closed__3); l_Lean_getConstInfo___at_Lean_registerInitAttrUnsafe___spec__1___closed__4 = _init_l_Lean_getConstInfo___at_Lean_registerInitAttrUnsafe___spec__1___closed__4(); lean_mark_persistent(l_Lean_getConstInfo___at_Lean_registerInitAttrUnsafe___spec__1___closed__4); -l_Lean_resolveGlobalConst___at_Lean_registerInitAttrUnsafe___spec__5___closed__1 = _init_l_Lean_resolveGlobalConst___at_Lean_registerInitAttrUnsafe___spec__5___closed__1(); -lean_mark_persistent(l_Lean_resolveGlobalConst___at_Lean_registerInitAttrUnsafe___spec__5___closed__1); -l_Lean_resolveGlobalConst___at_Lean_registerInitAttrUnsafe___spec__5___closed__2 = _init_l_Lean_resolveGlobalConst___at_Lean_registerInitAttrUnsafe___spec__5___closed__2(); -lean_mark_persistent(l_Lean_resolveGlobalConst___at_Lean_registerInitAttrUnsafe___spec__5___closed__2); -l_Lean_resolveGlobalConst___at_Lean_registerInitAttrUnsafe___spec__5___closed__3 = _init_l_Lean_resolveGlobalConst___at_Lean_registerInitAttrUnsafe___spec__5___closed__3(); -lean_mark_persistent(l_Lean_resolveGlobalConst___at_Lean_registerInitAttrUnsafe___spec__5___closed__3); -l_Lean_resolveGlobalConstNoOverload___at_Lean_registerInitAttrUnsafe___spec__4___closed__1 = _init_l_Lean_resolveGlobalConstNoOverload___at_Lean_registerInitAttrUnsafe___spec__4___closed__1(); -lean_mark_persistent(l_Lean_resolveGlobalConstNoOverload___at_Lean_registerInitAttrUnsafe___spec__4___closed__1); -l_Lean_resolveGlobalConstNoOverload___at_Lean_registerInitAttrUnsafe___spec__4___closed__2 = _init_l_Lean_resolveGlobalConstNoOverload___at_Lean_registerInitAttrUnsafe___spec__4___closed__2(); -lean_mark_persistent(l_Lean_resolveGlobalConstNoOverload___at_Lean_registerInitAttrUnsafe___spec__4___closed__2); -l_Lean_resolveGlobalConstNoOverload___at_Lean_registerInitAttrUnsafe___spec__4___closed__3 = _init_l_Lean_resolveGlobalConstNoOverload___at_Lean_registerInitAttrUnsafe___spec__4___closed__3(); -lean_mark_persistent(l_Lean_resolveGlobalConstNoOverload___at_Lean_registerInitAttrUnsafe___spec__4___closed__3); +l_Lean_resolveGlobalConst___at_Lean_registerInitAttrUnsafe___spec__6___closed__1 = _init_l_Lean_resolveGlobalConst___at_Lean_registerInitAttrUnsafe___spec__6___closed__1(); +lean_mark_persistent(l_Lean_resolveGlobalConst___at_Lean_registerInitAttrUnsafe___spec__6___closed__1); +l_Lean_resolveGlobalConst___at_Lean_registerInitAttrUnsafe___spec__6___closed__2 = _init_l_Lean_resolveGlobalConst___at_Lean_registerInitAttrUnsafe___spec__6___closed__2(); +lean_mark_persistent(l_Lean_resolveGlobalConst___at_Lean_registerInitAttrUnsafe___spec__6___closed__2); +l_Lean_resolveGlobalConst___at_Lean_registerInitAttrUnsafe___spec__6___closed__3 = _init_l_Lean_resolveGlobalConst___at_Lean_registerInitAttrUnsafe___spec__6___closed__3(); +lean_mark_persistent(l_Lean_resolveGlobalConst___at_Lean_registerInitAttrUnsafe___spec__6___closed__3); +l_Lean_resolveGlobalConstNoOverload___at_Lean_registerInitAttrUnsafe___spec__5___closed__1 = _init_l_Lean_resolveGlobalConstNoOverload___at_Lean_registerInitAttrUnsafe___spec__5___closed__1(); +lean_mark_persistent(l_Lean_resolveGlobalConstNoOverload___at_Lean_registerInitAttrUnsafe___spec__5___closed__1); +l_Lean_resolveGlobalConstNoOverload___at_Lean_registerInitAttrUnsafe___spec__5___closed__2 = _init_l_Lean_resolveGlobalConstNoOverload___at_Lean_registerInitAttrUnsafe___spec__5___closed__2(); +lean_mark_persistent(l_Lean_resolveGlobalConstNoOverload___at_Lean_registerInitAttrUnsafe___spec__5___closed__2); +l_Lean_resolveGlobalConstNoOverload___at_Lean_registerInitAttrUnsafe___spec__5___closed__3 = _init_l_Lean_resolveGlobalConstNoOverload___at_Lean_registerInitAttrUnsafe___spec__5___closed__3(); +lean_mark_persistent(l_Lean_resolveGlobalConstNoOverload___at_Lean_registerInitAttrUnsafe___spec__5___closed__3); +l_Lean_Elab_pushInfoLeaf___at_Lean_registerInitAttrUnsafe___spec__15___closed__1 = _init_l_Lean_Elab_pushInfoLeaf___at_Lean_registerInitAttrUnsafe___spec__15___closed__1(); +lean_mark_persistent(l_Lean_Elab_pushInfoLeaf___at_Lean_registerInitAttrUnsafe___spec__15___closed__1); +l_Lean_Elab_pushInfoLeaf___at_Lean_registerInitAttrUnsafe___spec__15___closed__2 = _init_l_Lean_Elab_pushInfoLeaf___at_Lean_registerInitAttrUnsafe___spec__15___closed__2(); +lean_mark_persistent(l_Lean_Elab_pushInfoLeaf___at_Lean_registerInitAttrUnsafe___spec__15___closed__2); +l_Lean_Elab_pushInfoLeaf___at_Lean_registerInitAttrUnsafe___spec__15___closed__3 = _init_l_Lean_Elab_pushInfoLeaf___at_Lean_registerInitAttrUnsafe___spec__15___closed__3(); +lean_mark_persistent(l_Lean_Elab_pushInfoLeaf___at_Lean_registerInitAttrUnsafe___spec__15___closed__3); l_Lean_registerInitAttrUnsafe___lambda__1___closed__1 = _init_l_Lean_registerInitAttrUnsafe___lambda__1___closed__1(); lean_mark_persistent(l_Lean_registerInitAttrUnsafe___lambda__1___closed__1); l_Lean_registerInitAttrUnsafe___lambda__1___closed__2 = _init_l_Lean_registerInitAttrUnsafe___lambda__1___closed__2(); diff --git a/stage0/stdlib/Lean/Compiler/JoinPoints.c b/stage0/stdlib/Lean/Compiler/JoinPoints.c new file mode 100644 index 0000000000..db98d6783c --- /dev/null +++ b/stage0/stdlib/Lean/Compiler/JoinPoints.c @@ -0,0 +1,1831 @@ +// Lean compiler output +// Module: Lean.Compiler.JoinPoints +// Imports: Init Lean.Compiler.CompilerM +#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* l_Lean_Compiler_visitLetImp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +size_t lean_usize_add(size_t, size_t); +LEAN_EXPORT lean_object* l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_LocalDecl_userName(lean_object*); +uint8_t lean_usize_dec_eq(size_t, size_t); +lean_object* lean_array_uget(lean_object*, size_t); +lean_object* l_Lean_Compiler_findDecl_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__3; +lean_object* lean_st_ref_get(lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__7; +LEAN_EXPORT lean_object* l_Lean_Compiler_JoinPointChecker_checkJoinPoints_goLetValue(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__5; +static lean_object* l_Lean_Compiler_JoinPointChecker_checkJoinPoints_goLambda___closed__1; +lean_object* lean_array_get_size(lean_object*); +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___spec__1(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* lean_string_append(lean_object*, lean_object*); +lean_object* l_Lean_Compiler_withNewScopeImp___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___closed__1; +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_ReaderT_bind___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__3(lean_object*, lean_object*); +lean_object* lean_nat_add(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_JoinPointChecker_checkJoinPoints(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_JoinPointChecker_jpArity(lean_object*); +lean_object* l_Lean_LocalDecl_value(lean_object*); +static lean_object* l_panic___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__1___closed__2; +LEAN_EXPORT lean_object* l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_throwError___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__2___closed__1; +lean_object* l_Lean_Name_toString(lean_object*, uint8_t); +LEAN_EXPORT lean_object* l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__6; +lean_object* l_instInhabited___rarg(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_JoinPointChecker_containsNoJp___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_panic___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__1___closed__1; +lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(lean_object*, lean_object*); +lean_object* l_Std_PersistentHashMap_mkEmptyEntriesArray(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_ReaderT_bind___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__3___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_withNewScope___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_JoinPointChecker_checkJoinPoints_goLambda___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* lean_expr_dbg_to_string(lean_object*); +static lean_object* l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__8; +lean_object* l___private_Init_Util_0__mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___closed__5; +lean_object* l_Lean_Expr_consumeMData(lean_object*); +static lean_object* l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__9; +LEAN_EXPORT lean_object* l_Lean_Compiler_JoinPointChecker_jpArity_go___boxed(lean_object*); +size_t lean_usize_of_nat(lean_object*); +static lean_object* l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__2; +static lean_object* l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___closed__7; +LEAN_EXPORT lean_object* l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__1; +LEAN_EXPORT lean_object* l_Lean_Compiler_JoinPointChecker_jpArity___boxed(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_JoinPointChecker_containsNoJp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___closed__3; +lean_object* l_Lean_LocalDecl_type(lean_object*); +static lean_object* l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__4; +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_throwError___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__2___closed__2; +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___spec__2(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +uint8_t lean_nat_dec_le(lean_object*, lean_object*); +extern lean_object* l_Lean_Core_instMonadCoreM; +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_JoinPointChecker_containsNoJp___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_panic___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Compiler_visitLambda___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +uint8_t l_Lean_LocalDecl_isJp(lean_object*); +static lean_object* l_Lean_throwError___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__2___closed__6; +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); +static lean_object* l_Lean_throwError___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__2___closed__3; +static lean_object* l_Lean_throwError___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__2___closed__5; +lean_object* lean_panic_fn(lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___closed__2; +LEAN_EXPORT lean_object* l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___closed__6; +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_ReaderT_instMonadReaderT___rarg(lean_object*); +static lean_object* l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___closed__8; +lean_object* l_Lean_Compiler_isCasesApp_x3f(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___closed__9; +lean_object* l_Lean_Compiler_visitMatch___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_throwError___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__2___closed__4; +static lean_object* l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___closed__4; +static lean_object* l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__10; +LEAN_EXPORT lean_object* l_Lean_Compiler_JoinPointChecker_jpArity_go(lean_object*); +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +extern lean_object* l_instInhabitedPUnit; +LEAN_EXPORT lean_object* l_Lean_Compiler_JoinPointChecker_checkJoinPoints_goLambda___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_JoinPointChecker_checkJoinPoints_goLambda(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +uint8_t lean_nat_dec_lt(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_JoinPointChecker_jpArity_go(lean_object* x_1) { +_start: +{ +if (lean_obj_tag(x_1) == 6) +{ +lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; +x_2 = lean_ctor_get(x_1, 2); +x_3 = l_Lean_Compiler_JoinPointChecker_jpArity_go(x_2); +x_4 = lean_unsigned_to_nat(1u); +x_5 = lean_nat_add(x_4, x_3); +lean_dec(x_3); +return x_5; +} +else +{ +lean_object* x_6; +x_6 = lean_unsigned_to_nat(0u); +return x_6; +} +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_JoinPointChecker_jpArity_go___boxed(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = l_Lean_Compiler_JoinPointChecker_jpArity_go(x_1); +lean_dec(x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_JoinPointChecker_jpArity(lean_object* x_1) { +_start: +{ +lean_object* x_2; lean_object* x_3; +x_2 = l_Lean_LocalDecl_value(x_1); +x_3 = l_Lean_Compiler_JoinPointChecker_jpArity_go(x_2); +lean_dec(x_2); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_JoinPointChecker_jpArity___boxed(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = l_Lean_Compiler_JoinPointChecker_jpArity(x_1); +lean_dec(x_1); +return x_2; +} +} +static lean_object* _init_l_panic___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__1___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Core_instMonadCoreM; +x_2 = l_ReaderT_instMonadReaderT___rarg(x_1); +return x_2; +} +} +static lean_object* _init_l_panic___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__1___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_panic___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__1___closed__1; +x_2 = l_instInhabitedPUnit; +x_3 = l_instInhabited___rarg(x_1, x_2); +return x_3; +} +} +LEAN_EXPORT lean_object* l_panic___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__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_6; lean_object* x_7; lean_object* x_8; +x_6 = l_panic___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__1___closed__2; +x_7 = lean_panic_fn(x_6, x_1); +x_8 = lean_apply_4(x_7, x_2, x_3, x_4, x_5); +return x_8; +} +} +static lean_object* _init_l_Lean_throwError___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__2___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = l_Std_PersistentHashMap_mkEmptyEntriesArray(lean_box(0), lean_box(0)); +return x_1; +} +} +static lean_object* _init_l_Lean_throwError___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__2___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_throwError___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__2___closed__1; +x_2 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_throwError___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__2___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_throwError___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__2___closed__2; +x_2 = lean_unsigned_to_nat(0u); +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_throwError___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__2___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_throwError___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__2___closed__2; +x_2 = lean_unsigned_to_nat(0u); +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_throwError___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__2___closed__5() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_throwError___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__2___closed__2; +x_2 = lean_unsigned_to_nat(0u); +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_throwError___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__2___closed__6() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; +x_1 = lean_unsigned_to_nat(0u); +x_2 = l_Lean_throwError___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__2___closed__3; +x_3 = l_Lean_throwError___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__2___closed__4; +x_4 = l_Lean_throwError___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__2___closed__5; +x_5 = lean_alloc_ctor(0, 8, 0); +lean_ctor_set(x_5, 0, x_1); +lean_ctor_set(x_5, 1, x_1); +lean_ctor_set(x_5, 2, x_2); +lean_ctor_set(x_5, 3, x_3); +lean_ctor_set(x_5, 4, x_4); +lean_ctor_set(x_5, 5, x_2); +lean_ctor_set(x_5, 6, x_3); +lean_ctor_set(x_5, 7, x_3); +return x_5; +} +} +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__2(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; 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_6 = lean_ctor_get(x_3, 5); +x_7 = lean_st_ref_get(x_4, x_5); +x_8 = lean_ctor_get(x_7, 0); +lean_inc(x_8); +x_9 = lean_ctor_get(x_7, 1); +lean_inc(x_9); +lean_dec(x_7); +x_10 = lean_ctor_get(x_8, 0); +lean_inc(x_10); +lean_dec(x_8); +x_11 = lean_st_ref_get(x_4, x_9); +x_12 = lean_ctor_get(x_11, 1); +lean_inc(x_12); +lean_dec(x_11); +x_13 = lean_st_ref_get(x_2, x_12); +x_14 = !lean_is_exclusive(x_13); +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_20; lean_object* x_21; +x_15 = lean_ctor_get(x_13, 0); +x_16 = lean_ctor_get(x_15, 0); +lean_inc(x_16); +lean_dec(x_15); +x_17 = lean_ctor_get(x_3, 2); +x_18 = l_Lean_throwError___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__2___closed__6; +lean_inc(x_17); +x_19 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_19, 0, x_10); +lean_ctor_set(x_19, 1, x_18); +lean_ctor_set(x_19, 2, x_16); +lean_ctor_set(x_19, 3, x_17); +x_20 = lean_alloc_ctor(6, 2, 0); +lean_ctor_set(x_20, 0, x_19); +lean_ctor_set(x_20, 1, x_1); +lean_inc(x_6); +x_21 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_21, 0, x_6); +lean_ctor_set(x_21, 1, x_20); +lean_ctor_set_tag(x_13, 1); +lean_ctor_set(x_13, 0, x_21); +return x_13; +} +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; +x_22 = lean_ctor_get(x_13, 0); +x_23 = lean_ctor_get(x_13, 1); +lean_inc(x_23); +lean_inc(x_22); +lean_dec(x_13); +x_24 = lean_ctor_get(x_22, 0); +lean_inc(x_24); +lean_dec(x_22); +x_25 = lean_ctor_get(x_3, 2); +x_26 = l_Lean_throwError___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__2___closed__6; +lean_inc(x_25); +x_27 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_27, 0, x_10); +lean_ctor_set(x_27, 1, x_26); +lean_ctor_set(x_27, 2, x_24); +lean_ctor_set(x_27, 3, x_25); +x_28 = lean_alloc_ctor(6, 2, 0); +lean_ctor_set(x_28, 0, x_27); +lean_ctor_set(x_28, 1, x_1); +lean_inc(x_6); +x_29 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_29, 0, x_6); +lean_ctor_set(x_29, 1, x_28); +x_30 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_30, 0, x_29); +lean_ctor_set(x_30, 1, x_23); +return x_30; +} +} +} +LEAN_EXPORT lean_object* l_ReaderT_bind___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__3___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_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +x_7 = lean_apply_4(x_1, x_3, x_4, x_5, x_6); +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_7, 0); +lean_inc(x_8); +x_9 = lean_ctor_get(x_7, 1); +lean_inc(x_9); +lean_dec(x_7); +x_10 = lean_apply_5(x_2, x_8, x_3, x_4, x_5, x_9); +return x_10; +} +else +{ +uint8_t x_11; +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_11 = !lean_is_exclusive(x_7); +if (x_11 == 0) +{ +return x_7; +} +else +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; +x_12 = lean_ctor_get(x_7, 0); +x_13 = lean_ctor_get(x_7, 1); +lean_inc(x_13); +lean_inc(x_12); +lean_dec(x_7); +x_14 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_14, 0, x_12); +lean_ctor_set(x_14, 1, x_13); +return x_14; +} +} +} +} +LEAN_EXPORT lean_object* l_ReaderT_bind___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__3(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__3___rarg), 6, 0); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_withNewScope___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__4(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_Compiler_withNewScopeImp___rarg(x_1, x_2, x_3, x_4, x_5); +return x_6; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_JoinPointChecker_containsNoJp___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_6; lean_object* x_7; +x_6 = lean_ctor_get(x_1, 1); +lean_inc(x_6); +lean_dec(x_1); +x_7 = l_Lean_Compiler_JoinPointChecker_containsNoJp(x_6, x_2, x_3, x_4, x_5); +return x_7; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_JoinPointChecker_containsNoJp___lambda__2(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_inc(x_1); +x_6 = l_Lean_Compiler_JoinPointChecker_containsNoJp(x_1, x_2, x_3, x_4, x_5); +if (lean_obj_tag(x_6) == 0) +{ +uint8_t x_7; +x_7 = !lean_is_exclusive(x_6); +if (x_7 == 0) +{ +lean_object* x_8; +x_8 = lean_ctor_get(x_6, 0); +lean_dec(x_8); +lean_ctor_set(x_6, 0, x_1); +return x_6; +} +else +{ +lean_object* x_9; lean_object* x_10; +x_9 = lean_ctor_get(x_6, 1); +lean_inc(x_9); +lean_dec(x_6); +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; +} +} +else +{ +uint8_t x_11; +lean_dec(x_1); +x_11 = !lean_is_exclusive(x_6); +if (x_11 == 0) +{ +return x_6; +} +else +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; +x_12 = lean_ctor_get(x_6, 0); +x_13 = lean_ctor_get(x_6, 1); +lean_inc(x_13); +lean_inc(x_12); +lean_dec(x_6); +x_14 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_14, 0, x_12); +lean_ctor_set(x_14, 1, x_13); +return x_14; +} +} +} +} +static lean_object* _init_l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("Lean.Compiler.JoinPoints", 24); +return x_1; +} +} +static lean_object* _init_l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__2() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("Lean.Compiler.JoinPointChecker.containsNoJp", 43); +return x_1; +} +} +static lean_object* _init_l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__3() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("unreachable code has been reached", 33); +return x_1; +} +} +static lean_object* _init_l_Lean_Compiler_JoinPointChecker_containsNoJp___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_Compiler_JoinPointChecker_containsNoJp___closed__1; +x_2 = l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__2; +x_3 = lean_unsigned_to_nat(41u); +x_4 = lean_unsigned_to_nat(39u); +x_5 = l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__3; +x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); +return x_6; +} +} +static lean_object* _init_l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__5() { +_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_Compiler_JoinPointChecker_containsNoJp___closed__1; +x_2 = l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__2; +x_3 = lean_unsigned_to_nat(37u); +x_4 = lean_unsigned_to_nat(39u); +x_5 = l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__3; +x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); +return x_6; +} +} +static lean_object* _init_l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__6() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("Join point ", 11); +return x_1; +} +} +static lean_object* _init_l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__7() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes(" in forbidden position", 22); +return x_1; +} +} +static lean_object* _init_l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__8() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Compiler_JoinPointChecker_containsNoJp___lambda__1), 5, 0); +return x_1; +} +} +static lean_object* _init_l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__9() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Compiler_JoinPointChecker_containsNoJp___lambda__2), 5, 0); +return x_1; +} +} +static lean_object* _init_l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__10() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Compiler_JoinPointChecker_containsNoJp), 5, 0); +return x_1; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_JoinPointChecker_containsNoJp(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_Expr_consumeMData(x_1); +switch (lean_obj_tag(x_6)) { +case 0: +{ +lean_object* x_7; lean_object* x_8; +lean_dec(x_6); +lean_dec(x_1); +x_7 = l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__4; +x_8 = l_panic___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__1(x_7, x_2, x_3, x_4, x_5); +return x_8; +} +case 1: +{ +lean_object* x_9; lean_object* x_10; lean_object* x_11; +lean_dec(x_1); +x_9 = lean_ctor_get(x_6, 0); +lean_inc(x_9); +lean_dec(x_6); +x_10 = l_Lean_Compiler_findDecl_x3f(x_9, x_2, x_3, x_4, x_5); +x_11 = lean_ctor_get(x_10, 0); +lean_inc(x_11); +if (lean_obj_tag(x_11) == 0) +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; +x_12 = lean_ctor_get(x_10, 1); +lean_inc(x_12); +lean_dec(x_10); +x_13 = l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__5; +x_14 = l_panic___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__1(x_13, x_2, x_3, x_4, x_12); +return x_14; +} +else +{ +uint8_t x_15; +x_15 = !lean_is_exclusive(x_10); +if (x_15 == 0) +{ +lean_object* x_16; lean_object* x_17; lean_object* x_18; uint8_t x_19; +x_16 = lean_ctor_get(x_10, 1); +x_17 = lean_ctor_get(x_10, 0); +lean_dec(x_17); +x_18 = lean_ctor_get(x_11, 0); +lean_inc(x_18); +lean_dec(x_11); +x_19 = l_Lean_LocalDecl_isJp(x_18); +if (x_19 == 0) +{ +lean_object* x_20; +lean_dec(x_18); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_20 = lean_box(0); +lean_ctor_set(x_10, 0, x_20); +return x_10; +} +else +{ +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_free_object(x_10); +x_21 = l_Lean_LocalDecl_userName(x_18); +lean_dec(x_18); +x_22 = 1; +x_23 = l_Lean_Name_toString(x_21, x_22); +x_24 = l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__6; +x_25 = lean_string_append(x_24, x_23); +lean_dec(x_23); +x_26 = l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__7; +x_27 = lean_string_append(x_25, x_26); +x_28 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_28, 0, x_27); +x_29 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_29, 0, x_28); +x_30 = l_Lean_throwError___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__2(x_29, x_2, x_3, x_4, x_16); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_30; +} +} +else +{ +lean_object* x_31; lean_object* x_32; uint8_t x_33; +x_31 = lean_ctor_get(x_10, 1); +lean_inc(x_31); +lean_dec(x_10); +x_32 = lean_ctor_get(x_11, 0); +lean_inc(x_32); +lean_dec(x_11); +x_33 = l_Lean_LocalDecl_isJp(x_32); +if (x_33 == 0) +{ +lean_object* x_34; lean_object* x_35; +lean_dec(x_32); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_34 = lean_box(0); +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; +} +else +{ +lean_object* x_36; uint8_t 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_36 = l_Lean_LocalDecl_userName(x_32); +lean_dec(x_32); +x_37 = 1; +x_38 = l_Lean_Name_toString(x_36, x_37); +x_39 = l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__6; +x_40 = lean_string_append(x_39, x_38); +lean_dec(x_38); +x_41 = l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__7; +x_42 = lean_string_append(x_40, x_41); +x_43 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_43, 0, x_42); +x_44 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_44, 0, x_43); +x_45 = l_Lean_throwError___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__2(x_44, x_2, x_3, x_4, x_31); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_45; +} +} +} +} +case 2: +{ +lean_object* x_46; lean_object* x_47; +lean_dec(x_6); +lean_dec(x_1); +x_46 = l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__4; +x_47 = l_panic___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__1(x_46, x_2, x_3, x_4, x_5); +return x_47; +} +case 5: +{ +lean_object* x_48; lean_object* x_49; lean_object* x_50; +lean_dec(x_1); +x_48 = lean_ctor_get(x_6, 0); +lean_inc(x_48); +x_49 = lean_ctor_get(x_6, 1); +lean_inc(x_49); +lean_dec(x_6); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_50 = l_Lean_Compiler_JoinPointChecker_containsNoJp(x_48, x_2, x_3, x_4, x_5); +if (lean_obj_tag(x_50) == 0) +{ +lean_object* x_51; +x_51 = lean_ctor_get(x_50, 1); +lean_inc(x_51); +lean_dec(x_50); +x_1 = x_49; +x_5 = x_51; +goto _start; +} +else +{ +uint8_t x_53; +lean_dec(x_49); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_53 = !lean_is_exclusive(x_50); +if (x_53 == 0) +{ +return x_50; +} +else +{ +lean_object* x_54; lean_object* x_55; lean_object* x_56; +x_54 = lean_ctor_get(x_50, 0); +x_55 = lean_ctor_get(x_50, 1); +lean_inc(x_55); +lean_inc(x_54); +lean_dec(x_50); +x_56 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_56, 0, x_54); +lean_ctor_set(x_56, 1, x_55); +return x_56; +} +} +} +case 6: +{ +lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; +lean_dec(x_6); +x_57 = lean_alloc_closure((void*)(l_Lean_Compiler_visitLambda___boxed), 5, 1); +lean_closure_set(x_57, 0, x_1); +x_58 = l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__8; +x_59 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__3___rarg), 6, 2); +lean_closure_set(x_59, 0, x_57); +lean_closure_set(x_59, 1, x_58); +x_60 = l_Lean_Compiler_withNewScopeImp___rarg(x_59, x_2, x_3, x_4, x_5); +return x_60; +} +case 8: +{ +lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; +lean_dec(x_6); +x_61 = l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__9; +x_62 = lean_alloc_closure((void*)(l_Lean_Compiler_visitLetImp), 6, 2); +lean_closure_set(x_62, 0, x_1); +lean_closure_set(x_62, 1, x_61); +x_63 = l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__10; +x_64 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__3___rarg), 6, 2); +lean_closure_set(x_64, 0, x_62); +lean_closure_set(x_64, 1, x_63); +x_65 = l_Lean_Compiler_withNewScopeImp___rarg(x_64, x_2, x_3, x_4, x_5); +return x_65; +} +case 10: +{ +lean_object* x_66; lean_object* x_67; +lean_dec(x_6); +lean_dec(x_1); +x_66 = l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__4; +x_67 = l_panic___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__1(x_66, x_2, x_3, x_4, x_5); +return x_67; +} +case 11: +{ +lean_object* x_68; +lean_dec(x_1); +x_68 = lean_ctor_get(x_6, 2); +lean_inc(x_68); +lean_dec(x_6); +x_1 = x_68; +goto _start; +} +default: +{ +lean_object* x_70; lean_object* x_71; +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_70 = lean_box(0); +x_71 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_71, 0, x_70); +lean_ctor_set(x_71, 1, x_5); +return x_71; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__2___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_throwError___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__2(x_1, x_2, x_3, x_4, x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_6; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_JoinPointChecker_checkJoinPoints_goLambda___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_6; lean_object* x_7; +x_6 = lean_ctor_get(x_1, 1); +x_7 = l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go(x_6, x_2, x_3, x_4, x_5); +return x_7; +} +} +static lean_object* _init_l_Lean_Compiler_JoinPointChecker_checkJoinPoints_goLambda___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Compiler_JoinPointChecker_checkJoinPoints_goLambda___lambda__1___boxed), 5, 0); +return x_1; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_JoinPointChecker_checkJoinPoints_goLambda(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; lean_object* x_9; +x_6 = lean_alloc_closure((void*)(l_Lean_Compiler_visitLambda___boxed), 5, 1); +lean_closure_set(x_6, 0, x_1); +x_7 = l_Lean_Compiler_JoinPointChecker_checkJoinPoints_goLambda___closed__1; +x_8 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__3___rarg), 6, 2); +lean_closure_set(x_8, 0, x_6); +lean_closure_set(x_8, 1, x_7); +x_9 = l_Lean_Compiler_withNewScopeImp___rarg(x_8, x_2, x_3, x_4, x_5); +return x_9; +} +} +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___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) { +_start: +{ +uint8_t x_9; +x_9 = lean_usize_dec_eq(x_2, x_3); +if (x_9 == 0) +{ +lean_object* x_10; lean_object* x_11; +lean_dec(x_4); +x_10 = lean_array_uget(x_1, x_2); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +x_11 = l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go(x_10, x_5, x_6, x_7, x_8); +lean_dec(x_10); +if (lean_obj_tag(x_11) == 0) +{ +lean_object* x_12; lean_object* x_13; size_t x_14; size_t x_15; +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); +x_14 = 1; +x_15 = lean_usize_add(x_2, x_14); +x_2 = x_15; +x_4 = x_12; +x_8 = x_13; +goto _start; +} +else +{ +uint8_t x_17; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +x_17 = !lean_is_exclusive(x_11); +if (x_17 == 0) +{ +return x_11; +} +else +{ +lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_18 = lean_ctor_get(x_11, 0); +x_19 = lean_ctor_get(x_11, 1); +lean_inc(x_19); +lean_inc(x_18); +lean_dec(x_11); +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_21; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +x_21 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_21, 0, x_4); +lean_ctor_set(x_21, 1, x_8); +return x_21; +} +} +} +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___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) { +_start: +{ +uint8_t x_9; +x_9 = lean_usize_dec_eq(x_2, x_3); +if (x_9 == 0) +{ +lean_object* x_10; lean_object* x_11; +lean_dec(x_4); +x_10 = lean_array_uget(x_1, x_2); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +x_11 = l_Lean_Compiler_JoinPointChecker_containsNoJp(x_10, x_5, x_6, x_7, x_8); +if (lean_obj_tag(x_11) == 0) +{ +lean_object* x_12; lean_object* x_13; size_t x_14; size_t x_15; +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); +x_14 = 1; +x_15 = lean_usize_add(x_2, x_14); +x_2 = x_15; +x_4 = x_12; +x_8 = x_13; +goto _start; +} +else +{ +uint8_t x_17; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +x_17 = !lean_is_exclusive(x_11); +if (x_17 == 0) +{ +return x_11; +} +else +{ +lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_18 = lean_ctor_get(x_11, 0); +x_19 = lean_ctor_get(x_11, 1); +lean_inc(x_19); +lean_inc(x_18); +lean_dec(x_11); +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_21; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +x_21 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_21, 0, x_4); +lean_ctor_set(x_21, 1, x_8); +return x_21; +} +} +} +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___spec__3(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; 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_6 = lean_ctor_get(x_3, 5); +x_7 = lean_st_ref_get(x_4, x_5); +x_8 = lean_ctor_get(x_7, 0); +lean_inc(x_8); +x_9 = lean_ctor_get(x_7, 1); +lean_inc(x_9); +lean_dec(x_7); +x_10 = lean_ctor_get(x_8, 0); +lean_inc(x_10); +lean_dec(x_8); +x_11 = lean_st_ref_get(x_4, x_9); +x_12 = lean_ctor_get(x_11, 1); +lean_inc(x_12); +lean_dec(x_11); +x_13 = lean_st_ref_get(x_2, x_12); +x_14 = !lean_is_exclusive(x_13); +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_20; lean_object* x_21; +x_15 = lean_ctor_get(x_13, 0); +x_16 = lean_ctor_get(x_15, 0); +lean_inc(x_16); +lean_dec(x_15); +x_17 = lean_ctor_get(x_3, 2); +x_18 = l_Lean_throwError___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__2___closed__6; +lean_inc(x_17); +x_19 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_19, 0, x_10); +lean_ctor_set(x_19, 1, x_18); +lean_ctor_set(x_19, 2, x_16); +lean_ctor_set(x_19, 3, x_17); +x_20 = lean_alloc_ctor(6, 2, 0); +lean_ctor_set(x_20, 0, x_19); +lean_ctor_set(x_20, 1, x_1); +lean_inc(x_6); +x_21 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_21, 0, x_6); +lean_ctor_set(x_21, 1, x_20); +lean_ctor_set_tag(x_13, 1); +lean_ctor_set(x_13, 0, x_21); +return x_13; +} +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; +x_22 = lean_ctor_get(x_13, 0); +x_23 = lean_ctor_get(x_13, 1); +lean_inc(x_23); +lean_inc(x_22); +lean_dec(x_13); +x_24 = lean_ctor_get(x_22, 0); +lean_inc(x_24); +lean_dec(x_22); +x_25 = lean_ctor_get(x_3, 2); +x_26 = l_Lean_throwError___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__2___closed__6; +lean_inc(x_25); +x_27 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_27, 0, x_10); +lean_ctor_set(x_27, 1, x_26); +lean_ctor_set(x_27, 2, x_24); +lean_ctor_set(x_27, 3, x_25); +x_28 = lean_alloc_ctor(6, 2, 0); +lean_ctor_set(x_28, 0, x_27); +lean_ctor_set(x_28, 1, x_1); +lean_inc(x_6); +x_29 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_29, 0, x_6); +lean_ctor_set(x_29, 1, x_28); +x_30 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_30, 0, x_29); +lean_ctor_set(x_30, 1, x_23); +return x_30; +} +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___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_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; +x_6 = lean_ctor_get(x_1, 1); +lean_inc(x_6); +x_7 = lean_ctor_get(x_1, 0); +lean_inc(x_7); +lean_dec(x_1); +x_8 = lean_ctor_get(x_6, 0); +lean_inc(x_8); +x_9 = lean_ctor_get(x_6, 1); +lean_inc(x_9); +lean_dec(x_6); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_10 = l_Lean_Compiler_JoinPointChecker_containsNoJp(x_7, x_2, x_3, x_4, x_5); +if (lean_obj_tag(x_10) == 0) +{ +lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; uint8_t x_15; lean_object* x_16; +x_11 = lean_ctor_get(x_10, 1); +lean_inc(x_11); +if (lean_is_exclusive(x_10)) { + lean_ctor_release(x_10, 0); + lean_ctor_release(x_10, 1); + x_12 = x_10; +} else { + lean_dec_ref(x_10); + x_12 = lean_box(0); +} +x_13 = lean_array_get_size(x_8); +x_14 = lean_unsigned_to_nat(0u); +x_15 = lean_nat_dec_lt(x_14, x_13); +if (x_15 == 0) +{ +lean_dec(x_13); +lean_dec(x_8); +x_16 = x_11; +goto block_28; +} +else +{ +uint8_t x_29; +x_29 = lean_nat_dec_le(x_13, x_13); +if (x_29 == 0) +{ +lean_dec(x_13); +lean_dec(x_8); +x_16 = x_11; +goto block_28; +} +else +{ +size_t x_30; size_t x_31; lean_object* x_32; lean_object* x_33; +x_30 = 0; +x_31 = lean_usize_of_nat(x_13); +lean_dec(x_13); +x_32 = lean_box(0); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_33 = l_Array_foldlMUnsafe_fold___at_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___spec__2(x_8, x_30, x_31, x_32, x_2, x_3, x_4, x_11); +lean_dec(x_8); +if (lean_obj_tag(x_33) == 0) +{ +lean_object* x_34; +x_34 = lean_ctor_get(x_33, 1); +lean_inc(x_34); +lean_dec(x_33); +x_16 = x_34; +goto block_28; +} +else +{ +uint8_t x_35; +lean_dec(x_12); +lean_dec(x_9); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_35 = !lean_is_exclusive(x_33); +if (x_35 == 0) +{ +return x_33; +} +else +{ +lean_object* x_36; lean_object* x_37; lean_object* x_38; +x_36 = lean_ctor_get(x_33, 0); +x_37 = lean_ctor_get(x_33, 1); +lean_inc(x_37); +lean_inc(x_36); +lean_dec(x_33); +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; +} +} +} +} +block_28: +{ +lean_object* x_17; uint8_t x_18; +x_17 = lean_array_get_size(x_9); +x_18 = lean_nat_dec_lt(x_14, x_17); +if (x_18 == 0) +{ +lean_object* x_19; lean_object* x_20; +lean_dec(x_17); +lean_dec(x_9); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_19 = lean_box(0); +if (lean_is_scalar(x_12)) { + x_20 = lean_alloc_ctor(0, 2, 0); +} else { + x_20 = x_12; +} +lean_ctor_set(x_20, 0, x_19); +lean_ctor_set(x_20, 1, x_16); +return x_20; +} +else +{ +uint8_t x_21; +x_21 = lean_nat_dec_le(x_17, x_17); +if (x_21 == 0) +{ +lean_object* x_22; lean_object* x_23; +lean_dec(x_17); +lean_dec(x_9); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_22 = lean_box(0); +if (lean_is_scalar(x_12)) { + x_23 = lean_alloc_ctor(0, 2, 0); +} else { + x_23 = x_12; +} +lean_ctor_set(x_23, 0, x_22); +lean_ctor_set(x_23, 1, x_16); +return x_23; +} +else +{ +size_t x_24; size_t x_25; lean_object* x_26; lean_object* x_27; +lean_dec(x_12); +x_24 = 0; +x_25 = lean_usize_of_nat(x_17); +lean_dec(x_17); +x_26 = lean_box(0); +x_27 = l_Array_foldlMUnsafe_fold___at_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___spec__1(x_9, x_24, x_25, x_26, x_2, x_3, x_4, x_16); +lean_dec(x_9); +return x_27; +} +} +} +} +else +{ +uint8_t x_39; +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_39 = !lean_is_exclusive(x_10); +if (x_39 == 0) +{ +return x_10; +} +else +{ +lean_object* x_40; lean_object* x_41; lean_object* x_42; +x_40 = lean_ctor_get(x_10, 0); +x_41 = lean_ctor_get(x_10, 1); +lean_inc(x_41); +lean_inc(x_40); +lean_dec(x_10); +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; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___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) { +_start: +{ +lean_object* x_7; +x_7 = l_Lean_Compiler_JoinPointChecker_containsNoJp(x_1, x_3, x_4, x_5, x_6); +return x_7; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___lambda__3(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_inc(x_1); +x_6 = l_Lean_Compiler_JoinPointChecker_checkJoinPoints_goLetValue(x_1, x_2, x_3, x_4, x_5); +if (lean_obj_tag(x_6) == 0) +{ +uint8_t x_7; +x_7 = !lean_is_exclusive(x_6); +if (x_7 == 0) +{ +lean_object* x_8; +x_8 = lean_ctor_get(x_6, 0); +lean_dec(x_8); +lean_ctor_set(x_6, 0, x_1); +return x_6; +} +else +{ +lean_object* x_9; lean_object* x_10; +x_9 = lean_ctor_get(x_6, 1); +lean_inc(x_9); +lean_dec(x_6); +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; +} +} +else +{ +uint8_t x_11; +lean_dec(x_1); +x_11 = !lean_is_exclusive(x_6); +if (x_11 == 0) +{ +return x_6; +} +else +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; +x_12 = lean_ctor_get(x_6, 0); +x_13 = lean_ctor_get(x_6, 1); +lean_inc(x_13); +lean_inc(x_12); +lean_dec(x_6); +x_14 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_14, 0, x_12); +lean_ctor_set(x_14, 1, x_13); +return x_14; +} +} +} +} +static lean_object* _init_l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("Lean.Compiler.JoinPointChecker.checkJoinPoints.go", 49); +return x_1; +} +} +static lean_object* _init_l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___closed__2() { +_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_Compiler_JoinPointChecker_containsNoJp___closed__1; +x_2 = l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___closed__1; +x_3 = lean_unsigned_to_nat(89u); +x_4 = lean_unsigned_to_nat(41u); +x_5 = l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__3; +x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); +return x_6; +} +} +static lean_object* _init_l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___closed__3() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___lambda__1), 5, 0); +return x_1; +} +} +static lean_object* _init_l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___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_Compiler_JoinPointChecker_containsNoJp___closed__1; +x_2 = l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___closed__1; +x_3 = lean_unsigned_to_nat(70u); +x_4 = lean_unsigned_to_nat(41u); +x_5 = l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__3; +x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); +return x_6; +} +} +static lean_object* _init_l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___closed__5() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes(" : ", 3); +return x_1; +} +} +static lean_object* _init_l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___closed__6() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes(" is not fully applied in ", 25); +return x_1; +} +} +static lean_object* _init_l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___closed__7() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("", 0); +return x_1; +} +} +static lean_object* _init_l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___closed__8() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___lambda__3), 5, 0); +return x_1; +} +} +static lean_object* _init_l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___closed__9() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___boxed), 5, 0); +return x_1; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go(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_Expr_consumeMData(x_1); +switch (lean_obj_tag(x_6)) { +case 0: +{ +lean_object* x_7; lean_object* x_8; +lean_dec(x_6); +x_7 = l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___closed__2; +x_8 = l_panic___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__1(x_7, x_2, x_3, x_4, x_5); +return x_8; +} +case 2: +{ +lean_object* x_9; lean_object* x_10; +lean_dec(x_6); +x_9 = l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___closed__2; +x_10 = l_panic___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__1(x_9, x_2, x_3, x_4, x_5); +return x_10; +} +case 5: +{ +lean_object* x_11; +x_11 = lean_ctor_get(x_6, 0); +lean_inc(x_11); +if (lean_obj_tag(x_11) == 1) +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; +x_12 = lean_ctor_get(x_6, 1); +lean_inc(x_12); +x_13 = lean_ctor_get(x_11, 0); +lean_inc(x_13); +lean_dec(x_11); +x_14 = l_Lean_Compiler_findDecl_x3f(x_13, x_2, x_3, x_4, x_5); +x_15 = lean_ctor_get(x_14, 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_dec(x_12); +lean_dec(x_6); +x_16 = lean_ctor_get(x_14, 1); +lean_inc(x_16); +lean_dec(x_14); +x_17 = l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___closed__4; +x_18 = l_panic___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__1(x_17, x_2, x_3, x_4, x_16); +return x_18; +} +else +{ +lean_object* x_19; lean_object* x_20; uint8_t x_21; +x_19 = lean_ctor_get(x_14, 1); +lean_inc(x_19); +lean_dec(x_14); +x_20 = lean_ctor_get(x_15, 0); +lean_inc(x_20); +lean_dec(x_15); +x_21 = l_Lean_LocalDecl_isJp(x_20); +if (x_21 == 0) +{ +lean_object* x_22; +lean_dec(x_20); +lean_dec(x_6); +x_22 = l_Lean_Compiler_JoinPointChecker_containsNoJp(x_12, x_2, x_3, x_4, x_19); +return x_22; +} +else +{ +lean_object* x_23; lean_object* x_24; lean_object* x_25; uint8_t x_26; +x_23 = lean_unsigned_to_nat(0u); +x_24 = l___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(x_6, x_23); +x_25 = l_Lean_Compiler_JoinPointChecker_jpArity(x_20); +x_26 = lean_nat_dec_eq(x_24, x_25); +lean_dec(x_25); +lean_dec(x_24); +if (x_26 == 0) +{ +lean_object* x_27; 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; 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; uint8_t x_46; +lean_dec(x_12); +x_27 = l_Lean_LocalDecl_userName(x_20); +x_28 = 1; +x_29 = l_Lean_Name_toString(x_27, x_28); +x_30 = l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__6; +x_31 = lean_string_append(x_30, x_29); +lean_dec(x_29); +x_32 = l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___closed__5; +x_33 = lean_string_append(x_31, x_32); +x_34 = l_Lean_LocalDecl_type(x_20); +lean_dec(x_20); +x_35 = lean_expr_dbg_to_string(x_34); +lean_dec(x_34); +x_36 = lean_string_append(x_33, x_35); +lean_dec(x_35); +x_37 = l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___closed__6; +x_38 = lean_string_append(x_36, x_37); +x_39 = lean_expr_dbg_to_string(x_6); +lean_dec(x_6); +x_40 = lean_string_append(x_38, x_39); +lean_dec(x_39); +x_41 = l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___closed__7; +x_42 = lean_string_append(x_40, x_41); +x_43 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_43, 0, x_42); +x_44 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_44, 0, x_43); +x_45 = l_Lean_throwError___at_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___spec__3(x_44, x_2, x_3, x_4, x_19); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_46 = !lean_is_exclusive(x_45); +if (x_46 == 0) +{ +return x_45; +} +else +{ +lean_object* x_47; lean_object* x_48; lean_object* x_49; +x_47 = lean_ctor_get(x_45, 0); +x_48 = lean_ctor_get(x_45, 1); +lean_inc(x_48); +lean_inc(x_47); +lean_dec(x_45); +x_49 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_49, 0, x_47); +lean_ctor_set(x_49, 1, x_48); +return x_49; +} +} +else +{ +lean_object* x_50; +lean_dec(x_20); +lean_dec(x_6); +x_50 = l_Lean_Compiler_JoinPointChecker_containsNoJp(x_12, x_2, x_3, x_4, x_19); +return x_50; +} +} +} +} +else +{ +lean_object* x_51; +lean_dec(x_11); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_6); +x_51 = l_Lean_Compiler_isCasesApp_x3f(x_6, x_3, x_4, x_5); +if (lean_obj_tag(x_51) == 0) +{ +lean_object* x_52; +x_52 = lean_ctor_get(x_51, 0); +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, 1); +lean_inc(x_53); +lean_dec(x_51); +x_54 = l_Lean_Compiler_JoinPointChecker_containsNoJp(x_6, x_2, x_3, x_4, x_53); +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; +x_55 = lean_ctor_get(x_51, 1); +lean_inc(x_55); +lean_dec(x_51); +x_56 = lean_ctor_get(x_52, 0); +lean_inc(x_56); +lean_dec(x_52); +x_57 = lean_alloc_closure((void*)(l_Lean_Compiler_visitMatch___boxed), 6, 2); +lean_closure_set(x_57, 0, x_6); +lean_closure_set(x_57, 1, x_56); +x_58 = l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___closed__3; +x_59 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__3___rarg), 6, 2); +lean_closure_set(x_59, 0, x_57); +lean_closure_set(x_59, 1, x_58); +x_60 = l_Lean_Compiler_withNewScopeImp___rarg(x_59, x_2, x_3, x_4, x_55); +return x_60; +} +} +else +{ +uint8_t x_61; +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_61 = !lean_is_exclusive(x_51); +if (x_61 == 0) +{ +return x_51; +} +else +{ +lean_object* x_62; lean_object* x_63; lean_object* x_64; +x_62 = lean_ctor_get(x_51, 0); +x_63 = lean_ctor_get(x_51, 1); +lean_inc(x_63); +lean_inc(x_62); +lean_dec(x_51); +x_64 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_64, 0, x_62); +lean_ctor_set(x_64, 1, x_63); +return x_64; +} +} +} +} +case 6: +{ +lean_object* x_65; +x_65 = l_Lean_Compiler_JoinPointChecker_containsNoJp(x_6, x_2, x_3, x_4, x_5); +return x_65; +} +case 8: +{ +lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; +x_66 = l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___closed__8; +x_67 = lean_alloc_closure((void*)(l_Lean_Compiler_visitLetImp), 6, 2); +lean_closure_set(x_67, 0, x_6); +lean_closure_set(x_67, 1, x_66); +x_68 = l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___closed__9; +x_69 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__3___rarg), 6, 2); +lean_closure_set(x_69, 0, x_67); +lean_closure_set(x_69, 1, x_68); +x_70 = l_Lean_Compiler_withNewScopeImp___rarg(x_69, x_2, x_3, x_4, x_5); +return x_70; +} +case 10: +{ +lean_object* x_71; lean_object* x_72; +lean_dec(x_6); +x_71 = l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___closed__2; +x_72 = l_panic___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__1(x_71, x_2, x_3, x_4, x_5); +return x_72; +} +case 11: +{ +lean_object* x_73; +x_73 = l_Lean_Compiler_JoinPointChecker_containsNoJp(x_6, x_2, x_3, x_4, x_5); +return x_73; +} +default: +{ +lean_object* x_74; lean_object* x_75; +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_74 = lean_box(0); +x_75 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_75, 0, x_74); +lean_ctor_set(x_75, 1, x_5); +return x_75; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_JoinPointChecker_checkJoinPoints_goLetValue(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_Expr_consumeMData(x_1); +lean_dec(x_1); +if (lean_obj_tag(x_6) == 6) +{ +lean_object* x_7; +x_7 = l_Lean_Compiler_JoinPointChecker_checkJoinPoints_goLambda(x_6, x_2, x_3, x_4, x_5); +return x_7; +} +else +{ +lean_object* x_8; +x_8 = l_Lean_Compiler_JoinPointChecker_containsNoJp(x_6, x_2, x_3, x_4, x_5); +return x_8; +} +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_JoinPointChecker_checkJoinPoints_goLambda___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_Compiler_JoinPointChecker_checkJoinPoints_goLambda___lambda__1(x_1, x_2, x_3, x_4, x_5); +lean_dec(x_1); +return x_6; +} +} +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___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) { +_start: +{ +size_t x_9; size_t x_10; lean_object* x_11; +x_9 = lean_unbox_usize(x_2); +lean_dec(x_2); +x_10 = lean_unbox_usize(x_3); +lean_dec(x_3); +x_11 = l_Array_foldlMUnsafe_fold___at_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___spec__1(x_1, x_9, x_10, x_4, x_5, x_6, x_7, x_8); +lean_dec(x_1); +return x_11; +} +} +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___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: +{ +size_t x_9; size_t x_10; lean_object* x_11; +x_9 = lean_unbox_usize(x_2); +lean_dec(x_2); +x_10 = lean_unbox_usize(x_3); +lean_dec(x_3); +x_11 = l_Array_foldlMUnsafe_fold___at_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___spec__2(x_1, x_9, x_10, x_4, x_5, x_6, x_7, x_8); +lean_dec(x_1); +return x_11; +} +} +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___spec__3___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_throwError___at_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___spec__3(x_1, x_2, x_3, x_4, x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_6; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___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) { +_start: +{ +lean_object* x_7; +x_7 = l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6); +lean_dec(x_2); +return x_7; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___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_Compiler_JoinPointChecker_checkJoinPoints_go(x_1, x_2, x_3, x_4, x_5); +lean_dec(x_1); +return x_6; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_JoinPointChecker_checkJoinPoints(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_Compiler_JoinPointChecker_checkJoinPoints_goLambda(x_1, x_2, x_3, x_4, x_5); +return x_6; +} +} +lean_object* initialize_Init(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Compiler_CompilerM(uint8_t builtin, lean_object*); +static bool _G_initialized = false; +LEAN_EXPORT lean_object* initialize_Lean_Compiler_JoinPoints(uint8_t builtin, lean_object* w) { +lean_object * res; +if (_G_initialized) return lean_io_result_mk_ok(lean_box(0)); +_G_initialized = true; +res = initialize_Init(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +res = initialize_Lean_Compiler_CompilerM(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +l_panic___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__1___closed__1 = _init_l_panic___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__1___closed__1(); +lean_mark_persistent(l_panic___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__1___closed__1); +l_panic___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__1___closed__2 = _init_l_panic___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__1___closed__2(); +lean_mark_persistent(l_panic___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__1___closed__2); +l_Lean_throwError___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__2___closed__1 = _init_l_Lean_throwError___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__2___closed__1(); +lean_mark_persistent(l_Lean_throwError___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__2___closed__1); +l_Lean_throwError___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__2___closed__2 = _init_l_Lean_throwError___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__2___closed__2(); +lean_mark_persistent(l_Lean_throwError___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__2___closed__2); +l_Lean_throwError___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__2___closed__3 = _init_l_Lean_throwError___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__2___closed__3(); +lean_mark_persistent(l_Lean_throwError___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__2___closed__3); +l_Lean_throwError___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__2___closed__4 = _init_l_Lean_throwError___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__2___closed__4(); +lean_mark_persistent(l_Lean_throwError___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__2___closed__4); +l_Lean_throwError___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__2___closed__5 = _init_l_Lean_throwError___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__2___closed__5(); +lean_mark_persistent(l_Lean_throwError___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__2___closed__5); +l_Lean_throwError___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__2___closed__6 = _init_l_Lean_throwError___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__2___closed__6(); +lean_mark_persistent(l_Lean_throwError___at_Lean_Compiler_JoinPointChecker_containsNoJp___spec__2___closed__6); +l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__1 = _init_l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__1(); +lean_mark_persistent(l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__1); +l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__2 = _init_l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__2(); +lean_mark_persistent(l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__2); +l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__3 = _init_l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__3(); +lean_mark_persistent(l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__3); +l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__4 = _init_l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__4(); +lean_mark_persistent(l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__4); +l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__5 = _init_l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__5(); +lean_mark_persistent(l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__5); +l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__6 = _init_l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__6(); +lean_mark_persistent(l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__6); +l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__7 = _init_l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__7(); +lean_mark_persistent(l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__7); +l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__8 = _init_l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__8(); +lean_mark_persistent(l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__8); +l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__9 = _init_l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__9(); +lean_mark_persistent(l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__9); +l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__10 = _init_l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__10(); +lean_mark_persistent(l_Lean_Compiler_JoinPointChecker_containsNoJp___closed__10); +l_Lean_Compiler_JoinPointChecker_checkJoinPoints_goLambda___closed__1 = _init_l_Lean_Compiler_JoinPointChecker_checkJoinPoints_goLambda___closed__1(); +lean_mark_persistent(l_Lean_Compiler_JoinPointChecker_checkJoinPoints_goLambda___closed__1); +l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___closed__1 = _init_l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___closed__1(); +lean_mark_persistent(l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___closed__1); +l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___closed__2 = _init_l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___closed__2(); +lean_mark_persistent(l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___closed__2); +l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___closed__3 = _init_l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___closed__3(); +lean_mark_persistent(l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___closed__3); +l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___closed__4 = _init_l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___closed__4(); +lean_mark_persistent(l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___closed__4); +l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___closed__5 = _init_l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___closed__5(); +lean_mark_persistent(l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___closed__5); +l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___closed__6 = _init_l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___closed__6(); +lean_mark_persistent(l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___closed__6); +l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___closed__7 = _init_l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___closed__7(); +lean_mark_persistent(l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___closed__7); +l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___closed__8 = _init_l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___closed__8(); +lean_mark_persistent(l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___closed__8); +l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___closed__9 = _init_l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___closed__9(); +lean_mark_persistent(l_Lean_Compiler_JoinPointChecker_checkJoinPoints_go___closed__9); +return lean_io_result_mk_ok(lean_box(0)); +} +#ifdef __cplusplus +} +#endif diff --git a/stage0/stdlib/Lean/Compiler/Main.c b/stage0/stdlib/Lean/Compiler/Main.c index bcdc0574ed..5b3dcc6762 100644 --- a/stage0/stdlib/Lean/Compiler/Main.c +++ b/stage0/stdlib/Lean/Compiler/Main.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Compiler.Main -// Imports: Init Lean.Compiler.Decl Lean.Compiler.TerminalCases Lean.Compiler.CSE +// Imports: Init Lean.Compiler.Decl Lean.Compiler.TerminalCases Lean.Compiler.CSE Lean.Compiler.Stage1 #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -14,7 +14,6 @@ extern "C" { #endif lean_object* l_Lean_Compiler_toDecl(lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_compile___spec__4(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_checkpoint___spec__3___closed__1; lean_object* l_Lean_addMessageContextPartial___at_Lean_Core_instAddMessageContextCoreM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_KVMap_setBool(lean_object*, lean_object*, uint8_t); @@ -28,12 +27,15 @@ lean_object* lean_mk_empty_array_with_capacity(lean_object*); static lean_object* l_Lean_Compiler_shouldGenerateCode___closed__7; lean_object* l_Lean_Name_str___override(lean_object*, lean_object*); static lean_object* l_Lean_Compiler_shouldGenerateCode___closed__8; +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_compileStage1Impl___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Array_mapMUnsafe_map___at_Lean_Compiler_compileStage1Impl___spec__3___closed__1; uint8_t lean_usize_dec_eq(size_t, size_t); lean_object* lean_array_uget(lean_object*, size_t); static lean_object* l_Lean_Compiler_checkpoint___closed__4; static lean_object* l_Lean_addTrace___at_Lean_Compiler_checkpoint___spec__1___closed__7; static lean_object* l_Lean_Compiler_shouldGenerateCode___closed__22; static lean_object* l_Lean_Compiler_checkpoint___closed__2; +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Compiler_compileStage1Impl___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Compiler_checkpoint___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_shouldGenerateCode___closed__17; lean_object* lean_array_uset(lean_object*, size_t, lean_object*); @@ -46,29 +48,32 @@ static lean_object* l_Lean_Compiler_shouldGenerateCode___closed__18; uint8_t l_Lean_checkTraceOption(lean_object*, lean_object*); lean_object* lean_st_ref_get(lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_checkpoint___spec__3___closed__3; -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Compiler_compile___spec__3(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_shouldGenerateCode___closed__3; static lean_object* l_Lean_Compiler_shouldGenerateCode___closed__15; lean_object* l_Lean_Compiler_Decl_mapValue(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_compile___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_shouldGenerateCode___lambda__2___closed__1; +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Compiler_compileStage1Impl___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_addTrace___at_Lean_Compiler_checkpoint___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_shouldGenerateCode___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_push(lean_object*, lean_object*); lean_object* lean_array_get_size(lean_object*); +static lean_object* l_Array_mapMUnsafe_map___at_Lean_Compiler_compileStage1Impl___spec__2___closed__1; static lean_object* l_Lean_Compiler_shouldGenerateCode___closed__5; +LEAN_EXPORT lean_object* l_Lean_profileitM___at_Lean_Compiler_compile___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_addTrace___at_Lean_Compiler_checkpoint___spec__1___closed__5; LEAN_EXPORT lean_object* l_Lean_Compiler_checkpoint___lambda__1(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Compiler_initFn____x40_Lean_Compiler_Main___hyg_630_(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_initFn____x40_Lean_Compiler_Main___hyg_681_(lean_object*); static lean_object* l_Lean_addTrace___at_Lean_Compiler_checkpoint___spec__1___closed__3; uint8_t lean_usize_dec_lt(size_t, size_t); +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Compiler_compileStage1Impl___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_compile(lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_profileitM___at_Lean_Compiler_compile___spec__5___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_shouldGenerateCode___closed__6; +static lean_object* l_Lean_Compiler_compileStage1Impl___closed__5; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_checkpoint___spec__3___lambda__1(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_addTrace___at_Lean_Compiler_checkpoint___spec__1___closed__6; static lean_object* l_Lean_Compiler_shouldGenerateCode___closed__2; lean_object* lean_st_ref_take(lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_compileStage1Impl___closed__3; static lean_object* l_Lean_Compiler_shouldGenerateCode___closed__21; static lean_object* l_Lean_Compiler_checkpoint___closed__3; static lean_object* l_Lean_Compiler_shouldGenerateCode___closed__23; @@ -81,24 +86,23 @@ extern lean_object* l_Lean_Expr_instHashableExpr; lean_object* l_Std_PersistentHashMap_mkEmptyEntriesArray(lean_object*, lean_object*); lean_object* l_Lean_Compiler_Decl_cse___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_shouldGenerateCode___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Compiler_compile___lambda__1___closed__6; lean_object* l_Lean_Meta_InfoCacheKey_instHashableInfoCacheKey___boxed(lean_object*); -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Compiler_compile___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Compiler_compileStage1Impl___spec__3(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_shouldGenerateCode___closed__4; LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Compiler_checkpoint___spec__2(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* lean_compile_stage1(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_addTrace___at_Lean_Compiler_checkpoint___spec__1___closed__8; +static lean_object* l_Lean_Compiler_compileStage1Impl___closed__1; static lean_object* l_Lean_addTrace___at_Lean_Compiler_checkpoint___spec__1___closed__2; LEAN_EXPORT lean_object* l_Lean_Compiler_shouldGenerateCode_isCompIrrelevant(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Compiler_compile___spec__1(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_addTrace___at_Lean_Compiler_checkpoint___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_checkpoint(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_compileStage1Impl___closed__2; static lean_object* l_Lean_addTrace___at_Lean_Compiler_checkpoint___spec__1___closed__1; static lean_object* l_Lean_Compiler_shouldGenerateCode___closed__9; lean_object* l_Lean_Meta_isTypeFormerType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Compiler_compile___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); size_t lean_usize_of_nat(lean_object*); lean_object* l_Lean_ConstantInfo_type(lean_object*); -static lean_object* l_Array_mapMUnsafe_map___at_Lean_Compiler_compile___spec__3___closed__1; lean_object* l_instBEqProd___rarg(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_checkpoint___spec__3___closed__10; LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Compiler_checkpoint___spec__5(lean_object*, lean_object*, lean_object*, lean_object*); @@ -114,37 +118,34 @@ lean_object* l_Std_PersistentArray_push___rarg(lean_object*, lean_object*); uint8_t l___private_Lean_Compiler_InlineAttrs_0__Lean_Compiler_hasInlineAttrAux(lean_object*, uint8_t, lean_object*); static lean_object* l_Lean_Compiler_shouldGenerateCode___closed__19; static lean_object* l_Lean_Compiler_shouldGenerateCode___closed__11; +lean_object* l_Lean_Compiler_saveStage1Decls(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_checkpoint___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_nat_dec_le(lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_compileStage1Impl___closed__6; lean_object* l_Lean_Name_append(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_shouldGenerateCode(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_checkpoint___spec__3(uint8_t, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_checkpoint___spec__3___closed__6; -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Compiler_compile___spec__2(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Compiler_compile___lambda__1___closed__5; +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_compileStage1Impl___spec__4(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_shouldGenerateCode___closed__12; lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Compiler_compile___lambda__1___closed__3; +LEAN_EXPORT lean_object* l_Lean_profileitM___at_Lean_Compiler_compile___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_instHashableProd___rarg___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_profileitIOUnsafe___rarg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Compiler_Decl_terminalCases___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Compiler_compile___lambda__1___closed__1; extern lean_object* l_Lean_Expr_instBEqExpr; +LEAN_EXPORT lean_object* l_Lean_profileitM___at_Lean_Compiler_compile___spec__1(lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_checkpoint___spec__3___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Compiler_compile___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_addTrace___at_Lean_Compiler_checkpoint___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Compiler_compile___lambda__1___closed__2; -LEAN_EXPORT lean_object* l_Lean_Compiler_compile___lambda__1(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_compile___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Compiler_checkpoint___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Array_mapMUnsafe_map___at_Lean_Compiler_compile___spec__2___closed__1; -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Compiler_compile___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Compiler_compileStage1Impl___spec__1(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_shouldGenerateCode___closed__10; static lean_object* l_Lean_Compiler_shouldGenerateCode___closed__20; lean_object* l_Lean_Meta_isProp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_profileitM___at_Lean_Compiler_compile___spec__5___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_profileitM___at_Lean_Compiler_compile___spec__5(lean_object*); +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Compiler_compileStage1Impl___spec__2(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_compileStage1Impl___closed__4; static lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_checkpoint___spec__3___closed__8; -static lean_object* l_Lean_Compiler_compile___lambda__1___closed__4; static lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_checkpoint___spec__3___closed__4; uint8_t lean_nat_dec_lt(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_shouldGenerateCode_isCompIrrelevant(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { @@ -1954,7 +1955,7 @@ x_8 = l_Lean_Compiler_checkpoint(x_1, x_2, x_7, x_4, x_5, x_6); return x_8; } } -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Compiler_compile___spec__1(size_t x_1, size_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Compiler_compileStage1Impl___spec__1(size_t x_1, size_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { uint8_t x_7; @@ -2022,7 +2023,7 @@ return x_22; } } } -static lean_object* _init_l_Array_mapMUnsafe_map___at_Lean_Compiler_compile___spec__2___closed__1() { +static lean_object* _init_l_Array_mapMUnsafe_map___at_Lean_Compiler_compileStage1Impl___spec__2___closed__1() { _start: { lean_object* x_1; @@ -2030,7 +2031,7 @@ x_1 = lean_alloc_closure((void*)(l_Lean_Compiler_Decl_terminalCases___lambda__1) return x_1; } } -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Compiler_compile___spec__2(size_t x_1, size_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Compiler_compileStage1Impl___spec__2(size_t x_1, size_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { uint8_t x_7; @@ -2051,7 +2052,7 @@ lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_ x_9 = lean_array_uget(x_3, x_2); x_10 = lean_unsigned_to_nat(0u); x_11 = lean_array_uset(x_3, x_2, x_10); -x_12 = l_Array_mapMUnsafe_map___at_Lean_Compiler_compile___spec__2___closed__1; +x_12 = l_Array_mapMUnsafe_map___at_Lean_Compiler_compileStage1Impl___spec__2___closed__1; lean_inc(x_5); lean_inc(x_4); x_13 = l_Lean_Compiler_Decl_mapValue(x_9, x_12, x_4, x_5, x_6); @@ -2099,7 +2100,7 @@ return x_23; } } } -static lean_object* _init_l_Array_mapMUnsafe_map___at_Lean_Compiler_compile___spec__3___closed__1() { +static lean_object* _init_l_Array_mapMUnsafe_map___at_Lean_Compiler_compileStage1Impl___spec__3___closed__1() { _start: { lean_object* x_1; @@ -2107,7 +2108,7 @@ x_1 = lean_alloc_closure((void*)(l_Lean_Compiler_Decl_cse___lambda__1), 5, 0); return x_1; } } -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Compiler_compile___spec__3(size_t x_1, size_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Compiler_compileStage1Impl___spec__3(size_t x_1, size_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { uint8_t x_7; @@ -2128,7 +2129,7 @@ lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_ x_9 = lean_array_uget(x_3, x_2); x_10 = lean_unsigned_to_nat(0u); x_11 = lean_array_uset(x_3, x_2, x_10); -x_12 = l_Array_mapMUnsafe_map___at_Lean_Compiler_compile___spec__3___closed__1; +x_12 = l_Array_mapMUnsafe_map___at_Lean_Compiler_compileStage1Impl___spec__3___closed__1; lean_inc(x_5); lean_inc(x_4); x_13 = l_Lean_Compiler_Decl_mapValue(x_9, x_12, x_4, x_5, x_6); @@ -2176,7 +2177,7 @@ return x_23; } } } -LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_compile___spec__4(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_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_compileStage1Impl___spec__4(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) { _start: { uint8_t x_8; @@ -2263,7 +2264,451 @@ return x_26; } } } -LEAN_EXPORT lean_object* l_Lean_profileitM___at_Lean_Compiler_compile___spec__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) { +static lean_object* _init_l_Lean_Compiler_compileStage1Impl___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("init", 4); +return x_1; +} +} +static lean_object* _init_l_Lean_Compiler_compileStage1Impl___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = l_Lean_Compiler_compileStage1Impl___closed__1; +x_3 = l_Lean_Name_str___override(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Compiler_compileStage1Impl___closed__3() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("terminalCases", 13); +return x_1; +} +} +static lean_object* _init_l_Lean_Compiler_compileStage1Impl___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = l_Lean_Compiler_compileStage1Impl___closed__3; +x_3 = l_Lean_Name_str___override(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Compiler_compileStage1Impl___closed__5() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("cse", 3); +return x_1; +} +} +static lean_object* _init_l_Lean_Compiler_compileStage1Impl___closed__6() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = l_Lean_Compiler_compileStage1Impl___closed__5; +x_3 = l_Lean_Name_str___override(x_1, x_2); +return x_3; +} +} +LEAN_EXPORT lean_object* lean_compile_stage1(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_64; lean_object* x_65; uint8_t x_66; +x_64 = lean_array_get_size(x_1); +x_65 = lean_unsigned_to_nat(0u); +x_66 = lean_nat_dec_lt(x_65, x_64); +if (x_66 == 0) +{ +lean_object* x_67; +lean_dec(x_64); +lean_dec(x_1); +x_67 = l_Lean_Compiler_shouldGenerateCode___closed__9; +x_5 = x_67; +x_6 = x_4; +goto block_63; +} +else +{ +uint8_t x_68; +x_68 = lean_nat_dec_le(x_64, x_64); +if (x_68 == 0) +{ +lean_object* x_69; +lean_dec(x_64); +lean_dec(x_1); +x_69 = l_Lean_Compiler_shouldGenerateCode___closed__9; +x_5 = x_69; +x_6 = x_4; +goto block_63; +} +else +{ +size_t x_70; size_t x_71; lean_object* x_72; lean_object* x_73; +x_70 = 0; +x_71 = lean_usize_of_nat(x_64); +lean_dec(x_64); +x_72 = l_Lean_Compiler_shouldGenerateCode___closed__9; +lean_inc(x_3); +lean_inc(x_2); +x_73 = l_Array_foldlMUnsafe_fold___at_Lean_Compiler_compileStage1Impl___spec__4(x_1, x_70, x_71, x_72, x_2, x_3, x_4); +lean_dec(x_1); +if (lean_obj_tag(x_73) == 0) +{ +lean_object* x_74; lean_object* x_75; +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_5 = x_74; +x_6 = x_75; +goto block_63; +} +else +{ +uint8_t x_76; +lean_dec(x_3); +lean_dec(x_2); +x_76 = !lean_is_exclusive(x_73); +if (x_76 == 0) +{ +return x_73; +} +else +{ +lean_object* x_77; lean_object* x_78; lean_object* x_79; +x_77 = lean_ctor_get(x_73, 0); +x_78 = lean_ctor_get(x_73, 1); +lean_inc(x_78); +lean_inc(x_77); +lean_dec(x_73); +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; +} +} +} +} +block_63: +{ +lean_object* x_7; size_t x_8; size_t x_9; lean_object* x_10; +x_7 = lean_array_get_size(x_5); +x_8 = lean_usize_of_nat(x_7); +lean_dec(x_7); +x_9 = 0; +lean_inc(x_3); +lean_inc(x_2); +x_10 = l_Array_mapMUnsafe_map___at_Lean_Compiler_compileStage1Impl___spec__1(x_8, x_9, x_5, x_2, x_3, x_6); +if (lean_obj_tag(x_10) == 0) +{ +lean_object* x_11; lean_object* x_12; lean_object* x_13; uint8_t x_14; lean_object* x_15; +x_11 = lean_ctor_get(x_10, 0); +lean_inc(x_11); +x_12 = lean_ctor_get(x_10, 1); +lean_inc(x_12); +lean_dec(x_10); +x_13 = l_Lean_Compiler_compileStage1Impl___closed__2; +x_14 = 0; +lean_inc(x_3); +lean_inc(x_2); +lean_inc(x_11); +x_15 = l_Lean_Compiler_checkpoint(x_13, x_11, x_14, x_2, x_3, x_12); +if (lean_obj_tag(x_15) == 0) +{ +lean_object* x_16; lean_object* x_17; size_t x_18; lean_object* x_19; +x_16 = lean_ctor_get(x_15, 1); +lean_inc(x_16); +lean_dec(x_15); +x_17 = lean_array_get_size(x_11); +x_18 = lean_usize_of_nat(x_17); +lean_dec(x_17); +lean_inc(x_3); +lean_inc(x_2); +x_19 = l_Array_mapMUnsafe_map___at_Lean_Compiler_compileStage1Impl___spec__2(x_18, x_9, x_11, x_2, x_3, x_16); +if (lean_obj_tag(x_19) == 0) +{ +lean_object* x_20; lean_object* x_21; lean_object* x_22; uint8_t x_23; lean_object* x_24; +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_Lean_Compiler_compileStage1Impl___closed__4; +x_23 = 1; +lean_inc(x_3); +lean_inc(x_2); +lean_inc(x_20); +x_24 = l_Lean_Compiler_checkpoint(x_22, x_20, x_23, x_2, x_3, x_21); +if (lean_obj_tag(x_24) == 0) +{ +lean_object* x_25; lean_object* x_26; size_t x_27; lean_object* x_28; +x_25 = lean_ctor_get(x_24, 1); +lean_inc(x_25); +lean_dec(x_24); +x_26 = lean_array_get_size(x_20); +x_27 = lean_usize_of_nat(x_26); +lean_dec(x_26); +lean_inc(x_3); +lean_inc(x_2); +x_28 = l_Array_mapMUnsafe_map___at_Lean_Compiler_compileStage1Impl___spec__3(x_27, x_9, x_20, x_2, x_3, x_25); +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 = 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 = l_Lean_Compiler_compileStage1Impl___closed__6; +lean_inc(x_3); +lean_inc(x_2); +lean_inc(x_29); +x_32 = l_Lean_Compiler_checkpoint(x_31, x_29, x_23, x_2, x_3, x_30); +if (lean_obj_tag(x_32) == 0) +{ +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); +lean_inc(x_29); +x_34 = l_Lean_Compiler_saveStage1Decls(x_29, x_2, x_3, x_33); +lean_dec(x_3); +lean_dec(x_2); +x_35 = !lean_is_exclusive(x_34); +if (x_35 == 0) +{ +lean_object* x_36; +x_36 = lean_ctor_get(x_34, 0); +lean_dec(x_36); +lean_ctor_set(x_34, 0, x_29); +return x_34; +} +else +{ +lean_object* x_37; lean_object* x_38; +x_37 = lean_ctor_get(x_34, 1); +lean_inc(x_37); +lean_dec(x_34); +x_38 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_38, 0, x_29); +lean_ctor_set(x_38, 1, x_37); +return x_38; +} +} +else +{ +uint8_t x_39; +lean_dec(x_29); +lean_dec(x_3); +lean_dec(x_2); +x_39 = !lean_is_exclusive(x_32); +if (x_39 == 0) +{ +return x_32; +} +else +{ +lean_object* x_40; lean_object* x_41; lean_object* x_42; +x_40 = lean_ctor_get(x_32, 0); +x_41 = lean_ctor_get(x_32, 1); +lean_inc(x_41); +lean_inc(x_40); +lean_dec(x_32); +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 +{ +uint8_t x_43; +lean_dec(x_3); +lean_dec(x_2); +x_43 = !lean_is_exclusive(x_28); +if (x_43 == 0) +{ +return x_28; +} +else +{ +lean_object* x_44; lean_object* x_45; lean_object* x_46; +x_44 = lean_ctor_get(x_28, 0); +x_45 = lean_ctor_get(x_28, 1); +lean_inc(x_45); +lean_inc(x_44); +lean_dec(x_28); +x_46 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_46, 0, x_44); +lean_ctor_set(x_46, 1, x_45); +return x_46; +} +} +} +else +{ +uint8_t x_47; +lean_dec(x_20); +lean_dec(x_3); +lean_dec(x_2); +x_47 = !lean_is_exclusive(x_24); +if (x_47 == 0) +{ +return x_24; +} +else +{ +lean_object* x_48; lean_object* x_49; lean_object* x_50; +x_48 = lean_ctor_get(x_24, 0); +x_49 = lean_ctor_get(x_24, 1); +lean_inc(x_49); +lean_inc(x_48); +lean_dec(x_24); +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_3); +lean_dec(x_2); +x_51 = !lean_is_exclusive(x_19); +if (x_51 == 0) +{ +return x_19; +} +else +{ +lean_object* x_52; lean_object* x_53; lean_object* x_54; +x_52 = lean_ctor_get(x_19, 0); +x_53 = lean_ctor_get(x_19, 1); +lean_inc(x_53); +lean_inc(x_52); +lean_dec(x_19); +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; +} +} +} +else +{ +uint8_t x_55; +lean_dec(x_11); +lean_dec(x_3); +lean_dec(x_2); +x_55 = !lean_is_exclusive(x_15); +if (x_55 == 0) +{ +return x_15; +} +else +{ +lean_object* x_56; lean_object* x_57; lean_object* x_58; +x_56 = lean_ctor_get(x_15, 0); +x_57 = lean_ctor_get(x_15, 1); +lean_inc(x_57); +lean_inc(x_56); +lean_dec(x_15); +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; +} +} +} +else +{ +uint8_t x_59; +lean_dec(x_3); +lean_dec(x_2); +x_59 = !lean_is_exclusive(x_10); +if (x_59 == 0) +{ +return x_10; +} +else +{ +lean_object* x_60; lean_object* x_61; lean_object* x_62; +x_60 = lean_ctor_get(x_10, 0); +x_61 = lean_ctor_get(x_10, 1); +lean_inc(x_61); +lean_inc(x_60); +lean_dec(x_10); +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; +} +} +} +} +} +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Compiler_compileStage1Impl___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: +{ +size_t x_7; size_t x_8; lean_object* x_9; +x_7 = lean_unbox_usize(x_1); +lean_dec(x_1); +x_8 = lean_unbox_usize(x_2); +lean_dec(x_2); +x_9 = l_Array_mapMUnsafe_map___at_Lean_Compiler_compileStage1Impl___spec__1(x_7, x_8, x_3, x_4, x_5, x_6); +return x_9; +} +} +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Compiler_compileStage1Impl___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: +{ +size_t x_7; size_t x_8; lean_object* x_9; +x_7 = lean_unbox_usize(x_1); +lean_dec(x_1); +x_8 = lean_unbox_usize(x_2); +lean_dec(x_2); +x_9 = l_Array_mapMUnsafe_map___at_Lean_Compiler_compileStage1Impl___spec__2(x_7, x_8, x_3, x_4, x_5, x_6); +return x_9; +} +} +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Compiler_compileStage1Impl___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; size_t x_8; lean_object* x_9; +x_7 = lean_unbox_usize(x_1); +lean_dec(x_1); +x_8 = lean_unbox_usize(x_2); +lean_dec(x_2); +x_9 = l_Array_mapMUnsafe_map___at_Lean_Compiler_compileStage1Impl___spec__3(x_7, x_8, x_3, x_4, x_5, x_6); +return x_9; +} +} +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_compileStage1Impl___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: +{ +size_t x_8; size_t x_9; lean_object* x_10; +x_8 = lean_unbox_usize(x_2); +lean_dec(x_2); +x_9 = lean_unbox_usize(x_3); +lean_dec(x_3); +x_10 = l_Array_foldlMUnsafe_fold___at_Lean_Compiler_compileStage1Impl___spec__4(x_1, x_8, x_9, x_4, x_5, x_6, x_7); +lean_dec(x_1); +return x_10; +} +} +LEAN_EXPORT lean_object* l_Lean_profileitM___at_Lean_Compiler_compile___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; @@ -2272,333 +2717,65 @@ x_8 = l_Lean_profileitIOUnsafe___rarg(x_1, x_2, x_7, x_6); return x_8; } } -LEAN_EXPORT lean_object* l_Lean_profileitM___at_Lean_Compiler_compile___spec__5(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Lean_profileitM___at_Lean_Compiler_compile___spec__1(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_profileitM___at_Lean_Compiler_compile___spec__5___rarg___boxed), 6, 0); +x_2 = lean_alloc_closure((void*)(l_Lean_profileitM___at_Lean_Compiler_compile___spec__1___rarg___boxed), 6, 0); return x_2; } } -static lean_object* _init_l_Lean_Compiler_compile___lambda__1___closed__1() { +LEAN_EXPORT lean_object* l_Lean_Compiler_compile___lambda__1(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_from_bytes("init", 4); -return x_1; -} -} -static lean_object* _init_l_Lean_Compiler_compile___lambda__1___closed__2() { -_start: +lean_object* x_5; +x_5 = lean_compile_stage1(x_1, x_2, x_3, x_4); +if (lean_obj_tag(x_5) == 0) { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); -x_2 = l_Lean_Compiler_compile___lambda__1___closed__1; -x_3 = l_Lean_Name_str___override(x_1, x_2); -return x_3; -} -} -static lean_object* _init_l_Lean_Compiler_compile___lambda__1___closed__3() { -_start: +uint8_t x_6; +x_6 = !lean_is_exclusive(x_5); +if (x_6 == 0) { -lean_object* x_1; -x_1 = lean_mk_string_from_bytes("terminalCases", 13); -return x_1; -} -} -static lean_object* _init_l_Lean_Compiler_compile___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_Compiler_compile___lambda__1___closed__3; -x_3 = l_Lean_Name_str___override(x_1, x_2); -return x_3; -} -} -static lean_object* _init_l_Lean_Compiler_compile___lambda__1___closed__5() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_from_bytes("cse", 3); -return x_1; -} -} -static lean_object* _init_l_Lean_Compiler_compile___lambda__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_Compiler_compile___lambda__1___closed__5; -x_3 = l_Lean_Name_str___override(x_1, x_2); -return x_3; -} -} -LEAN_EXPORT lean_object* l_Lean_Compiler_compile___lambda__1(uint8_t x_1, 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; -if (x_1 == 0) -{ -x_8 = x_2; -x_9 = x_7; -goto block_56; +lean_object* x_7; lean_object* x_8; +x_7 = lean_ctor_get(x_5, 0); +lean_dec(x_7); +x_8 = lean_box(0); +lean_ctor_set(x_5, 0, x_8); +return x_5; } else { -uint8_t x_57; -x_57 = lean_nat_dec_le(x_3, x_3); -if (x_57 == 0) -{ -x_8 = x_2; -x_9 = x_7; -goto block_56; -} -else -{ -size_t x_58; size_t x_59; lean_object* x_60; -x_58 = 0; -x_59 = lean_usize_of_nat(x_3); -lean_inc(x_6); -lean_inc(x_5); -x_60 = l_Array_foldlMUnsafe_fold___at_Lean_Compiler_compile___spec__4(x_4, x_58, x_59, x_2, x_5, x_6, x_7); -if (lean_obj_tag(x_60) == 0) -{ -lean_object* x_61; lean_object* x_62; -x_61 = lean_ctor_get(x_60, 0); -lean_inc(x_61); -x_62 = lean_ctor_get(x_60, 1); -lean_inc(x_62); -lean_dec(x_60); -x_8 = x_61; -x_9 = x_62; -goto block_56; -} -else -{ -uint8_t x_63; -lean_dec(x_6); +lean_object* x_9; lean_object* x_10; lean_object* x_11; +x_9 = lean_ctor_get(x_5, 1); +lean_inc(x_9); lean_dec(x_5); -x_63 = !lean_is_exclusive(x_60); -if (x_63 == 0) -{ -return x_60; +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_64; lean_object* x_65; lean_object* x_66; -x_64 = lean_ctor_get(x_60, 0); -x_65 = lean_ctor_get(x_60, 1); -lean_inc(x_65); -lean_inc(x_64); -lean_dec(x_60); -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; -} -} -} -} -block_56: +uint8_t x_12; +x_12 = !lean_is_exclusive(x_5); +if (x_12 == 0) { -lean_object* x_10; size_t x_11; size_t x_12; lean_object* x_13; -x_10 = lean_array_get_size(x_8); -x_11 = lean_usize_of_nat(x_10); -lean_dec(x_10); -x_12 = 0; -lean_inc(x_6); -lean_inc(x_5); -x_13 = l_Array_mapMUnsafe_map___at_Lean_Compiler_compile___spec__1(x_11, x_12, x_8, x_5, x_6, x_9); -if (lean_obj_tag(x_13) == 0) +return x_5; +} +else { -lean_object* x_14; lean_object* x_15; lean_object* x_16; uint8_t x_17; lean_object* x_18; -x_14 = lean_ctor_get(x_13, 0); +lean_object* x_13; lean_object* x_14; lean_object* x_15; +x_13 = lean_ctor_get(x_5, 0); +x_14 = lean_ctor_get(x_5, 1); lean_inc(x_14); -x_15 = lean_ctor_get(x_13, 1); -lean_inc(x_15); -lean_dec(x_13); -x_16 = l_Lean_Compiler_compile___lambda__1___closed__2; -x_17 = 0; -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_14); -x_18 = l_Lean_Compiler_checkpoint(x_16, x_14, x_17, x_5, x_6, x_15); -if (lean_obj_tag(x_18) == 0) -{ -lean_object* x_19; lean_object* x_20; size_t x_21; lean_object* x_22; -x_19 = lean_ctor_get(x_18, 1); -lean_inc(x_19); -lean_dec(x_18); -x_20 = lean_array_get_size(x_14); -x_21 = lean_usize_of_nat(x_20); -lean_dec(x_20); -lean_inc(x_6); -lean_inc(x_5); -x_22 = l_Array_mapMUnsafe_map___at_Lean_Compiler_compile___spec__2(x_21, x_12, x_14, x_5, x_6, x_19); -if (lean_obj_tag(x_22) == 0) -{ -lean_object* x_23; lean_object* x_24; lean_object* x_25; uint8_t x_26; lean_object* x_27; -x_23 = lean_ctor_get(x_22, 0); -lean_inc(x_23); -x_24 = lean_ctor_get(x_22, 1); -lean_inc(x_24); -lean_dec(x_22); -x_25 = l_Lean_Compiler_compile___lambda__1___closed__4; -x_26 = 1; -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_23); -x_27 = l_Lean_Compiler_checkpoint(x_25, x_23, x_26, x_5, x_6, x_24); -if (lean_obj_tag(x_27) == 0) -{ -lean_object* x_28; lean_object* x_29; size_t x_30; lean_object* x_31; -x_28 = lean_ctor_get(x_27, 1); -lean_inc(x_28); -lean_dec(x_27); -x_29 = lean_array_get_size(x_23); -x_30 = lean_usize_of_nat(x_29); -lean_dec(x_29); -lean_inc(x_6); -lean_inc(x_5); -x_31 = l_Array_mapMUnsafe_map___at_Lean_Compiler_compile___spec__3(x_30, x_12, x_23, x_5, x_6, x_28); -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_31, 0); -lean_inc(x_32); -x_33 = lean_ctor_get(x_31, 1); -lean_inc(x_33); -lean_dec(x_31); -x_34 = l_Lean_Compiler_compile___lambda__1___closed__6; -x_35 = l_Lean_Compiler_checkpoint(x_34, x_32, x_26, x_5, x_6, x_33); -return x_35; -} -else -{ -uint8_t x_36; -lean_dec(x_6); +lean_inc(x_13); lean_dec(x_5); -x_36 = !lean_is_exclusive(x_31); -if (x_36 == 0) -{ -return x_31; -} -else -{ -lean_object* x_37; lean_object* x_38; lean_object* x_39; -x_37 = lean_ctor_get(x_31, 0); -x_38 = lean_ctor_get(x_31, 1); -lean_inc(x_38); -lean_inc(x_37); -lean_dec(x_31); -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 -{ -uint8_t x_40; -lean_dec(x_23); -lean_dec(x_6); -lean_dec(x_5); -x_40 = !lean_is_exclusive(x_27); -if (x_40 == 0) -{ -return x_27; -} -else -{ -lean_object* x_41; lean_object* x_42; lean_object* x_43; -x_41 = lean_ctor_get(x_27, 0); -x_42 = lean_ctor_get(x_27, 1); -lean_inc(x_42); -lean_inc(x_41); -lean_dec(x_27); -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; -} -} -} -else -{ -uint8_t x_44; -lean_dec(x_6); -lean_dec(x_5); -x_44 = !lean_is_exclusive(x_22); -if (x_44 == 0) -{ -return x_22; -} -else -{ -lean_object* x_45; lean_object* x_46; lean_object* x_47; -x_45 = lean_ctor_get(x_22, 0); -x_46 = lean_ctor_get(x_22, 1); -lean_inc(x_46); -lean_inc(x_45); -lean_dec(x_22); -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_48; -lean_dec(x_14); -lean_dec(x_6); -lean_dec(x_5); -x_48 = !lean_is_exclusive(x_18); -if (x_48 == 0) -{ -return x_18; -} -else -{ -lean_object* x_49; lean_object* x_50; lean_object* x_51; -x_49 = lean_ctor_get(x_18, 0); -x_50 = lean_ctor_get(x_18, 1); -lean_inc(x_50); -lean_inc(x_49); -lean_dec(x_18); -x_51 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_51, 0, x_49); -lean_ctor_set(x_51, 1, x_50); -return x_51; -} -} -} -else -{ -uint8_t x_52; -lean_dec(x_6); -lean_dec(x_5); -x_52 = !lean_is_exclusive(x_13); -if (x_52 == 0) -{ -return x_13; -} -else -{ -lean_object* x_53; lean_object* x_54; lean_object* x_55; -x_53 = lean_ctor_get(x_13, 0); -x_54 = lean_ctor_get(x_13, 1); -lean_inc(x_54); -lean_inc(x_53); -lean_dec(x_13); -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; -} +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; } } } @@ -2614,97 +2791,28 @@ return x_1; LEAN_EXPORT lean_object* l_Lean_Compiler_compile(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; uint8_t 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_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; x_5 = lean_ctor_get(x_2, 2); lean_inc(x_5); -x_6 = lean_array_get_size(x_1); -x_7 = lean_unsigned_to_nat(0u); -x_8 = lean_nat_dec_lt(x_7, x_6); -x_9 = l_Lean_Compiler_shouldGenerateCode___closed__9; -x_10 = lean_box(x_8); -x_11 = lean_alloc_closure((void*)(l_Lean_Compiler_compile___lambda__1___boxed), 7, 4); -lean_closure_set(x_11, 0, x_10); -lean_closure_set(x_11, 1, x_9); -lean_closure_set(x_11, 2, x_6); -lean_closure_set(x_11, 3, x_1); -x_12 = l_Lean_Compiler_compile___closed__1; -x_13 = l_Lean_profileitM___at_Lean_Compiler_compile___spec__5___rarg(x_12, x_5, x_11, x_2, x_3, x_4); +x_6 = lean_alloc_closure((void*)(l_Lean_Compiler_compile___lambda__1), 4, 1); +lean_closure_set(x_6, 0, x_1); +x_7 = l_Lean_Compiler_compile___closed__1; +x_8 = l_Lean_profileitM___at_Lean_Compiler_compile___spec__1___rarg(x_7, x_5, x_6, x_2, x_3, x_4); lean_dec(x_5); -return x_13; +return x_8; } } -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Compiler_compile___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: -{ -size_t x_7; size_t x_8; lean_object* x_9; -x_7 = lean_unbox_usize(x_1); -lean_dec(x_1); -x_8 = lean_unbox_usize(x_2); -lean_dec(x_2); -x_9 = l_Array_mapMUnsafe_map___at_Lean_Compiler_compile___spec__1(x_7, x_8, x_3, x_4, x_5, x_6); -return x_9; -} -} -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Compiler_compile___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: -{ -size_t x_7; size_t x_8; lean_object* x_9; -x_7 = lean_unbox_usize(x_1); -lean_dec(x_1); -x_8 = lean_unbox_usize(x_2); -lean_dec(x_2); -x_9 = l_Array_mapMUnsafe_map___at_Lean_Compiler_compile___spec__2(x_7, x_8, x_3, x_4, x_5, x_6); -return x_9; -} -} -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Compiler_compile___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; size_t x_8; lean_object* x_9; -x_7 = lean_unbox_usize(x_1); -lean_dec(x_1); -x_8 = lean_unbox_usize(x_2); -lean_dec(x_2); -x_9 = l_Array_mapMUnsafe_map___at_Lean_Compiler_compile___spec__3(x_7, x_8, x_3, x_4, x_5, x_6); -return x_9; -} -} -LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_compile___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: -{ -size_t x_8; size_t x_9; lean_object* x_10; -x_8 = lean_unbox_usize(x_2); -lean_dec(x_2); -x_9 = lean_unbox_usize(x_3); -lean_dec(x_3); -x_10 = l_Array_foldlMUnsafe_fold___at_Lean_Compiler_compile___spec__4(x_1, x_8, x_9, x_4, x_5, x_6, x_7); -lean_dec(x_1); -return x_10; -} -} -LEAN_EXPORT lean_object* l_Lean_profileitM___at_Lean_Compiler_compile___spec__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_EXPORT lean_object* l_Lean_profileitM___at_Lean_Compiler_compile___spec__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) { _start: { lean_object* x_7; -x_7 = l_Lean_profileitM___at_Lean_Compiler_compile___spec__5___rarg(x_1, x_2, x_3, x_4, x_5, x_6); +x_7 = l_Lean_profileitM___at_Lean_Compiler_compile___spec__1___rarg(x_1, x_2, x_3, x_4, x_5, x_6); lean_dec(x_2); lean_dec(x_1); return x_7; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_compile___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_1); -lean_dec(x_1); -x_9 = l_Lean_Compiler_compile___lambda__1(x_8, x_2, x_3, x_4, x_5, x_6, x_7); -lean_dec(x_4); -lean_dec(x_3); -return x_9; -} -} -LEAN_EXPORT lean_object* l_Lean_Compiler_initFn____x40_Lean_Compiler_Main___hyg_630_(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Lean_Compiler_initFn____x40_Lean_Compiler_Main___hyg_681_(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; @@ -2748,6 +2856,7 @@ lean_object* initialize_Init(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Compiler_Decl(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Compiler_TerminalCases(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Compiler_CSE(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Compiler_Stage1(uint8_t builtin, lean_object*); static bool _G_initialized = false; LEAN_EXPORT lean_object* initialize_Lean_Compiler_Main(uint8_t builtin, lean_object* w) { lean_object * res; @@ -2765,6 +2874,9 @@ lean_dec_ref(res); res = initialize_Lean_Compiler_CSE(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); +res = initialize_Lean_Compiler_Stage1(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); l_Lean_Compiler_shouldGenerateCode___lambda__2___closed__1 = _init_l_Lean_Compiler_shouldGenerateCode___lambda__2___closed__1(); lean_mark_persistent(l_Lean_Compiler_shouldGenerateCode___lambda__2___closed__1); l_Lean_Compiler_shouldGenerateCode___closed__1 = _init_l_Lean_Compiler_shouldGenerateCode___closed__1(); @@ -2859,25 +2971,25 @@ l_Lean_Compiler_checkpoint___closed__3 = _init_l_Lean_Compiler_checkpoint___clos lean_mark_persistent(l_Lean_Compiler_checkpoint___closed__3); l_Lean_Compiler_checkpoint___closed__4 = _init_l_Lean_Compiler_checkpoint___closed__4(); lean_mark_persistent(l_Lean_Compiler_checkpoint___closed__4); -l_Array_mapMUnsafe_map___at_Lean_Compiler_compile___spec__2___closed__1 = _init_l_Array_mapMUnsafe_map___at_Lean_Compiler_compile___spec__2___closed__1(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at_Lean_Compiler_compile___spec__2___closed__1); -l_Array_mapMUnsafe_map___at_Lean_Compiler_compile___spec__3___closed__1 = _init_l_Array_mapMUnsafe_map___at_Lean_Compiler_compile___spec__3___closed__1(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at_Lean_Compiler_compile___spec__3___closed__1); -l_Lean_Compiler_compile___lambda__1___closed__1 = _init_l_Lean_Compiler_compile___lambda__1___closed__1(); -lean_mark_persistent(l_Lean_Compiler_compile___lambda__1___closed__1); -l_Lean_Compiler_compile___lambda__1___closed__2 = _init_l_Lean_Compiler_compile___lambda__1___closed__2(); -lean_mark_persistent(l_Lean_Compiler_compile___lambda__1___closed__2); -l_Lean_Compiler_compile___lambda__1___closed__3 = _init_l_Lean_Compiler_compile___lambda__1___closed__3(); -lean_mark_persistent(l_Lean_Compiler_compile___lambda__1___closed__3); -l_Lean_Compiler_compile___lambda__1___closed__4 = _init_l_Lean_Compiler_compile___lambda__1___closed__4(); -lean_mark_persistent(l_Lean_Compiler_compile___lambda__1___closed__4); -l_Lean_Compiler_compile___lambda__1___closed__5 = _init_l_Lean_Compiler_compile___lambda__1___closed__5(); -lean_mark_persistent(l_Lean_Compiler_compile___lambda__1___closed__5); -l_Lean_Compiler_compile___lambda__1___closed__6 = _init_l_Lean_Compiler_compile___lambda__1___closed__6(); -lean_mark_persistent(l_Lean_Compiler_compile___lambda__1___closed__6); +l_Array_mapMUnsafe_map___at_Lean_Compiler_compileStage1Impl___spec__2___closed__1 = _init_l_Array_mapMUnsafe_map___at_Lean_Compiler_compileStage1Impl___spec__2___closed__1(); +lean_mark_persistent(l_Array_mapMUnsafe_map___at_Lean_Compiler_compileStage1Impl___spec__2___closed__1); +l_Array_mapMUnsafe_map___at_Lean_Compiler_compileStage1Impl___spec__3___closed__1 = _init_l_Array_mapMUnsafe_map___at_Lean_Compiler_compileStage1Impl___spec__3___closed__1(); +lean_mark_persistent(l_Array_mapMUnsafe_map___at_Lean_Compiler_compileStage1Impl___spec__3___closed__1); +l_Lean_Compiler_compileStage1Impl___closed__1 = _init_l_Lean_Compiler_compileStage1Impl___closed__1(); +lean_mark_persistent(l_Lean_Compiler_compileStage1Impl___closed__1); +l_Lean_Compiler_compileStage1Impl___closed__2 = _init_l_Lean_Compiler_compileStage1Impl___closed__2(); +lean_mark_persistent(l_Lean_Compiler_compileStage1Impl___closed__2); +l_Lean_Compiler_compileStage1Impl___closed__3 = _init_l_Lean_Compiler_compileStage1Impl___closed__3(); +lean_mark_persistent(l_Lean_Compiler_compileStage1Impl___closed__3); +l_Lean_Compiler_compileStage1Impl___closed__4 = _init_l_Lean_Compiler_compileStage1Impl___closed__4(); +lean_mark_persistent(l_Lean_Compiler_compileStage1Impl___closed__4); +l_Lean_Compiler_compileStage1Impl___closed__5 = _init_l_Lean_Compiler_compileStage1Impl___closed__5(); +lean_mark_persistent(l_Lean_Compiler_compileStage1Impl___closed__5); +l_Lean_Compiler_compileStage1Impl___closed__6 = _init_l_Lean_Compiler_compileStage1Impl___closed__6(); +lean_mark_persistent(l_Lean_Compiler_compileStage1Impl___closed__6); l_Lean_Compiler_compile___closed__1 = _init_l_Lean_Compiler_compile___closed__1(); lean_mark_persistent(l_Lean_Compiler_compile___closed__1); -res = l_Lean_Compiler_initFn____x40_Lean_Compiler_Main___hyg_630_(lean_io_mk_world()); +res = l_Lean_Compiler_initFn____x40_Lean_Compiler_Main___hyg_681_(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/Compiler/Simp.c b/stage0/stdlib/Lean/Compiler/Simp.c new file mode 100644 index 0000000000..4c69139781 --- /dev/null +++ b/stage0/stdlib/Lean/Compiler/Simp.c @@ -0,0 +1,59 @@ +// Lean compiler output +// Module: Lean.Compiler.Simp +// Imports: Init Lean.Compiler.CompilerM Lean.Compiler.Decl +#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_EXPORT lean_object* l_Lean_Compiler_Simp_State_unit___default; +LEAN_EXPORT lean_object* l_Lean_Compiler_Simp_Config_increaseFactor___default; +static lean_object* _init_l_Lean_Compiler_Simp_Config_increaseFactor___default() { +_start: +{ +lean_object* x_1; +x_1 = lean_unsigned_to_nat(2u); +return x_1; +} +} +static lean_object* _init_l_Lean_Compiler_Simp_State_unit___default() { +_start: +{ +lean_object* x_1; +x_1 = lean_box(0); +return x_1; +} +} +lean_object* initialize_Init(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Compiler_CompilerM(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Compiler_Decl(uint8_t builtin, lean_object*); +static bool _G_initialized = false; +LEAN_EXPORT lean_object* initialize_Lean_Compiler_Simp(uint8_t builtin, lean_object* w) { +lean_object * res; +if (_G_initialized) return lean_io_result_mk_ok(lean_box(0)); +_G_initialized = true; +res = initialize_Init(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +res = initialize_Lean_Compiler_CompilerM(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +res = initialize_Lean_Compiler_Decl(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +l_Lean_Compiler_Simp_Config_increaseFactor___default = _init_l_Lean_Compiler_Simp_Config_increaseFactor___default(); +lean_mark_persistent(l_Lean_Compiler_Simp_Config_increaseFactor___default); +l_Lean_Compiler_Simp_State_unit___default = _init_l_Lean_Compiler_Simp_State_unit___default(); +lean_mark_persistent(l_Lean_Compiler_Simp_State_unit___default); +return lean_io_result_mk_ok(lean_box(0)); +} +#ifdef __cplusplus +} +#endif diff --git a/stage0/stdlib/Lean/Compiler/Stage1.c b/stage0/stdlib/Lean/Compiler/Stage1.c new file mode 100644 index 0000000000..b39246e4db --- /dev/null +++ b/stage0/stdlib/Lean/Compiler/Stage1.c @@ -0,0 +1,1645 @@ +// Lean compiler output +// Module: Lean.Compiler.Stage1 +// Imports: Init Lean.Compiler.Decl +#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 +size_t lean_usize_add(size_t, size_t); +LEAN_EXPORT lean_object* l_Std_PersistentHashMap_find_x3f___at_Lean_Compiler_getStage1Decl_x3f___spec__1(lean_object*, lean_object*); +lean_object* lean_mk_empty_array_with_capacity(lean_object*); +uint8_t lean_usize_dec_eq(size_t, size_t); +lean_object* lean_array_uget(lean_object*, size_t); +LEAN_EXPORT lean_object* l_Lean_Compiler_getStage1Decl_x3f(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_saveStage1Decls___lambda__1(lean_object*, lean_object*); +lean_object* l_Lean_EnvExtensionInterfaceUnsafe_registerExt___rarg(lean_object*, lean_object*); +lean_object* l_Lean_EnvExtensionInterfaceUnsafe_imp___elambda__2___rarg(lean_object*, lean_object*, lean_object*); +size_t lean_usize_sub(size_t, size_t); +lean_object* lean_st_ref_get(lean_object*, lean_object*); +uint8_t lean_name_eq(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_PersistentHashMap_findAux___at_Lean_Compiler_getStage1Decl_x3f___spec__2(lean_object*, size_t, lean_object*); +lean_object* lean_array_push(lean_object*, lean_object*); +lean_object* lean_array_get_size(lean_object*); +lean_object* l_Std_PersistentHashMap_getCollisionNodeSize___rarg(lean_object*); +LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insertAux_traverse___at_Lean_Compiler_saveStage1Decls___spec__3(size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_getConstInfo___at___private_Lean_Compiler_InlineAttrs_0__Lean_Compiler_isValidMacroInline___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); +size_t lean_usize_shift_right(size_t, size_t); +uint8_t lean_usize_dec_lt(size_t, size_t); +LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insertAux_traverse___at_Lean_Compiler_saveStage1Decls___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* lean_nat_add(lean_object*, lean_object*); +size_t lean_uint64_to_usize(uint64_t); +uint64_t l_Lean_Name_hash___override(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_stage1Ext; +lean_object* lean_array_fget(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_getStage1Decl_x3f___spec__4(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*); +lean_object* lean_st_ref_take(lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_getStage1Decl_x3f___closed__2; +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_saveStage1Decls___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_getStage1Decl_x3f___lambda__1___boxed(lean_object*); +static size_t l_Std_PersistentHashMap_insertAux___at_Lean_Compiler_saveStage1Decls___spec__2___closed__2; +static lean_object* l_Lean_Compiler_getStage1Decl_x3f___closed__1; +lean_object* lean_array_get(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_saveStage1Decls___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* lean_array_fset(lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_saveStage1Decls___closed__1; +LEAN_EXPORT lean_object* l_Lean_Compiler_compileStage1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +static size_t l_Std_PersistentHashMap_insertAux___at_Lean_Compiler_saveStage1Decls___spec__2___closed__1; +LEAN_EXPORT lean_object* l_Lean_Compiler_getStage1Decl_x3f___lambda__1(lean_object*); +lean_object* l_Std_PersistentHashMap_mkEmptyEntriesArray(lean_object*, lean_object*); +size_t lean_usize_shift_left(size_t, size_t); +LEAN_EXPORT lean_object* l_Std_PersistentHashMap_findAtAux___at_Lean_Compiler_getStage1Decl_x3f___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insertAux___at_Lean_Compiler_saveStage1Decls___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_Stage1ExtState_decls___default; +size_t lean_usize_mul(size_t, size_t); +static lean_object* l_Lean_Compiler_Stage1ExtState_decls___default___closed__3; +LEAN_EXPORT lean_object* l_Lean_Compiler_initFn____x40_Lean_Compiler_Stage1___hyg_33_(lean_object*); +size_t lean_usize_of_nat(lean_object*); +static lean_object* l_Lean_Compiler_saveStage1Decls___closed__2; +size_t lean_usize_land(size_t, size_t); +LEAN_EXPORT lean_object* l_Lean_Compiler_saveStage1Decls___lambda__1___boxed(lean_object*, lean_object*); +lean_object* l_List_redLength___rarg(lean_object*); +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_getStage1Decl_x3f___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insertAtCollisionNodeAux___at_Lean_Compiler_saveStage1Decls___spec__4(lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_getStage1Decl_x3f___closed__3; +LEAN_EXPORT lean_object* l_Lean_Compiler_saveStage1Decls(lean_object*, lean_object*, lean_object*, lean_object*); +uint8_t lean_nat_dec_le(lean_object*, lean_object*); +uint8_t lean_usize_dec_le(size_t, size_t); +static lean_object* l_Lean_Compiler_Stage1ExtState_decls___default___closed__1; +lean_object* l_Lean_ConstantInfo_all(lean_object*); +lean_object* lean_compile_stage1(lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_initFn____x40_Lean_Compiler_Stage1___hyg_33____closed__1; +LEAN_EXPORT lean_object* l_Std_PersistentHashMap_findAtAux___at_Lean_Compiler_getStage1Decl_x3f___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insert___at_Lean_Compiler_saveStage1Decls___spec__1(lean_object*, lean_object*, lean_object*); +lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); +lean_object* l_List_toArrayAux___rarg(lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_Stage1ExtState_decls___default___closed__2; +LEAN_EXPORT lean_object* l_Lean_Compiler_instInhabitedStage1ExtState; +static lean_object* l_Std_PersistentHashMap_insertAux___at_Lean_Compiler_saveStage1Decls___spec__2___closed__3; +lean_object* lean_usize_to_nat(size_t); +lean_object* l_EStateM_pure___rarg(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_saveStage1Decls___spec__5(lean_object*, size_t, size_t, lean_object*); +lean_object* l_Lean_EnvExtensionInterfaceUnsafe_getState___rarg(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insertAux___at_Lean_Compiler_saveStage1Decls___spec__2(lean_object*, size_t, size_t, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_PersistentHashMap_findAux___at_Lean_Compiler_getStage1Decl_x3f___spec__2___boxed(lean_object*, lean_object*, lean_object*); +lean_object* l_Std_PersistentHashMap_mkEmptyEntries(lean_object*, lean_object*); +lean_object* l_Std_PersistentHashMap_mkCollisionNode___rarg(lean_object*, lean_object*, lean_object*, lean_object*); +uint8_t lean_nat_dec_lt(lean_object*, lean_object*); +static lean_object* _init_l_Lean_Compiler_Stage1ExtState_decls___default___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = l_Std_PersistentHashMap_mkEmptyEntriesArray(lean_box(0), lean_box(0)); +return x_1; +} +} +static lean_object* _init_l_Lean_Compiler_Stage1ExtState_decls___default___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Compiler_Stage1ExtState_decls___default___closed__1; +x_2 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Compiler_Stage1ExtState_decls___default___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Compiler_Stage1ExtState_decls___default___closed__2; +x_2 = lean_unsigned_to_nat(0u); +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_Compiler_Stage1ExtState_decls___default() { +_start: +{ +lean_object* x_1; +x_1 = l_Lean_Compiler_Stage1ExtState_decls___default___closed__3; +return x_1; +} +} +static lean_object* _init_l_Lean_Compiler_instInhabitedStage1ExtState() { +_start: +{ +lean_object* x_1; +x_1 = l_Lean_Compiler_Stage1ExtState_decls___default___closed__3; +return x_1; +} +} +static lean_object* _init_l_Lean_Compiler_initFn____x40_Lean_Compiler_Stage1___hyg_33____closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Compiler_Stage1ExtState_decls___default___closed__3; +x_2 = lean_alloc_closure((void*)(l_EStateM_pure___rarg), 2, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_initFn____x40_Lean_Compiler_Stage1___hyg_33_(lean_object* x_1) { +_start: +{ +lean_object* x_2; lean_object* x_3; +x_2 = l_Lean_Compiler_initFn____x40_Lean_Compiler_Stage1___hyg_33____closed__1; +x_3 = l_Lean_EnvExtensionInterfaceUnsafe_registerExt___rarg(x_2, x_1); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_compileStage1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; +x_5 = lean_compile_stage1(x_1, x_2, x_3, x_4); +return x_5; +} +} +LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insertAux_traverse___at_Lean_Compiler_saveStage1Decls___spec__3(size_t 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; +x_7 = lean_array_get_size(x_2); +x_8 = lean_nat_dec_lt(x_5, x_7); +lean_dec(x_7); +if (x_8 == 0) +{ +lean_dec(x_5); +return x_6; +} +else +{ +lean_object* x_9; lean_object* x_10; uint64_t x_11; size_t x_12; size_t x_13; size_t x_14; size_t x_15; size_t x_16; size_t x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_9 = lean_array_fget(x_2, x_5); +x_10 = lean_array_fget(x_3, x_5); +x_11 = l_Lean_Name_hash___override(x_9); +x_12 = lean_uint64_to_usize(x_11); +x_13 = 1; +x_14 = lean_usize_sub(x_1, x_13); +x_15 = 5; +x_16 = lean_usize_mul(x_15, x_14); +x_17 = lean_usize_shift_right(x_12, x_16); +x_18 = lean_unsigned_to_nat(1u); +x_19 = lean_nat_add(x_5, x_18); +lean_dec(x_5); +x_20 = l_Std_PersistentHashMap_insertAux___at_Lean_Compiler_saveStage1Decls___spec__2(x_6, x_17, x_1, x_9, x_10); +x_4 = lean_box(0); +x_5 = x_19; +x_6 = x_20; +goto _start; +} +} +} +LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insertAtCollisionNodeAux___at_Lean_Compiler_saveStage1Decls___spec__4(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; uint8_t x_8; +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_array_get_size(x_5); +x_8 = lean_nat_dec_lt(x_2, x_7); +lean_dec(x_7); +if (x_8 == 0) +{ +uint8_t x_9; +lean_dec(x_2); +x_9 = !lean_is_exclusive(x_1); +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_1, 1); +lean_dec(x_10); +x_11 = lean_ctor_get(x_1, 0); +lean_dec(x_11); +x_12 = lean_array_push(x_5, x_3); +x_13 = lean_array_push(x_6, x_4); +lean_ctor_set(x_1, 1, x_13); +lean_ctor_set(x_1, 0, x_12); +return x_1; +} +else +{ +lean_object* x_14; lean_object* x_15; lean_object* x_16; +lean_dec(x_1); +x_14 = lean_array_push(x_5, x_3); +x_15 = lean_array_push(x_6, x_4); +x_16 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_16, 0, x_14); +lean_ctor_set(x_16, 1, x_15); +return x_16; +} +} +else +{ +lean_object* x_17; uint8_t x_18; +x_17 = lean_array_fget(x_5, x_2); +x_18 = lean_name_eq(x_3, x_17); +lean_dec(x_17); +if (x_18 == 0) +{ +lean_object* x_19; lean_object* x_20; +lean_dec(x_6); +lean_dec(x_5); +x_19 = lean_unsigned_to_nat(1u); +x_20 = lean_nat_add(x_2, x_19); +lean_dec(x_2); +x_2 = x_20; +goto _start; +} +else +{ +uint8_t x_22; +x_22 = !lean_is_exclusive(x_1); +if (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_1, 1); +lean_dec(x_23); +x_24 = lean_ctor_get(x_1, 0); +lean_dec(x_24); +x_25 = lean_array_fset(x_5, x_2, x_3); +x_26 = lean_array_fset(x_6, x_2, x_4); +lean_dec(x_2); +lean_ctor_set(x_1, 1, x_26); +lean_ctor_set(x_1, 0, x_25); +return x_1; +} +else +{ +lean_object* x_27; lean_object* x_28; lean_object* x_29; +lean_dec(x_1); +x_27 = lean_array_fset(x_5, x_2, x_3); +x_28 = lean_array_fset(x_6, x_2, x_4); +lean_dec(x_2); +x_29 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_29, 0, x_27); +lean_ctor_set(x_29, 1, x_28); +return x_29; +} +} +} +} +} +static size_t _init_l_Std_PersistentHashMap_insertAux___at_Lean_Compiler_saveStage1Decls___spec__2___closed__1() { +_start: +{ +size_t x_1; size_t x_2; size_t x_3; +x_1 = 1; +x_2 = 5; +x_3 = lean_usize_shift_left(x_1, x_2); +return x_3; +} +} +static size_t _init_l_Std_PersistentHashMap_insertAux___at_Lean_Compiler_saveStage1Decls___spec__2___closed__2() { +_start: +{ +size_t x_1; size_t x_2; size_t x_3; +x_1 = 1; +x_2 = l_Std_PersistentHashMap_insertAux___at_Lean_Compiler_saveStage1Decls___spec__2___closed__1; +x_3 = lean_usize_sub(x_2, x_1); +return x_3; +} +} +static lean_object* _init_l_Std_PersistentHashMap_insertAux___at_Lean_Compiler_saveStage1Decls___spec__2___closed__3() { +_start: +{ +lean_object* x_1; +x_1 = l_Std_PersistentHashMap_mkEmptyEntries(lean_box(0), lean_box(0)); +return x_1; +} +} +LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insertAux___at_Lean_Compiler_saveStage1Decls___spec__2(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +uint8_t x_6; +x_6 = !lean_is_exclusive(x_1); +if (x_6 == 0) +{ +lean_object* x_7; size_t x_8; size_t x_9; size_t x_10; size_t x_11; lean_object* x_12; lean_object* x_13; uint8_t x_14; +x_7 = lean_ctor_get(x_1, 0); +x_8 = 1; +x_9 = 5; +x_10 = l_Std_PersistentHashMap_insertAux___at_Lean_Compiler_saveStage1Decls___spec__2___closed__2; +x_11 = lean_usize_land(x_2, x_10); +x_12 = lean_usize_to_nat(x_11); +x_13 = lean_array_get_size(x_7); +x_14 = lean_nat_dec_lt(x_12, x_13); +lean_dec(x_13); +if (x_14 == 0) +{ +lean_dec(x_12); +lean_dec(x_5); +lean_dec(x_4); +return x_1; +} +else +{ +lean_object* x_15; lean_object* x_16; lean_object* x_17; +x_15 = lean_array_fget(x_7, x_12); +x_16 = lean_box(0); +x_17 = lean_array_fset(x_7, x_12, x_16); +switch (lean_obj_tag(x_15)) { +case 0: +{ +uint8_t x_18; +x_18 = !lean_is_exclusive(x_15); +if (x_18 == 0) +{ +lean_object* x_19; lean_object* x_20; uint8_t x_21; +x_19 = lean_ctor_get(x_15, 0); +x_20 = lean_ctor_get(x_15, 1); +x_21 = lean_name_eq(x_4, x_19); +if (x_21 == 0) +{ +lean_object* x_22; lean_object* x_23; lean_object* x_24; +lean_free_object(x_15); +x_22 = l_Std_PersistentHashMap_mkCollisionNode___rarg(x_19, x_20, x_4, x_5); +x_23 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_23, 0, x_22); +x_24 = lean_array_fset(x_17, x_12, x_23); +lean_dec(x_12); +lean_ctor_set(x_1, 0, x_24); +return x_1; +} +else +{ +lean_object* x_25; +lean_dec(x_20); +lean_dec(x_19); +lean_ctor_set(x_15, 1, x_5); +lean_ctor_set(x_15, 0, x_4); +x_25 = lean_array_fset(x_17, x_12, x_15); +lean_dec(x_12); +lean_ctor_set(x_1, 0, x_25); +return x_1; +} +} +else +{ +lean_object* x_26; lean_object* x_27; uint8_t x_28; +x_26 = lean_ctor_get(x_15, 0); +x_27 = lean_ctor_get(x_15, 1); +lean_inc(x_27); +lean_inc(x_26); +lean_dec(x_15); +x_28 = lean_name_eq(x_4, x_26); +if (x_28 == 0) +{ +lean_object* x_29; lean_object* x_30; lean_object* x_31; +x_29 = l_Std_PersistentHashMap_mkCollisionNode___rarg(x_26, x_27, x_4, x_5); +x_30 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_30, 0, x_29); +x_31 = lean_array_fset(x_17, x_12, x_30); +lean_dec(x_12); +lean_ctor_set(x_1, 0, x_31); +return x_1; +} +else +{ +lean_object* x_32; lean_object* x_33; +lean_dec(x_27); +lean_dec(x_26); +x_32 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_32, 0, x_4); +lean_ctor_set(x_32, 1, x_5); +x_33 = lean_array_fset(x_17, x_12, x_32); +lean_dec(x_12); +lean_ctor_set(x_1, 0, x_33); +return x_1; +} +} +} +case 1: +{ +uint8_t x_34; +x_34 = !lean_is_exclusive(x_15); +if (x_34 == 0) +{ +lean_object* x_35; size_t x_36; size_t x_37; lean_object* x_38; lean_object* x_39; +x_35 = lean_ctor_get(x_15, 0); +x_36 = lean_usize_shift_right(x_2, x_9); +x_37 = lean_usize_add(x_3, x_8); +x_38 = l_Std_PersistentHashMap_insertAux___at_Lean_Compiler_saveStage1Decls___spec__2(x_35, x_36, x_37, x_4, x_5); +lean_ctor_set(x_15, 0, x_38); +x_39 = lean_array_fset(x_17, x_12, x_15); +lean_dec(x_12); +lean_ctor_set(x_1, 0, x_39); +return x_1; +} +else +{ +lean_object* x_40; size_t x_41; size_t x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; +x_40 = lean_ctor_get(x_15, 0); +lean_inc(x_40); +lean_dec(x_15); +x_41 = lean_usize_shift_right(x_2, x_9); +x_42 = lean_usize_add(x_3, x_8); +x_43 = l_Std_PersistentHashMap_insertAux___at_Lean_Compiler_saveStage1Decls___spec__2(x_40, x_41, x_42, x_4, x_5); +x_44 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_44, 0, x_43); +x_45 = lean_array_fset(x_17, x_12, x_44); +lean_dec(x_12); +lean_ctor_set(x_1, 0, x_45); +return x_1; +} +} +default: +{ +lean_object* x_46; lean_object* x_47; +x_46 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_46, 0, x_4); +lean_ctor_set(x_46, 1, x_5); +x_47 = lean_array_fset(x_17, x_12, x_46); +lean_dec(x_12); +lean_ctor_set(x_1, 0, x_47); +return x_1; +} +} +} +} +else +{ +lean_object* x_48; size_t x_49; size_t x_50; size_t x_51; size_t x_52; lean_object* x_53; lean_object* x_54; uint8_t x_55; +x_48 = lean_ctor_get(x_1, 0); +lean_inc(x_48); +lean_dec(x_1); +x_49 = 1; +x_50 = 5; +x_51 = l_Std_PersistentHashMap_insertAux___at_Lean_Compiler_saveStage1Decls___spec__2___closed__2; +x_52 = lean_usize_land(x_2, x_51); +x_53 = lean_usize_to_nat(x_52); +x_54 = lean_array_get_size(x_48); +x_55 = lean_nat_dec_lt(x_53, x_54); +lean_dec(x_54); +if (x_55 == 0) +{ +lean_object* x_56; +lean_dec(x_53); +lean_dec(x_5); +lean_dec(x_4); +x_56 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_56, 0, x_48); +return x_56; +} +else +{ +lean_object* x_57; lean_object* x_58; lean_object* x_59; +x_57 = lean_array_fget(x_48, x_53); +x_58 = lean_box(0); +x_59 = lean_array_fset(x_48, x_53, x_58); +switch (lean_obj_tag(x_57)) { +case 0: +{ +lean_object* x_60; lean_object* x_61; lean_object* x_62; uint8_t x_63; +x_60 = lean_ctor_get(x_57, 0); +lean_inc(x_60); +x_61 = lean_ctor_get(x_57, 1); +lean_inc(x_61); +if (lean_is_exclusive(x_57)) { + lean_ctor_release(x_57, 0); + lean_ctor_release(x_57, 1); + x_62 = x_57; +} else { + lean_dec_ref(x_57); + x_62 = lean_box(0); +} +x_63 = lean_name_eq(x_4, x_60); +if (x_63 == 0) +{ +lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; +lean_dec(x_62); +x_64 = l_Std_PersistentHashMap_mkCollisionNode___rarg(x_60, x_61, x_4, x_5); +x_65 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_65, 0, x_64); +x_66 = lean_array_fset(x_59, x_53, x_65); +lean_dec(x_53); +x_67 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_67, 0, x_66); +return x_67; +} +else +{ +lean_object* x_68; lean_object* x_69; lean_object* x_70; +lean_dec(x_61); +lean_dec(x_60); +if (lean_is_scalar(x_62)) { + x_68 = lean_alloc_ctor(0, 2, 0); +} else { + x_68 = x_62; +} +lean_ctor_set(x_68, 0, x_4); +lean_ctor_set(x_68, 1, x_5); +x_69 = lean_array_fset(x_59, x_53, x_68); +lean_dec(x_53); +x_70 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_70, 0, x_69); +return x_70; +} +} +case 1: +{ +lean_object* x_71; lean_object* x_72; size_t x_73; size_t x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; +x_71 = lean_ctor_get(x_57, 0); +lean_inc(x_71); +if (lean_is_exclusive(x_57)) { + lean_ctor_release(x_57, 0); + x_72 = x_57; +} else { + lean_dec_ref(x_57); + x_72 = lean_box(0); +} +x_73 = lean_usize_shift_right(x_2, x_50); +x_74 = lean_usize_add(x_3, x_49); +x_75 = l_Std_PersistentHashMap_insertAux___at_Lean_Compiler_saveStage1Decls___spec__2(x_71, x_73, x_74, x_4, x_5); +if (lean_is_scalar(x_72)) { + x_76 = lean_alloc_ctor(1, 1, 0); +} else { + x_76 = x_72; +} +lean_ctor_set(x_76, 0, x_75); +x_77 = lean_array_fset(x_59, x_53, x_76); +lean_dec(x_53); +x_78 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_78, 0, x_77); +return x_78; +} +default: +{ +lean_object* x_79; lean_object* x_80; lean_object* x_81; +x_79 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_79, 0, x_4); +lean_ctor_set(x_79, 1, x_5); +x_80 = lean_array_fset(x_59, x_53, x_79); +lean_dec(x_53); +x_81 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_81, 0, x_80); +return x_81; +} +} +} +} +} +else +{ +uint8_t x_82; +x_82 = !lean_is_exclusive(x_1); +if (x_82 == 0) +{ +lean_object* x_83; lean_object* x_84; size_t x_85; uint8_t x_86; +x_83 = lean_unsigned_to_nat(0u); +x_84 = l_Std_PersistentHashMap_insertAtCollisionNodeAux___at_Lean_Compiler_saveStage1Decls___spec__4(x_1, x_83, x_4, x_5); +x_85 = 7; +x_86 = lean_usize_dec_le(x_85, x_3); +if (x_86 == 0) +{ +lean_object* x_87; lean_object* x_88; uint8_t x_89; +x_87 = l_Std_PersistentHashMap_getCollisionNodeSize___rarg(x_84); +x_88 = lean_unsigned_to_nat(4u); +x_89 = lean_nat_dec_lt(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; +x_90 = lean_ctor_get(x_84, 0); +lean_inc(x_90); +x_91 = lean_ctor_get(x_84, 1); +lean_inc(x_91); +lean_dec(x_84); +x_92 = l_Std_PersistentHashMap_insertAux___at_Lean_Compiler_saveStage1Decls___spec__2___closed__3; +x_93 = l_Std_PersistentHashMap_insertAux_traverse___at_Lean_Compiler_saveStage1Decls___spec__3(x_3, x_90, x_91, lean_box(0), x_83, x_92); +lean_dec(x_91); +lean_dec(x_90); +return x_93; +} +else +{ +return x_84; +} +} +else +{ +return x_84; +} +} +else +{ +lean_object* x_94; lean_object* 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_ctor_get(x_1, 0); +x_95 = lean_ctor_get(x_1, 1); +lean_inc(x_95); +lean_inc(x_94); +lean_dec(x_1); +x_96 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_96, 0, x_94); +lean_ctor_set(x_96, 1, x_95); +x_97 = lean_unsigned_to_nat(0u); +x_98 = l_Std_PersistentHashMap_insertAtCollisionNodeAux___at_Lean_Compiler_saveStage1Decls___spec__4(x_96, x_97, x_4, x_5); +x_99 = 7; +x_100 = lean_usize_dec_le(x_99, x_3); +if (x_100 == 0) +{ +lean_object* x_101; lean_object* x_102; uint8_t x_103; +x_101 = l_Std_PersistentHashMap_getCollisionNodeSize___rarg(x_98); +x_102 = lean_unsigned_to_nat(4u); +x_103 = lean_nat_dec_lt(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; +x_104 = lean_ctor_get(x_98, 0); +lean_inc(x_104); +x_105 = lean_ctor_get(x_98, 1); +lean_inc(x_105); +lean_dec(x_98); +x_106 = l_Std_PersistentHashMap_insertAux___at_Lean_Compiler_saveStage1Decls___spec__2___closed__3; +x_107 = l_Std_PersistentHashMap_insertAux_traverse___at_Lean_Compiler_saveStage1Decls___spec__3(x_3, x_104, x_105, lean_box(0), x_97, x_106); +lean_dec(x_105); +lean_dec(x_104); +return x_107; +} +else +{ +return x_98; +} +} +else +{ +return x_98; +} +} +} +} +} +LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insert___at_Lean_Compiler_saveStage1Decls___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +uint8_t x_4; +x_4 = !lean_is_exclusive(x_1); +if (x_4 == 0) +{ +lean_object* x_5; lean_object* x_6; uint64_t x_7; size_t x_8; size_t x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_5 = lean_ctor_get(x_1, 0); +x_6 = lean_ctor_get(x_1, 1); +x_7 = l_Lean_Name_hash___override(x_2); +x_8 = lean_uint64_to_usize(x_7); +x_9 = 1; +x_10 = l_Std_PersistentHashMap_insertAux___at_Lean_Compiler_saveStage1Decls___spec__2(x_5, x_8, x_9, x_2, x_3); +x_11 = lean_unsigned_to_nat(1u); +x_12 = lean_nat_add(x_6, x_11); +lean_dec(x_6); +lean_ctor_set(x_1, 1, x_12); +lean_ctor_set(x_1, 0, x_10); +return x_1; +} +else +{ +lean_object* x_13; lean_object* x_14; uint64_t x_15; size_t x_16; size_t x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_13 = lean_ctor_get(x_1, 0); +x_14 = lean_ctor_get(x_1, 1); +lean_inc(x_14); +lean_inc(x_13); +lean_dec(x_1); +x_15 = l_Lean_Name_hash___override(x_2); +x_16 = lean_uint64_to_usize(x_15); +x_17 = 1; +x_18 = l_Std_PersistentHashMap_insertAux___at_Lean_Compiler_saveStage1Decls___spec__2(x_13, x_16, x_17, x_2, x_3); +x_19 = lean_unsigned_to_nat(1u); +x_20 = lean_nat_add(x_14, x_19); +lean_dec(x_14); +x_21 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_21, 0, x_18); +lean_ctor_set(x_21, 1, x_20); +return x_21; +} +} +} +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_saveStage1Decls___spec__5(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4) { +_start: +{ +uint8_t x_5; +x_5 = lean_usize_dec_eq(x_2, x_3); +if (x_5 == 0) +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; size_t x_9; size_t x_10; +x_6 = lean_array_uget(x_1, x_2); +x_7 = lean_ctor_get(x_6, 0); +lean_inc(x_7); +x_8 = l_Std_PersistentHashMap_insert___at_Lean_Compiler_saveStage1Decls___spec__1(x_4, x_7, x_6); +x_9 = 1; +x_10 = lean_usize_add(x_2, x_9); +x_2 = x_10; +x_4 = x_8; +goto _start; +} +else +{ +return x_4; +} +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_saveStage1Decls___lambda__1(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; lean_object* x_4; uint8_t x_5; +x_3 = lean_array_get_size(x_1); +x_4 = lean_unsigned_to_nat(0u); +x_5 = lean_nat_dec_lt(x_4, x_3); +if (x_5 == 0) +{ +lean_dec(x_3); +return x_2; +} +else +{ +uint8_t x_6; +x_6 = lean_nat_dec_le(x_3, x_3); +if (x_6 == 0) +{ +lean_dec(x_3); +return x_2; +} +else +{ +size_t x_7; size_t x_8; lean_object* x_9; +x_7 = 0; +x_8 = lean_usize_of_nat(x_3); +lean_dec(x_3); +x_9 = l_Array_foldlMUnsafe_fold___at_Lean_Compiler_saveStage1Decls___spec__5(x_1, x_7, x_8, x_2); +return x_9; +} +} +} +} +static lean_object* _init_l_Lean_Compiler_saveStage1Decls___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = l_Lean_Compiler_stage1Ext; +return x_1; +} +} +static lean_object* _init_l_Lean_Compiler_saveStage1Decls___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Compiler_Stage1ExtState_decls___default___closed__3; +x_2 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_2, 0, x_1); +lean_ctor_set(x_2, 1, x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_saveStage1Decls(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; uint8_t x_8; +x_5 = lean_st_ref_take(x_3, x_4); +x_6 = lean_ctor_get(x_5, 0); +lean_inc(x_6); +x_7 = lean_ctor_get(x_5, 1); +lean_inc(x_7); +lean_dec(x_5); +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; uint8_t x_16; +x_9 = lean_ctor_get(x_6, 0); +x_10 = lean_ctor_get(x_6, 4); +lean_dec(x_10); +x_11 = lean_alloc_closure((void*)(l_Lean_Compiler_saveStage1Decls___lambda__1___boxed), 2, 1); +lean_closure_set(x_11, 0, x_1); +x_12 = l_Lean_Compiler_saveStage1Decls___closed__1; +x_13 = l_Lean_EnvExtensionInterfaceUnsafe_imp___elambda__2___rarg(x_12, x_9, x_11); +x_14 = l_Lean_Compiler_saveStage1Decls___closed__2; +lean_ctor_set(x_6, 4, x_14); +lean_ctor_set(x_6, 0, x_13); +x_15 = lean_st_ref_set(x_3, x_6, x_7); +x_16 = !lean_is_exclusive(x_15); +if (x_16 == 0) +{ +lean_object* x_17; lean_object* x_18; +x_17 = lean_ctor_get(x_15, 0); +lean_dec(x_17); +x_18 = lean_box(0); +lean_ctor_set(x_15, 0, x_18); +return x_15; +} +else +{ +lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_19 = lean_ctor_get(x_15, 1); +lean_inc(x_19); +lean_dec(x_15); +x_20 = lean_box(0); +x_21 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_21, 0, x_20); +lean_ctor_set(x_21, 1, x_19); +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_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_22 = lean_ctor_get(x_6, 0); +x_23 = lean_ctor_get(x_6, 1); +x_24 = lean_ctor_get(x_6, 2); +x_25 = lean_ctor_get(x_6, 3); +x_26 = lean_ctor_get(x_6, 5); +x_27 = lean_ctor_get(x_6, 6); +lean_inc(x_27); +lean_inc(x_26); +lean_inc(x_25); +lean_inc(x_24); +lean_inc(x_23); +lean_inc(x_22); +lean_dec(x_6); +x_28 = lean_alloc_closure((void*)(l_Lean_Compiler_saveStage1Decls___lambda__1___boxed), 2, 1); +lean_closure_set(x_28, 0, x_1); +x_29 = l_Lean_Compiler_saveStage1Decls___closed__1; +x_30 = l_Lean_EnvExtensionInterfaceUnsafe_imp___elambda__2___rarg(x_29, x_22, x_28); +x_31 = l_Lean_Compiler_saveStage1Decls___closed__2; +x_32 = lean_alloc_ctor(0, 7, 0); +lean_ctor_set(x_32, 0, x_30); +lean_ctor_set(x_32, 1, x_23); +lean_ctor_set(x_32, 2, x_24); +lean_ctor_set(x_32, 3, x_25); +lean_ctor_set(x_32, 4, x_31); +lean_ctor_set(x_32, 5, x_26); +lean_ctor_set(x_32, 6, x_27); +x_33 = lean_st_ref_set(x_3, x_32, x_7); +x_34 = lean_ctor_get(x_33, 1); +lean_inc(x_34); +if (lean_is_exclusive(x_33)) { + lean_ctor_release(x_33, 0); + lean_ctor_release(x_33, 1); + x_35 = x_33; +} else { + lean_dec_ref(x_33); + x_35 = lean_box(0); +} +x_36 = lean_box(0); +if (lean_is_scalar(x_35)) { + x_37 = lean_alloc_ctor(0, 2, 0); +} else { + x_37 = x_35; +} +lean_ctor_set(x_37, 0, x_36); +lean_ctor_set(x_37, 1, x_34); +return x_37; +} +} +} +LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insertAux_traverse___at_Lean_Compiler_saveStage1Decls___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_1); +lean_dec(x_1); +x_8 = l_Std_PersistentHashMap_insertAux_traverse___at_Lean_Compiler_saveStage1Decls___spec__3(x_7, x_2, x_3, x_4, x_5, x_6); +lean_dec(x_3); +lean_dec(x_2); +return x_8; +} +} +LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insertAux___at_Lean_Compiler_saveStage1Decls___spec__2___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; size_t x_7; lean_object* x_8; +x_6 = lean_unbox_usize(x_2); +lean_dec(x_2); +x_7 = lean_unbox_usize(x_3); +lean_dec(x_3); +x_8 = l_Std_PersistentHashMap_insertAux___at_Lean_Compiler_saveStage1Decls___spec__2(x_1, x_6, x_7, x_4, x_5); +return x_8; +} +} +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_saveStage1Decls___spec__5___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +size_t x_5; size_t x_6; lean_object* x_7; +x_5 = lean_unbox_usize(x_2); +lean_dec(x_2); +x_6 = lean_unbox_usize(x_3); +lean_dec(x_3); +x_7 = l_Array_foldlMUnsafe_fold___at_Lean_Compiler_saveStage1Decls___spec__5(x_1, x_5, x_6, x_4); +lean_dec(x_1); +return x_7; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_saveStage1Decls___lambda__1___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = l_Lean_Compiler_saveStage1Decls___lambda__1(x_1, x_2); +lean_dec(x_1); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_saveStage1Decls___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_Compiler_saveStage1Decls(x_1, x_2, x_3, x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_5; +} +} +LEAN_EXPORT lean_object* l_Std_PersistentHashMap_findAtAux___at_Lean_Compiler_getStage1Decl_x3f___spec__3(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; uint8_t x_7; +x_6 = lean_array_get_size(x_1); +x_7 = lean_nat_dec_lt(x_4, x_6); +lean_dec(x_6); +if (x_7 == 0) +{ +lean_object* x_8; +lean_dec(x_4); +x_8 = lean_box(0); +return x_8; +} +else +{ +lean_object* x_9; uint8_t x_10; +x_9 = lean_array_fget(x_1, x_4); +x_10 = lean_name_eq(x_5, x_9); +lean_dec(x_9); +if (x_10 == 0) +{ +lean_object* x_11; lean_object* x_12; +x_11 = lean_unsigned_to_nat(1u); +x_12 = lean_nat_add(x_4, x_11); +lean_dec(x_4); +x_3 = lean_box(0); +x_4 = x_12; +goto _start; +} +else +{ +lean_object* x_14; lean_object* x_15; +x_14 = lean_array_fget(x_2, x_4); +lean_dec(x_4); +x_15 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_15, 0, x_14); +return x_15; +} +} +} +} +LEAN_EXPORT lean_object* l_Std_PersistentHashMap_findAux___at_Lean_Compiler_getStage1Decl_x3f___spec__2(lean_object* x_1, size_t x_2, lean_object* x_3) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +lean_object* x_4; size_t x_5; size_t x_6; size_t x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; +x_4 = lean_ctor_get(x_1, 0); +lean_inc(x_4); +lean_dec(x_1); +x_5 = 5; +x_6 = l_Std_PersistentHashMap_insertAux___at_Lean_Compiler_saveStage1Decls___spec__2___closed__2; +x_7 = lean_usize_land(x_2, x_6); +x_8 = lean_usize_to_nat(x_7); +x_9 = lean_box(2); +x_10 = lean_array_get(x_9, x_4, x_8); +lean_dec(x_8); +lean_dec(x_4); +switch (lean_obj_tag(x_10)) { +case 0: +{ +lean_object* x_11; lean_object* x_12; uint8_t x_13; +x_11 = lean_ctor_get(x_10, 0); +lean_inc(x_11); +x_12 = lean_ctor_get(x_10, 1); +lean_inc(x_12); +lean_dec(x_10); +x_13 = lean_name_eq(x_3, x_11); +lean_dec(x_11); +if (x_13 == 0) +{ +lean_object* x_14; +lean_dec(x_12); +x_14 = lean_box(0); +return x_14; +} +else +{ +lean_object* x_15; +x_15 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_15, 0, x_12); +return x_15; +} +} +case 1: +{ +lean_object* x_16; size_t x_17; +x_16 = lean_ctor_get(x_10, 0); +lean_inc(x_16); +lean_dec(x_10); +x_17 = lean_usize_shift_right(x_2, x_5); +x_1 = x_16; +x_2 = x_17; +goto _start; +} +default: +{ +lean_object* x_19; +x_19 = lean_box(0); +return x_19; +} +} +} +else +{ +lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; +x_20 = lean_ctor_get(x_1, 0); +lean_inc(x_20); +x_21 = lean_ctor_get(x_1, 1); +lean_inc(x_21); +lean_dec(x_1); +x_22 = lean_unsigned_to_nat(0u); +x_23 = l_Std_PersistentHashMap_findAtAux___at_Lean_Compiler_getStage1Decl_x3f___spec__3(x_20, x_21, lean_box(0), x_22, x_3); +lean_dec(x_21); +lean_dec(x_20); +return x_23; +} +} +} +LEAN_EXPORT lean_object* l_Std_PersistentHashMap_find_x3f___at_Lean_Compiler_getStage1Decl_x3f___spec__1(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; uint64_t x_4; size_t x_5; lean_object* x_6; +x_3 = lean_ctor_get(x_1, 0); +lean_inc(x_3); +lean_dec(x_1); +x_4 = l_Lean_Name_hash___override(x_2); +x_5 = lean_uint64_to_usize(x_4); +x_6 = l_Std_PersistentHashMap_findAux___at_Lean_Compiler_getStage1Decl_x3f___spec__2(x_3, x_5, x_2); +lean_dec(x_2); +return x_6; +} +} +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_getStage1Decl_x3f___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) { +_start: +{ +uint8_t x_7; +x_7 = lean_usize_dec_lt(x_5, x_4); +if (x_7 == 0) +{ +lean_inc(x_6); +return x_6; +} +else +{ +lean_object* x_8; lean_object* x_9; uint8_t x_10; +x_8 = lean_array_uget(x_3, x_5); +x_9 = lean_ctor_get(x_8, 0); +lean_inc(x_9); +x_10 = lean_name_eq(x_1, x_9); +lean_dec(x_9); +if (x_10 == 0) +{ +size_t x_11; size_t x_12; +lean_dec(x_8); +x_11 = 1; +x_12 = lean_usize_add(x_5, x_11); +{ +size_t _tmp_4 = x_12; +lean_object* _tmp_5 = x_2; +x_5 = _tmp_4; +x_6 = _tmp_5; +} +goto _start; +} +else +{ +lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; +x_14 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_14, 0, x_8); +x_15 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_15, 0, x_14); +x_16 = lean_box(0); +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; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_getStage1Decl_x3f___lambda__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_box(0); +return x_2; +} +} +static lean_object* _init_l_Lean_Compiler_getStage1Decl_x3f___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = lean_box(0); +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_Compiler_getStage1Decl_x3f___closed__2() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Compiler_getStage1Decl_x3f___lambda__1___boxed), 1, 0); +return x_1; +} +} +static lean_object* _init_l_Lean_Compiler_getStage1Decl_x3f___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Compiler_getStage1Decl_x3f___closed__2; +x_2 = lean_box(0); +x_3 = lean_apply_1(x_1, x_2); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_getStage1Decl_x3f(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_st_ref_get(x_3, x_4); +x_6 = !lean_is_exclusive(x_5); +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_12; lean_object* x_13; +x_7 = lean_ctor_get(x_5, 0); +x_8 = lean_ctor_get(x_5, 1); +x_9 = lean_ctor_get(x_7, 0); +lean_inc(x_9); +lean_dec(x_7); +x_10 = l_Lean_Compiler_instInhabitedStage1ExtState; +x_11 = l_Lean_Compiler_saveStage1Decls___closed__1; +x_12 = l_Lean_EnvExtensionInterfaceUnsafe_getState___rarg(x_10, x_11, x_9); +lean_dec(x_9); +lean_inc(x_1); +x_13 = l_Std_PersistentHashMap_find_x3f___at_Lean_Compiler_getStage1Decl_x3f___spec__1(x_12, x_1); +if (lean_obj_tag(x_13) == 0) +{ +lean_object* x_14; +lean_free_object(x_5); +lean_inc(x_1); +x_14 = l_Lean_getConstInfo___at___private_Lean_Compiler_InlineAttrs_0__Lean_Compiler_isValidMacroInline___spec__1(x_1, x_2, x_3, x_8); +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_14, 0); +lean_inc(x_15); +x_16 = lean_ctor_get(x_14, 1); +lean_inc(x_16); +lean_dec(x_14); +x_17 = l_Lean_ConstantInfo_all(x_15); +lean_dec(x_15); +x_18 = l_List_redLength___rarg(x_17); +x_19 = lean_mk_empty_array_with_capacity(x_18); +lean_dec(x_18); +x_20 = l_List_toArrayAux___rarg(x_17, x_19); +x_21 = lean_compile_stage1(x_20, x_2, x_3, 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; size_t x_25; size_t x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; +x_23 = lean_ctor_get(x_21, 0); +x_24 = lean_array_get_size(x_23); +x_25 = lean_usize_of_nat(x_24); +lean_dec(x_24); +x_26 = 0; +x_27 = l_Lean_Compiler_getStage1Decl_x3f___closed__1; +x_28 = l_Array_forInUnsafe_loop___at_Lean_Compiler_getStage1Decl_x3f___spec__4(x_1, x_27, x_23, x_25, x_26, x_27); +lean_dec(x_23); +lean_dec(x_1); +x_29 = lean_ctor_get(x_28, 0); +lean_inc(x_29); +lean_dec(x_28); +if (lean_obj_tag(x_29) == 0) +{ +lean_object* x_30; +x_30 = l_Lean_Compiler_getStage1Decl_x3f___closed__3; +lean_ctor_set(x_21, 0, x_30); +return x_21; +} +else +{ +lean_object* x_31; +x_31 = lean_ctor_get(x_29, 0); +lean_inc(x_31); +lean_dec(x_29); +lean_ctor_set(x_21, 0, x_31); +return x_21; +} +} +else +{ +lean_object* x_32; lean_object* x_33; lean_object* x_34; size_t x_35; size_t x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; +x_32 = lean_ctor_get(x_21, 0); +x_33 = lean_ctor_get(x_21, 1); +lean_inc(x_33); +lean_inc(x_32); +lean_dec(x_21); +x_34 = lean_array_get_size(x_32); +x_35 = lean_usize_of_nat(x_34); +lean_dec(x_34); +x_36 = 0; +x_37 = l_Lean_Compiler_getStage1Decl_x3f___closed__1; +x_38 = l_Array_forInUnsafe_loop___at_Lean_Compiler_getStage1Decl_x3f___spec__4(x_1, x_37, x_32, x_35, x_36, x_37); +lean_dec(x_32); +lean_dec(x_1); +x_39 = lean_ctor_get(x_38, 0); +lean_inc(x_39); +lean_dec(x_38); +if (lean_obj_tag(x_39) == 0) +{ +lean_object* x_40; lean_object* x_41; +x_40 = l_Lean_Compiler_getStage1Decl_x3f___closed__3; +x_41 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_41, 0, x_40); +lean_ctor_set(x_41, 1, x_33); +return x_41; +} +else +{ +lean_object* x_42; lean_object* x_43; +x_42 = lean_ctor_get(x_39, 0); +lean_inc(x_42); +lean_dec(x_39); +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 +{ +uint8_t x_44; +lean_dec(x_1); +x_44 = !lean_is_exclusive(x_21); +if (x_44 == 0) +{ +return x_21; +} +else +{ +lean_object* x_45; lean_object* x_46; lean_object* x_47; +x_45 = lean_ctor_get(x_21, 0); +x_46 = lean_ctor_get(x_21, 1); +lean_inc(x_46); +lean_inc(x_45); +lean_dec(x_21); +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_48; +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_48 = !lean_is_exclusive(x_14); +if (x_48 == 0) +{ +return x_14; +} +else +{ +lean_object* x_49; lean_object* x_50; lean_object* x_51; +x_49 = lean_ctor_get(x_14, 0); +x_50 = lean_ctor_get(x_14, 1); +lean_inc(x_50); +lean_inc(x_49); +lean_dec(x_14); +x_51 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_51, 0, x_49); +lean_ctor_set(x_51, 1, x_50); +return x_51; +} +} +} +else +{ +uint8_t x_52; +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_52 = !lean_is_exclusive(x_13); +if (x_52 == 0) +{ +lean_ctor_set(x_5, 0, x_13); +return x_5; +} +else +{ +lean_object* x_53; lean_object* x_54; +x_53 = lean_ctor_get(x_13, 0); +lean_inc(x_53); +lean_dec(x_13); +x_54 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_54, 0, x_53); +lean_ctor_set(x_5, 0, x_54); +return x_5; +} +} +} +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_5, 0); +x_56 = lean_ctor_get(x_5, 1); +lean_inc(x_56); +lean_inc(x_55); +lean_dec(x_5); +x_57 = lean_ctor_get(x_55, 0); +lean_inc(x_57); +lean_dec(x_55); +x_58 = l_Lean_Compiler_instInhabitedStage1ExtState; +x_59 = l_Lean_Compiler_saveStage1Decls___closed__1; +x_60 = l_Lean_EnvExtensionInterfaceUnsafe_getState___rarg(x_58, x_59, x_57); +lean_dec(x_57); +lean_inc(x_1); +x_61 = l_Std_PersistentHashMap_find_x3f___at_Lean_Compiler_getStage1Decl_x3f___spec__1(x_60, x_1); +if (lean_obj_tag(x_61) == 0) +{ +lean_object* x_62; +lean_inc(x_1); +x_62 = l_Lean_getConstInfo___at___private_Lean_Compiler_InlineAttrs_0__Lean_Compiler_isValidMacroInline___spec__1(x_1, x_2, x_3, x_56); +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; lean_object* x_68; lean_object* x_69; +x_63 = lean_ctor_get(x_62, 0); +lean_inc(x_63); +x_64 = lean_ctor_get(x_62, 1); +lean_inc(x_64); +lean_dec(x_62); +x_65 = l_Lean_ConstantInfo_all(x_63); +lean_dec(x_63); +x_66 = l_List_redLength___rarg(x_65); +x_67 = lean_mk_empty_array_with_capacity(x_66); +lean_dec(x_66); +x_68 = l_List_toArrayAux___rarg(x_65, x_67); +x_69 = lean_compile_stage1(x_68, x_2, x_3, x_64); +if (lean_obj_tag(x_69) == 0) +{ +lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; size_t x_74; size_t x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; +x_70 = lean_ctor_get(x_69, 0); +lean_inc(x_70); +x_71 = lean_ctor_get(x_69, 1); +lean_inc(x_71); +if (lean_is_exclusive(x_69)) { + lean_ctor_release(x_69, 0); + lean_ctor_release(x_69, 1); + x_72 = x_69; +} else { + lean_dec_ref(x_69); + x_72 = lean_box(0); +} +x_73 = lean_array_get_size(x_70); +x_74 = lean_usize_of_nat(x_73); +lean_dec(x_73); +x_75 = 0; +x_76 = l_Lean_Compiler_getStage1Decl_x3f___closed__1; +x_77 = l_Array_forInUnsafe_loop___at_Lean_Compiler_getStage1Decl_x3f___spec__4(x_1, x_76, x_70, x_74, x_75, x_76); +lean_dec(x_70); +lean_dec(x_1); +x_78 = lean_ctor_get(x_77, 0); +lean_inc(x_78); +lean_dec(x_77); +if (lean_obj_tag(x_78) == 0) +{ +lean_object* x_79; lean_object* x_80; +x_79 = l_Lean_Compiler_getStage1Decl_x3f___closed__3; +if (lean_is_scalar(x_72)) { + x_80 = lean_alloc_ctor(0, 2, 0); +} else { + x_80 = x_72; +} +lean_ctor_set(x_80, 0, x_79); +lean_ctor_set(x_80, 1, x_71); +return x_80; +} +else +{ +lean_object* x_81; lean_object* x_82; +x_81 = lean_ctor_get(x_78, 0); +lean_inc(x_81); +lean_dec(x_78); +if (lean_is_scalar(x_72)) { + x_82 = lean_alloc_ctor(0, 2, 0); +} else { + x_82 = x_72; +} +lean_ctor_set(x_82, 0, x_81); +lean_ctor_set(x_82, 1, x_71); +return x_82; +} +} +else +{ +lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; +lean_dec(x_1); +x_83 = lean_ctor_get(x_69, 0); +lean_inc(x_83); +x_84 = lean_ctor_get(x_69, 1); +lean_inc(x_84); +if (lean_is_exclusive(x_69)) { + lean_ctor_release(x_69, 0); + lean_ctor_release(x_69, 1); + x_85 = x_69; +} else { + lean_dec_ref(x_69); + x_85 = lean_box(0); +} +if (lean_is_scalar(x_85)) { + x_86 = lean_alloc_ctor(1, 2, 0); +} else { + x_86 = x_85; +} +lean_ctor_set(x_86, 0, x_83); +lean_ctor_set(x_86, 1, x_84); +return x_86; +} +} +else +{ +lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_87 = lean_ctor_get(x_62, 0); +lean_inc(x_87); +x_88 = lean_ctor_get(x_62, 1); +lean_inc(x_88); +if (lean_is_exclusive(x_62)) { + lean_ctor_release(x_62, 0); + lean_ctor_release(x_62, 1); + x_89 = x_62; +} else { + lean_dec_ref(x_62); + 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(x_90, 0, x_87); +lean_ctor_set(x_90, 1, x_88); +return x_90; +} +} +else +{ +lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_91 = lean_ctor_get(x_61, 0); +lean_inc(x_91); +if (lean_is_exclusive(x_61)) { + lean_ctor_release(x_61, 0); + x_92 = x_61; +} else { + lean_dec_ref(x_61); + x_92 = lean_box(0); +} +if (lean_is_scalar(x_92)) { + x_93 = lean_alloc_ctor(1, 1, 0); +} else { + x_93 = x_92; +} +lean_ctor_set(x_93, 0, x_91); +x_94 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_94, 0, x_93); +lean_ctor_set(x_94, 1, x_56); +return x_94; +} +} +} +} +LEAN_EXPORT lean_object* l_Std_PersistentHashMap_findAtAux___at_Lean_Compiler_getStage1Decl_x3f___spec__3___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_Std_PersistentHashMap_findAtAux___at_Lean_Compiler_getStage1Decl_x3f___spec__3(x_1, x_2, x_3, x_4, x_5); +lean_dec(x_5); +lean_dec(x_2); +lean_dec(x_1); +return x_6; +} +} +LEAN_EXPORT lean_object* l_Std_PersistentHashMap_findAux___at_Lean_Compiler_getStage1Decl_x3f___spec__2___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_Std_PersistentHashMap_findAux___at_Lean_Compiler_getStage1Decl_x3f___spec__2(x_1, x_4, x_3); +lean_dec(x_3); +return x_5; +} +} +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_getStage1Decl_x3f___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: +{ +size_t x_7; size_t x_8; lean_object* x_9; +x_7 = lean_unbox_usize(x_4); +lean_dec(x_4); +x_8 = lean_unbox_usize(x_5); +lean_dec(x_5); +x_9 = l_Array_forInUnsafe_loop___at_Lean_Compiler_getStage1Decl_x3f___spec__4(x_1, x_2, x_3, x_7, x_8, x_6); +lean_dec(x_6); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +return x_9; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_getStage1Decl_x3f___lambda__1___boxed(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = l_Lean_Compiler_getStage1Decl_x3f___lambda__1(x_1); +lean_dec(x_1); +return x_2; +} +} +lean_object* initialize_Init(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Compiler_Decl(uint8_t builtin, lean_object*); +static bool _G_initialized = false; +LEAN_EXPORT lean_object* initialize_Lean_Compiler_Stage1(uint8_t builtin, lean_object* w) { +lean_object * res; +if (_G_initialized) return lean_io_result_mk_ok(lean_box(0)); +_G_initialized = true; +res = initialize_Init(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +res = initialize_Lean_Compiler_Decl(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +l_Lean_Compiler_Stage1ExtState_decls___default___closed__1 = _init_l_Lean_Compiler_Stage1ExtState_decls___default___closed__1(); +lean_mark_persistent(l_Lean_Compiler_Stage1ExtState_decls___default___closed__1); +l_Lean_Compiler_Stage1ExtState_decls___default___closed__2 = _init_l_Lean_Compiler_Stage1ExtState_decls___default___closed__2(); +lean_mark_persistent(l_Lean_Compiler_Stage1ExtState_decls___default___closed__2); +l_Lean_Compiler_Stage1ExtState_decls___default___closed__3 = _init_l_Lean_Compiler_Stage1ExtState_decls___default___closed__3(); +lean_mark_persistent(l_Lean_Compiler_Stage1ExtState_decls___default___closed__3); +l_Lean_Compiler_Stage1ExtState_decls___default = _init_l_Lean_Compiler_Stage1ExtState_decls___default(); +lean_mark_persistent(l_Lean_Compiler_Stage1ExtState_decls___default); +l_Lean_Compiler_instInhabitedStage1ExtState = _init_l_Lean_Compiler_instInhabitedStage1ExtState(); +lean_mark_persistent(l_Lean_Compiler_instInhabitedStage1ExtState); +l_Lean_Compiler_initFn____x40_Lean_Compiler_Stage1___hyg_33____closed__1 = _init_l_Lean_Compiler_initFn____x40_Lean_Compiler_Stage1___hyg_33____closed__1(); +lean_mark_persistent(l_Lean_Compiler_initFn____x40_Lean_Compiler_Stage1___hyg_33____closed__1); +if (builtin) {res = l_Lean_Compiler_initFn____x40_Lean_Compiler_Stage1___hyg_33_(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +l_Lean_Compiler_stage1Ext = lean_io_result_get_value(res); +lean_mark_persistent(l_Lean_Compiler_stage1Ext); +lean_dec_ref(res); +}l_Std_PersistentHashMap_insertAux___at_Lean_Compiler_saveStage1Decls___spec__2___closed__1 = _init_l_Std_PersistentHashMap_insertAux___at_Lean_Compiler_saveStage1Decls___spec__2___closed__1(); +l_Std_PersistentHashMap_insertAux___at_Lean_Compiler_saveStage1Decls___spec__2___closed__2 = _init_l_Std_PersistentHashMap_insertAux___at_Lean_Compiler_saveStage1Decls___spec__2___closed__2(); +l_Std_PersistentHashMap_insertAux___at_Lean_Compiler_saveStage1Decls___spec__2___closed__3 = _init_l_Std_PersistentHashMap_insertAux___at_Lean_Compiler_saveStage1Decls___spec__2___closed__3(); +lean_mark_persistent(l_Std_PersistentHashMap_insertAux___at_Lean_Compiler_saveStage1Decls___spec__2___closed__3); +l_Lean_Compiler_saveStage1Decls___closed__1 = _init_l_Lean_Compiler_saveStage1Decls___closed__1(); +lean_mark_persistent(l_Lean_Compiler_saveStage1Decls___closed__1); +l_Lean_Compiler_saveStage1Decls___closed__2 = _init_l_Lean_Compiler_saveStage1Decls___closed__2(); +lean_mark_persistent(l_Lean_Compiler_saveStage1Decls___closed__2); +l_Lean_Compiler_getStage1Decl_x3f___closed__1 = _init_l_Lean_Compiler_getStage1Decl_x3f___closed__1(); +lean_mark_persistent(l_Lean_Compiler_getStage1Decl_x3f___closed__1); +l_Lean_Compiler_getStage1Decl_x3f___closed__2 = _init_l_Lean_Compiler_getStage1Decl_x3f___closed__2(); +lean_mark_persistent(l_Lean_Compiler_getStage1Decl_x3f___closed__2); +l_Lean_Compiler_getStage1Decl_x3f___closed__3 = _init_l_Lean_Compiler_getStage1Decl_x3f___closed__3(); +lean_mark_persistent(l_Lean_Compiler_getStage1Decl_x3f___closed__3); +return lean_io_result_mk_ok(lean_box(0)); +} +#ifdef __cplusplus +} +#endif diff --git a/stage0/stdlib/Lean/Deprecated.c b/stage0/stdlib/Lean/Deprecated.c index d3ac99d018..c209d7bc01 100644 --- a/stage0/stdlib/Lean/Deprecated.c +++ b/stage0/stdlib/Lean/Deprecated.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Deprecated -// Imports: Init Lean.Log Lean.Attributes +// Imports: Init Lean.Log Lean.Attributes Lean.Elab.InfoTree.Main #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -17,96 +17,122 @@ LEAN_EXPORT uint8_t l_Lean_MessageData_isDeprecationWarning(lean_object*); static lean_object* l_Lean_MessageData_isDeprecationWarning___closed__1; lean_object* l_Lean_addMessageContextPartial___at_Lean_Core_instAddMessageContextCoreM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__6___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_resolveGlobalConst___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__3___closed__3; lean_object* l_Lean_stringToMessageData(lean_object*); -static lean_object* l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__8___closed__1; +lean_object* lean_mk_empty_array_with_capacity(lean_object*); lean_object* l_Lean_Name_str___override(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_initFn____x40_Lean_Deprecated___hyg_4____lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_throwError___at_Lean_registerTagAttribute___spec__3(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_filterTRAux___at_Lean_resolveGlobalConstCore___spec__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_deprecatedAttr; static lean_object* l_Lean_initFn____x40_Lean_Deprecated___hyg_4____closed__6; -LEAN_EXPORT lean_object* l_Lean_resolveGlobalConst___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__3(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_mapTRAux___at_Lean_resolveGlobalConstCore___spec__2(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_MessageData_isDeprecationWarning___boxed(lean_object*); extern lean_object* l_Std_Format_defWidth; LEAN_EXPORT lean_object* l_Lean_initFn____x40_Lean_Deprecated___hyg_4____lambda__4___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_List_filterMap___at_Lean_resolveGlobalConst___spec__1(lean_object*); -LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__10(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__6(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoTree___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__17___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__9___closed__1; +lean_object* lean_environment_find(lean_object*, lean_object*); static lean_object* l_Lean_initFn____x40_Lean_Deprecated___hyg_4____closed__4; +LEAN_EXPORT lean_object* l_Lean_getConstInfo___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__14(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_st_ref_get(lean_object*, lean_object*); uint8_t lean_name_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_initFn____x40_Lean_Deprecated___hyg_4____lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_logWarning___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_resolveGlobalConst___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__4___closed__3; +static lean_object* l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__9___closed__2; static lean_object* l_Lean_initFn____x40_Lean_Deprecated___hyg_4____closed__1; lean_object* lean_string_append(lean_object*, lean_object*); static lean_object* l_Lean_checkDeprecated___rarg___lambda__1___closed__5; static lean_object* l_Lean_checkDeprecated___rarg___lambda__1___closed__6; LEAN_EXPORT lean_object* l_Lean_getDeprecatedNewName(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__6___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__16(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_checkDeprecated___rarg___lambda__1___closed__3; static lean_object* l_Lean_checkDeprecated___rarg___lambda__1___closed__4; -static lean_object* l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__8___closed__3; +LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_mkConstWithLevelParams___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__13___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__3(lean_object*, lean_object*, lean_object*, lean_object*); +extern lean_object* l_Lean_LocalContext_empty; lean_object* l_List_mapTRAux___at_Lean_resolveGlobalConstNoOverload___spec__1(lean_object*, lean_object*); +static lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__16___closed__3; uint8_t l_Lean_MessageData_hasTag(lean_object*, lean_object*); static lean_object* l_Lean_initFn____x40_Lean_Deprecated___hyg_4____closed__7; LEAN_EXPORT lean_object* l_Lean_checkDeprecated___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ConstantInfo_levelParams(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__2___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_mkConstWithLevelParams___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__13(lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__16___closed__1; lean_object* l_Lean_ParametricAttribute_getParam_x3f___rarg(lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Syntax_matchesNull(lean_object*, lean_object*); +lean_object* lean_st_ref_take(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_initFn____x40_Lean_Deprecated___hyg_4____lambda__4(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_getConstInfo___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__14___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__16___closed__2; +static lean_object* l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__9___closed__3; lean_object* l_Lean_replaceRef(lean_object*, lean_object*); -static lean_object* l_Lean_resolveGlobalConst___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__3___closed__1; static lean_object* l_Lean_initFn____x40_Lean_Deprecated___hyg_4____closed__3; -LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__10___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__8___closed__4; -LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_format_pretty(lean_object*, lean_object*); static lean_object* l_Lean_initFn____x40_Lean_Deprecated___hyg_4____closed__5; static lean_object* l_Lean_checkDeprecated___rarg___lambda__1___closed__7; +static lean_object* l_Lean_resolveGlobalConst___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__4___closed__1; +LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__7___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_initFn____x40_Lean_Deprecated___hyg_4_(lean_object*); -LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__7(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__15(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_ResolveName_resolveGlobalName(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_checkDeprecated___rarg___lambda__1___closed__2; -static lean_object* l_Lean_resolveGlobalConst___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__3___closed__2; -LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__5(lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__3___closed__1; +static lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__3___closed__2; +LEAN_EXPORT lean_object* l_Lean_Elab_addConstInfo___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__12___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_initFn____x40_Lean_Deprecated___hyg_4____lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__6(lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__2___closed__2; +LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__7(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_PersistentArray_push___rarg(lean_object*, lean_object*); lean_object* l_Lean_Expr_const___override(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__2___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__16___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_initFn____x40_Lean_Deprecated___hyg_4____lambda__2___closed__1; -LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_resolveGlobalConst___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__4(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_initFn____x40_Lean_Deprecated___hyg_4____lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__2___closed__1; +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__7___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_List_mapTRAux___at_Lean_mkConstWithLevelParams___spec__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_initFn____x40_Lean_Deprecated___hyg_4____lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__9(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_initFn____x40_Lean_Deprecated___hyg_4____lambda__2___closed__3; uint8_t l_Lean_Syntax_isNone(lean_object*); +static lean_object* l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__9___closed__4; +LEAN_EXPORT lean_object* l_Lean_Elab_addConstInfo___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__12(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_initFn____x40_Lean_Deprecated___hyg_4____closed__8; LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__1(lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__8___closed__2; +static lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__3___closed__3; static lean_object* l_Lean_initFn____x40_Lean_Deprecated___hyg_4____closed__9; uint8_t l_Lean_Syntax_isOfKind(lean_object*, lean_object*); lean_object* l_Lean_registerParametricAttribute___rarg(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__10(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoTree___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__17(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_checkDeprecated___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__15___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_getArg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_isDeprecated___boxed(lean_object*, lean_object*); static lean_object* l_Lean_initFn____x40_Lean_Deprecated___hyg_4____closed__2; static lean_object* l_Lean_isDeprecated___closed__1; +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__11(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_MessageData_isDeprecationWarning___lambda__1___boxed(lean_object*); LEAN_EXPORT uint8_t l_Lean_MessageData_isDeprecationWarning___lambda__1(lean_object*); uint8_t l_List_isEmpty___rarg(lean_object*); -LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_toString___at_Lean_resolveGlobalConstNoOverloadCore___spec__2(lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__11___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_checkDeprecated___rarg___lambda__1___closed__8; static lean_object* l_Lean_checkDeprecated___rarg___lambda__1___closed__1; +LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__8(lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_resolveGlobalConst___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__4___closed__2; LEAN_EXPORT lean_object* l_Lean_checkDeprecated(lean_object*); -LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__2(lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__2___closed__3; +LEAN_EXPORT lean_object* l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_formatStxAux(lean_object*, uint8_t, lean_object*, lean_object*); static lean_object* l_Lean_initFn____x40_Lean_Deprecated___hyg_4____lambda__2___closed__2; -LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__8(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Lean_isDeprecated(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: @@ -146,7 +172,7 @@ return x_13; } } } -LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__5(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__6(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; uint8_t x_7; @@ -184,7 +210,7 @@ return x_13; } } } -LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__5(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; @@ -197,7 +223,7 @@ x_8 = l_Lean_replaceRef(x_1, x_7); lean_dec(x_7); lean_dec(x_1); lean_ctor_set(x_3, 5, x_8); -x_9 = l_Lean_throwError___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__5(x_2, x_3, x_4, x_5); +x_9 = l_Lean_throwError___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__6(x_2, x_3, x_4, x_5); lean_dec(x_4); lean_dec(x_3); return x_9; @@ -243,14 +269,14 @@ lean_ctor_set(x_22, 7, x_17); lean_ctor_set(x_22, 8, x_18); lean_ctor_set(x_22, 9, x_19); lean_ctor_set(x_22, 10, x_20); -x_23 = l_Lean_throwError___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__5(x_2, x_22, x_4, x_5); +x_23 = l_Lean_throwError___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__6(x_2, x_22, x_4, x_5); lean_dec(x_4); lean_dec(x_22); return x_23; } } } -LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__7(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____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; @@ -296,7 +322,7 @@ return x_18; } } } -static lean_object* _init_l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__8___closed__1() { +static lean_object* _init_l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__9___closed__1() { _start: { lean_object* x_1; @@ -304,16 +330,16 @@ x_1 = lean_mk_string_from_bytes("unknown constant '", 18); return x_1; } } -static lean_object* _init_l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__8___closed__2() { +static lean_object* _init_l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__9___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__8___closed__1; +x_1 = l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__9___closed__1; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -static lean_object* _init_l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__8___closed__3() { +static lean_object* _init_l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__9___closed__3() { _start: { lean_object* x_1; @@ -321,16 +347,16 @@ x_1 = lean_mk_string_from_bytes("'", 1); return x_1; } } -static lean_object* _init_l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__8___closed__4() { +static lean_object* _init_l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__9___closed__4() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__8___closed__3; +x_1 = l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__9___closed__3; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__8(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__9(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_11; lean_object* x_12; @@ -338,11 +364,11 @@ x_5 = lean_box(0); x_6 = l_Lean_Expr_const___override(x_1, x_5); x_7 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_7, 0, x_6); -x_8 = l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__8___closed__2; +x_8 = l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__9___closed__2; x_9 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_9, 0, x_8); lean_ctor_set(x_9, 1, x_7); -x_10 = l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__8___closed__4; +x_10 = l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__9___closed__4; x_11 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_11, 0, x_9); lean_ctor_set(x_11, 1, x_10); @@ -350,7 +376,7 @@ x_12 = l_Lean_throwError___at_Lean_registerTagAttribute___spec__3(x_11, x_2, x_3 return x_12; } } -LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__6___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_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__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) { _start: { lean_object* x_7; lean_object* x_8; @@ -361,13 +387,13 @@ lean_ctor_set(x_8, 1, x_6); return x_8; } } -LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__6(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__7(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; uint8_t x_10; lean_inc(x_2); lean_inc(x_1); -x_5 = l_Lean_resolveGlobalName___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__7(x_1, x_2, x_3, x_4); +x_5 = l_Lean_resolveGlobalName___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__8(x_1, x_2, x_3, x_4); x_6 = lean_ctor_get(x_5, 0); lean_inc(x_6); x_7 = lean_ctor_get(x_5, 1); @@ -381,7 +407,7 @@ if (x_10 == 0) lean_object* x_11; lean_object* x_12; lean_dec(x_1); x_11 = lean_box(0); -x_12 = l_Lean_resolveGlobalConstCore___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__6___lambda__1(x_9, x_8, x_11, x_2, x_3, x_7); +x_12 = l_Lean_resolveGlobalConstCore___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__7___lambda__1(x_9, x_8, x_11, x_2, x_3, x_7); lean_dec(x_3); lean_dec(x_2); return x_12; @@ -390,7 +416,7 @@ else { lean_object* x_13; uint8_t x_14; lean_dec(x_9); -x_13 = l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__8(x_1, x_2, x_3, x_7); +x_13 = l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__9(x_1, x_2, x_3, x_7); lean_dec(x_3); lean_dec(x_2); x_14 = !lean_is_exclusive(x_13); @@ -414,7 +440,7 @@ return x_17; } } } -static lean_object* _init_l_Lean_resolveGlobalConst___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__3___closed__1() { +static lean_object* _init_l_Lean_resolveGlobalConst___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__4___closed__1() { _start: { lean_object* x_1; @@ -422,27 +448,27 @@ x_1 = lean_mk_string_from_bytes("expected identifier", 19); return x_1; } } -static lean_object* _init_l_Lean_resolveGlobalConst___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__3___closed__2() { +static lean_object* _init_l_Lean_resolveGlobalConst___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__4___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_resolveGlobalConst___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__3___closed__1; +x_1 = l_Lean_resolveGlobalConst___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__4___closed__1; 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_resolveGlobalConst___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__3___closed__3() { +static lean_object* _init_l_Lean_resolveGlobalConst___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__4___closed__3() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_resolveGlobalConst___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__3___closed__2; +x_1 = l_Lean_resolveGlobalConst___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__4___closed__2; x_2 = lean_alloc_ctor(0, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -LEAN_EXPORT lean_object* l_Lean_resolveGlobalConst___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_resolveGlobalConst___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { if (lean_obj_tag(x_1) == 3) @@ -479,7 +505,7 @@ x_12 = l_Lean_replaceRef(x_1, x_11); lean_dec(x_11); lean_dec(x_1); lean_ctor_set(x_2, 5, x_12); -x_13 = l_Lean_resolveGlobalConstCore___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__6(x_5, x_2, x_3, x_4); +x_13 = l_Lean_resolveGlobalConstCore___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__7(x_5, x_2, x_3, x_4); return x_13; } else @@ -523,7 +549,7 @@ lean_ctor_set(x_26, 7, x_21); lean_ctor_set(x_26, 8, x_22); lean_ctor_set(x_26, 9, x_23); lean_ctor_set(x_26, 10, x_24); -x_27 = l_Lean_resolveGlobalConstCore___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__6(x_5, x_26, x_3, x_4); +x_27 = l_Lean_resolveGlobalConstCore___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__7(x_5, x_26, x_3, x_4); return x_27; } } @@ -531,13 +557,13 @@ return x_27; else { lean_object* x_28; lean_object* x_29; -x_28 = l_Lean_resolveGlobalConst___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__3___closed__3; -x_29 = l_Lean_throwErrorAt___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__4(x_1, x_28, x_2, x_3, x_4); +x_28 = l_Lean_resolveGlobalConst___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__4___closed__3; +x_29 = l_Lean_throwErrorAt___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__5(x_1, x_28, x_2, x_3, x_4); return x_29; } } } -LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__10(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__11(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; uint8_t x_7; @@ -575,7 +601,7 @@ return x_13; } } } -LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__9(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__10(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; @@ -588,7 +614,7 @@ x_8 = l_Lean_replaceRef(x_1, x_7); lean_dec(x_7); lean_dec(x_1); lean_ctor_set(x_3, 5, x_8); -x_9 = l_Lean_throwError___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__10(x_2, x_3, x_4, x_5); +x_9 = l_Lean_throwError___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__11(x_2, x_3, x_4, x_5); lean_dec(x_4); lean_dec(x_3); return x_9; @@ -634,14 +660,14 @@ lean_ctor_set(x_22, 7, x_17); lean_ctor_set(x_22, 8, x_18); lean_ctor_set(x_22, 9, x_19); lean_ctor_set(x_22, 10, x_20); -x_23 = l_Lean_throwError___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__10(x_2, x_22, x_4, x_5); +x_23 = l_Lean_throwError___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__11(x_2, x_22, x_4, x_5); lean_dec(x_4); lean_dec(x_22); return x_23; } } } -static lean_object* _init_l_Lean_resolveGlobalConstNoOverload___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__2___closed__1() { +static lean_object* _init_l_Lean_resolveGlobalConstNoOverload___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__3___closed__1() { _start: { lean_object* x_1; @@ -649,7 +675,7 @@ x_1 = lean_mk_string_from_bytes("ambiguous identifier '", 22); return x_1; } } -static lean_object* _init_l_Lean_resolveGlobalConstNoOverload___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__2___closed__2() { +static lean_object* _init_l_Lean_resolveGlobalConstNoOverload___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__3___closed__2() { _start: { lean_object* x_1; @@ -657,7 +683,7 @@ x_1 = lean_mk_string_from_bytes("', possible interpretations: ", 29); return x_1; } } -static lean_object* _init_l_Lean_resolveGlobalConstNoOverload___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__2___closed__3() { +static lean_object* _init_l_Lean_resolveGlobalConstNoOverload___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__3___closed__3() { _start: { lean_object* x_1; @@ -665,14 +691,14 @@ x_1 = lean_mk_string_from_bytes("", 0); return x_1; } } -LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { lean_object* x_5; lean_inc(x_3); lean_inc(x_2); lean_inc(x_1); -x_5 = l_Lean_resolveGlobalConst___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__3(x_1, x_2, x_3, x_4); +x_5 = l_Lean_resolveGlobalConst___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__4(x_1, x_2, x_3, x_4); if (lean_obj_tag(x_5) == 0) { lean_object* x_6; @@ -691,23 +717,23 @@ lean_inc(x_1); x_11 = l_Lean_Syntax_formatStxAux(x_8, x_9, x_10, x_1); x_12 = l_Std_Format_defWidth; x_13 = lean_format_pretty(x_11, x_12); -x_14 = l_Lean_resolveGlobalConstNoOverload___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__2___closed__1; +x_14 = l_Lean_resolveGlobalConstNoOverload___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__3___closed__1; x_15 = lean_string_append(x_14, x_13); lean_dec(x_13); -x_16 = l_Lean_resolveGlobalConstNoOverload___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__2___closed__2; +x_16 = l_Lean_resolveGlobalConstNoOverload___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__3___closed__2; x_17 = lean_string_append(x_15, x_16); x_18 = lean_box(0); x_19 = l_List_mapTRAux___at_Lean_resolveGlobalConstNoOverload___spec__1(x_6, x_18); x_20 = l_List_toString___at_Lean_resolveGlobalConstNoOverloadCore___spec__2(x_19); x_21 = lean_string_append(x_17, x_20); lean_dec(x_20); -x_22 = l_Lean_resolveGlobalConstNoOverload___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__2___closed__3; +x_22 = l_Lean_resolveGlobalConstNoOverload___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__3___closed__3; x_23 = lean_string_append(x_21, x_22); x_24 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_24, 0, x_23); x_25 = lean_alloc_ctor(0, 1, 0); lean_ctor_set(x_25, 0, x_24); -x_26 = l_Lean_throwErrorAt___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__9(x_1, x_25, x_2, x_3, x_7); +x_26 = l_Lean_throwErrorAt___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__10(x_1, x_25, x_2, x_3, x_7); return x_26; } else @@ -762,23 +788,23 @@ lean_inc(x_1); x_38 = l_Lean_Syntax_formatStxAux(x_35, x_36, x_37, x_1); x_39 = l_Std_Format_defWidth; x_40 = lean_format_pretty(x_38, x_39); -x_41 = l_Lean_resolveGlobalConstNoOverload___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__2___closed__1; +x_41 = l_Lean_resolveGlobalConstNoOverload___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__3___closed__1; x_42 = lean_string_append(x_41, x_40); lean_dec(x_40); -x_43 = l_Lean_resolveGlobalConstNoOverload___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__2___closed__2; +x_43 = l_Lean_resolveGlobalConstNoOverload___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__3___closed__2; x_44 = lean_string_append(x_42, x_43); x_45 = lean_box(0); x_46 = l_List_mapTRAux___at_Lean_resolveGlobalConstNoOverload___spec__1(x_6, x_45); x_47 = l_List_toString___at_Lean_resolveGlobalConstNoOverloadCore___spec__2(x_46); x_48 = lean_string_append(x_44, x_47); lean_dec(x_47); -x_49 = l_Lean_resolveGlobalConstNoOverload___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__2___closed__3; +x_49 = l_Lean_resolveGlobalConstNoOverload___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__3___closed__3; x_50 = lean_string_append(x_48, x_49); x_51 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_51, 0, x_50); x_52 = lean_alloc_ctor(0, 1, 0); lean_ctor_set(x_52, 0, x_51); -x_53 = l_Lean_throwErrorAt___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__9(x_1, x_52, x_2, x_3, x_34); +x_53 = l_Lean_throwErrorAt___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__10(x_1, x_52, x_2, x_3, x_34); return x_53; } } @@ -810,6 +836,695 @@ return x_57; } } } +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__15(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; uint8_t x_7; +x_5 = lean_ctor_get(x_2, 5); +x_6 = l_Lean_addMessageContextPartial___at_Lean_Core_instAddMessageContextCoreM___spec__1(x_1, x_2, x_3, x_4); +x_7 = !lean_is_exclusive(x_6); +if (x_7 == 0) +{ +lean_object* x_8; lean_object* x_9; +x_8 = lean_ctor_get(x_6, 0); +lean_inc(x_5); +x_9 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_9, 0, x_5); +lean_ctor_set(x_9, 1, x_8); +lean_ctor_set_tag(x_6, 1); +lean_ctor_set(x_6, 0, x_9); +return x_6; +} +else +{ +lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; +x_10 = lean_ctor_get(x_6, 0); +x_11 = lean_ctor_get(x_6, 1); +lean_inc(x_11); +lean_inc(x_10); +lean_dec(x_6); +lean_inc(x_5); +x_12 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_12, 0, x_5); +lean_ctor_set(x_12, 1, x_10); +x_13 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_13, 0, x_12); +lean_ctor_set(x_13, 1, x_11); +return x_13; +} +} +} +LEAN_EXPORT lean_object* l_Lean_getConstInfo___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__14(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_st_ref_get(x_3, x_4); +x_6 = !lean_is_exclusive(x_5); +if (x_6 == 0) +{ +lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; +x_7 = lean_ctor_get(x_5, 0); +x_8 = lean_ctor_get(x_5, 1); +x_9 = lean_ctor_get(x_7, 0); +lean_inc(x_9); +lean_dec(x_7); +lean_inc(x_1); +x_10 = lean_environment_find(x_9, x_1); +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_18; +lean_free_object(x_5); +x_11 = lean_box(0); +x_12 = l_Lean_Expr_const___override(x_1, x_11); +x_13 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_13, 0, x_12); +x_14 = l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__9___closed__2; +x_15 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_15, 0, x_14); +lean_ctor_set(x_15, 1, x_13); +x_16 = l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__9___closed__4; +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_throwError___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__15(x_17, x_2, x_3, x_8); +return x_18; +} +else +{ +lean_object* x_19; +lean_dec(x_1); +x_19 = lean_ctor_get(x_10, 0); +lean_inc(x_19); +lean_dec(x_10); +lean_ctor_set(x_5, 0, x_19); +return x_5; +} +} +else +{ +lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; +x_20 = lean_ctor_get(x_5, 0); +x_21 = lean_ctor_get(x_5, 1); +lean_inc(x_21); +lean_inc(x_20); +lean_dec(x_5); +x_22 = lean_ctor_get(x_20, 0); +lean_inc(x_22); +lean_dec(x_20); +lean_inc(x_1); +x_23 = lean_environment_find(x_22, x_1); +if (lean_obj_tag(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_30; lean_object* x_31; +x_24 = lean_box(0); +x_25 = l_Lean_Expr_const___override(x_1, x_24); +x_26 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_26, 0, x_25); +x_27 = l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__9___closed__2; +x_28 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_28, 0, x_27); +lean_ctor_set(x_28, 1, x_26); +x_29 = l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__9___closed__4; +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 = l_Lean_throwError___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__15(x_30, x_2, x_3, x_21); +return x_31; +} +else +{ +lean_object* x_32; lean_object* x_33; +lean_dec(x_1); +x_32 = lean_ctor_get(x_23, 0); +lean_inc(x_32); +lean_dec(x_23); +x_33 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_33, 0, x_32); +lean_ctor_set(x_33, 1, x_21); +return x_33; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_mkConstWithLevelParams___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__13(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; +lean_inc(x_1); +x_5 = l_Lean_getConstInfo___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__14(x_1, x_2, x_3, x_4); +if (lean_obj_tag(x_5) == 0) +{ +uint8_t x_6; +x_6 = !lean_is_exclusive(x_5); +if (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_8 = l_Lean_ConstantInfo_levelParams(x_7); +lean_dec(x_7); +x_9 = lean_box(0); +x_10 = l_List_mapTRAux___at_Lean_mkConstWithLevelParams___spec__1(x_8, x_9); +x_11 = l_Lean_Expr_const___override(x_1, x_10); +lean_ctor_set(x_5, 0, x_11); +return x_5; +} +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; lean_object* x_18; +x_12 = lean_ctor_get(x_5, 0); +x_13 = lean_ctor_get(x_5, 1); +lean_inc(x_13); +lean_inc(x_12); +lean_dec(x_5); +x_14 = l_Lean_ConstantInfo_levelParams(x_12); +lean_dec(x_12); +x_15 = lean_box(0); +x_16 = l_List_mapTRAux___at_Lean_mkConstWithLevelParams___spec__1(x_14, x_15); +x_17 = l_Lean_Expr_const___override(x_1, x_16); +x_18 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_18, 0, x_17); +lean_ctor_set(x_18, 1, x_13); +return x_18; +} +} +else +{ +uint8_t x_19; +lean_dec(x_1); +x_19 = !lean_is_exclusive(x_5); +if (x_19 == 0) +{ +return x_5; +} +else +{ +lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_20 = lean_ctor_get(x_5, 0); +x_21 = lean_ctor_get(x_5, 1); +lean_inc(x_21); +lean_inc(x_20); +lean_dec(x_5); +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_EXPORT lean_object* l_Lean_Elab_pushInfoTree___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__17(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; uint8_t x_8; +x_5 = lean_st_ref_get(x_3, x_4); +x_6 = lean_ctor_get(x_5, 0); +lean_inc(x_6); +x_7 = lean_ctor_get(x_6, 6); +lean_inc(x_7); +lean_dec(x_6); +x_8 = lean_ctor_get_uint8(x_7, sizeof(void*)*2); +lean_dec(x_7); +if (x_8 == 0) +{ +uint8_t x_9; +lean_dec(x_1); +x_9 = !lean_is_exclusive(x_5); +if (x_9 == 0) +{ +lean_object* x_10; lean_object* x_11; +x_10 = lean_ctor_get(x_5, 0); +lean_dec(x_10); +x_11 = lean_box(0); +lean_ctor_set(x_5, 0, x_11); +return x_5; +} +else +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; +x_12 = lean_ctor_get(x_5, 1); +lean_inc(x_12); +lean_dec(x_5); +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_12); +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; +x_15 = lean_ctor_get(x_5, 1); +lean_inc(x_15); +lean_dec(x_5); +x_16 = lean_st_ref_take(x_3, x_15); +x_17 = lean_ctor_get(x_16, 0); +lean_inc(x_17); +x_18 = lean_ctor_get(x_17, 6); +lean_inc(x_18); +x_19 = lean_ctor_get(x_16, 1); +lean_inc(x_19); +lean_dec(x_16); +x_20 = !lean_is_exclusive(x_17); +if (x_20 == 0) +{ +lean_object* x_21; uint8_t x_22; +x_21 = lean_ctor_get(x_17, 6); +lean_dec(x_21); +x_22 = !lean_is_exclusive(x_18); +if (x_22 == 0) +{ +lean_object* x_23; lean_object* x_24; lean_object* x_25; uint8_t x_26; +x_23 = lean_ctor_get(x_18, 1); +x_24 = l_Std_PersistentArray_push___rarg(x_23, x_1); +lean_ctor_set(x_18, 1, x_24); +x_25 = lean_st_ref_set(x_3, x_17, x_19); +x_26 = !lean_is_exclusive(x_25); +if (x_26 == 0) +{ +lean_object* x_27; lean_object* x_28; +x_27 = lean_ctor_get(x_25, 0); +lean_dec(x_27); +x_28 = lean_box(0); +lean_ctor_set(x_25, 0, x_28); +return x_25; +} +else +{ +lean_object* x_29; lean_object* x_30; lean_object* x_31; +x_29 = lean_ctor_get(x_25, 1); +lean_inc(x_29); +lean_dec(x_25); +x_30 = lean_box(0); +x_31 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_31, 0, x_30); +lean_ctor_set(x_31, 1, x_29); +return x_31; +} +} +else +{ +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; lean_object* x_41; +x_32 = lean_ctor_get_uint8(x_18, sizeof(void*)*2); +x_33 = lean_ctor_get(x_18, 0); +x_34 = lean_ctor_get(x_18, 1); +lean_inc(x_34); +lean_inc(x_33); +lean_dec(x_18); +x_35 = l_Std_PersistentArray_push___rarg(x_34, x_1); +x_36 = lean_alloc_ctor(0, 2, 1); +lean_ctor_set(x_36, 0, x_33); +lean_ctor_set(x_36, 1, x_35); +lean_ctor_set_uint8(x_36, sizeof(void*)*2, x_32); +lean_ctor_set(x_17, 6, x_36); +x_37 = lean_st_ref_set(x_3, x_17, x_19); +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); +} +x_40 = lean_box(0); +if (lean_is_scalar(x_39)) { + x_41 = lean_alloc_ctor(0, 2, 0); +} else { + x_41 = x_39; +} +lean_ctor_set(x_41, 0, x_40); +lean_ctor_set(x_41, 1, x_38); +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; 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; +x_42 = lean_ctor_get(x_17, 0); +x_43 = lean_ctor_get(x_17, 1); +x_44 = lean_ctor_get(x_17, 2); +x_45 = lean_ctor_get(x_17, 3); +x_46 = lean_ctor_get(x_17, 4); +x_47 = lean_ctor_get(x_17, 5); +lean_inc(x_47); +lean_inc(x_46); +lean_inc(x_45); +lean_inc(x_44); +lean_inc(x_43); +lean_inc(x_42); +lean_dec(x_17); +x_48 = lean_ctor_get_uint8(x_18, sizeof(void*)*2); +x_49 = lean_ctor_get(x_18, 0); +lean_inc(x_49); +x_50 = lean_ctor_get(x_18, 1); +lean_inc(x_50); +if (lean_is_exclusive(x_18)) { + lean_ctor_release(x_18, 0); + lean_ctor_release(x_18, 1); + x_51 = x_18; +} else { + lean_dec_ref(x_18); + x_51 = lean_box(0); +} +x_52 = l_Std_PersistentArray_push___rarg(x_50, x_1); +if (lean_is_scalar(x_51)) { + x_53 = lean_alloc_ctor(0, 2, 1); +} else { + x_53 = x_51; +} +lean_ctor_set(x_53, 0, x_49); +lean_ctor_set(x_53, 1, x_52); +lean_ctor_set_uint8(x_53, sizeof(void*)*2, x_48); +x_54 = lean_alloc_ctor(0, 7, 0); +lean_ctor_set(x_54, 0, x_42); +lean_ctor_set(x_54, 1, x_43); +lean_ctor_set(x_54, 2, x_44); +lean_ctor_set(x_54, 3, x_45); +lean_ctor_set(x_54, 4, x_46); +lean_ctor_set(x_54, 5, x_47); +lean_ctor_set(x_54, 6, x_53); +x_55 = lean_st_ref_set(x_3, x_54, x_19); +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 = lean_box(0); +if (lean_is_scalar(x_57)) { + x_59 = lean_alloc_ctor(0, 2, 0); +} else { + x_59 = x_57; +} +lean_ctor_set(x_59, 0, x_58); +lean_ctor_set(x_59, 1, x_56); +return x_59; +} +} +} +} +static lean_object* _init_l_Lean_Elab_pushInfoLeaf___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__16___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = lean_unsigned_to_nat(32u); +x_2 = lean_mk_empty_array_with_capacity(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Elab_pushInfoLeaf___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__16___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Elab_pushInfoLeaf___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__16___closed__1; +x_2 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Elab_pushInfoLeaf___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__16___closed__3() { +_start: +{ +size_t x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; +x_1 = 5; +x_2 = l_Lean_Elab_pushInfoLeaf___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__16___closed__2; +x_3 = l_Lean_Elab_pushInfoLeaf___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__16___closed__1; +x_4 = lean_unsigned_to_nat(0u); +x_5 = lean_alloc_ctor(0, 4, sizeof(size_t)*1); +lean_ctor_set(x_5, 0, x_2); +lean_ctor_set(x_5, 1, x_3); +lean_ctor_set(x_5, 2, x_4); +lean_ctor_set(x_5, 3, x_4); +lean_ctor_set_usize(x_5, 4, x_1); +return x_5; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__16(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; uint8_t x_8; +x_5 = lean_st_ref_get(x_3, x_4); +x_6 = lean_ctor_get(x_5, 0); +lean_inc(x_6); +x_7 = lean_ctor_get(x_6, 6); +lean_inc(x_7); +lean_dec(x_6); +x_8 = lean_ctor_get_uint8(x_7, sizeof(void*)*2); +lean_dec(x_7); +if (x_8 == 0) +{ +uint8_t x_9; +lean_dec(x_1); +x_9 = !lean_is_exclusive(x_5); +if (x_9 == 0) +{ +lean_object* x_10; lean_object* x_11; +x_10 = lean_ctor_get(x_5, 0); +lean_dec(x_10); +x_11 = lean_box(0); +lean_ctor_set(x_5, 0, x_11); +return x_5; +} +else +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; +x_12 = lean_ctor_get(x_5, 1); +lean_inc(x_12); +lean_dec(x_5); +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_12); +return x_14; +} +} +else +{ +lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; +x_15 = lean_ctor_get(x_5, 1); +lean_inc(x_15); +lean_dec(x_5); +x_16 = l_Lean_Elab_pushInfoLeaf___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__16___closed__3; +x_17 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_17, 0, x_1); +lean_ctor_set(x_17, 1, x_16); +x_18 = l_Lean_Elab_pushInfoTree___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__17(x_17, x_2, x_3, x_15); +return x_18; +} +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_addConstInfo___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__12(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_mkConstWithLevelParams___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__13(x_2, x_4, x_5, x_6); +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; uint8_t x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; +x_8 = lean_ctor_get(x_7, 0); +lean_inc(x_8); +x_9 = lean_ctor_get(x_7, 1); +lean_inc(x_9); +lean_dec(x_7); +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_1); +x_12 = l_Lean_LocalContext_empty; +x_13 = 0; +x_14 = lean_alloc_ctor(0, 4, 1); +lean_ctor_set(x_14, 0, x_11); +lean_ctor_set(x_14, 1, x_12); +lean_ctor_set(x_14, 2, x_3); +lean_ctor_set(x_14, 3, x_8); +lean_ctor_set_uint8(x_14, sizeof(void*)*4, x_13); +x_15 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_15, 0, x_14); +x_16 = l_Lean_Elab_pushInfoLeaf___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__16(x_15, x_4, x_5, x_9); +lean_dec(x_4); +return x_16; +} +else +{ +uint8_t x_17; +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_1); +x_17 = !lean_is_exclusive(x_7); +if (x_17 == 0) +{ +return x_7; +} +else +{ +lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_18 = lean_ctor_get(x_7, 0); +x_19 = lean_ctor_get(x_7, 1); +lean_inc(x_19); +lean_inc(x_18); +lean_dec(x_7); +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_EXPORT lean_object* l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__2___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_6; +x_6 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_6, 0, x_1); +lean_ctor_set(x_6, 1, x_5); +return x_6; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__2(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_inc(x_4); +lean_inc(x_3); +lean_inc(x_1); +x_6 = l_Lean_resolveGlobalConstNoOverload___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__3(x_1, x_3, x_4, x_5); +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; uint8_t x_12; +x_7 = lean_ctor_get(x_6, 0); +lean_inc(x_7); +x_8 = lean_ctor_get(x_6, 1); +lean_inc(x_8); +lean_dec(x_6); +x_9 = lean_st_ref_get(x_4, x_8); +x_10 = lean_ctor_get(x_9, 0); +lean_inc(x_10); +x_11 = lean_ctor_get(x_10, 6); +lean_inc(x_11); +lean_dec(x_10); +x_12 = lean_ctor_get_uint8(x_11, sizeof(void*)*2); +lean_dec(x_11); +if (x_12 == 0) +{ +uint8_t x_13; +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_13 = !lean_is_exclusive(x_9); +if (x_13 == 0) +{ +lean_object* x_14; +x_14 = lean_ctor_get(x_9, 0); +lean_dec(x_14); +lean_ctor_set(x_9, 0, x_7); +return x_9; +} +else +{ +lean_object* x_15; lean_object* x_16; +x_15 = lean_ctor_get(x_9, 1); +lean_inc(x_15); +lean_dec(x_9); +x_16 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_16, 0, x_7); +lean_ctor_set(x_16, 1, x_15); +return x_16; +} +} +else +{ +lean_object* x_17; lean_object* x_18; +x_17 = lean_ctor_get(x_9, 1); +lean_inc(x_17); +lean_dec(x_9); +lean_inc(x_7); +x_18 = l_Lean_Elab_addConstInfo___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__12(x_1, x_7, x_2, x_3, x_4, x_17); +lean_dec(x_4); +if (lean_obj_tag(x_18) == 0) +{ +uint8_t x_19; +x_19 = !lean_is_exclusive(x_18); +if (x_19 == 0) +{ +lean_object* x_20; +x_20 = lean_ctor_get(x_18, 0); +lean_dec(x_20); +lean_ctor_set(x_18, 0, x_7); +return x_18; +} +else +{ +lean_object* x_21; lean_object* x_22; +x_21 = lean_ctor_get(x_18, 1); +lean_inc(x_21); +lean_dec(x_18); +x_22 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_22, 0, x_7); +lean_ctor_set(x_22, 1, x_21); +return x_22; +} +} +else +{ +uint8_t x_23; +lean_dec(x_7); +x_23 = !lean_is_exclusive(x_18); +if (x_23 == 0) +{ +return x_18; +} +else +{ +lean_object* x_24; lean_object* x_25; lean_object* x_26; +x_24 = lean_ctor_get(x_18, 0); +x_25 = lean_ctor_get(x_18, 1); +lean_inc(x_25); +lean_inc(x_24); +lean_dec(x_18); +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; +} +} +} +} +else +{ +uint8_t x_27; +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_27 = !lean_is_exclusive(x_6); +if (x_27 == 0) +{ +return x_6; +} +else +{ +lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_28 = lean_ctor_get(x_6, 0); +x_29 = lean_ctor_get(x_6, 1); +lean_inc(x_29); +lean_inc(x_28); +lean_dec(x_6); +x_30 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_30, 0, x_28); +lean_ctor_set(x_30, 1, x_29); +return x_30; +} +} +} +} LEAN_EXPORT lean_object* l_Lean_initFn____x40_Lean_Deprecated___hyg_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) { _start: { @@ -826,13 +1541,12 @@ return x_7; else { uint8_t x_8; -lean_dec(x_1); x_8 = !lean_is_exclusive(x_3); if (x_8 == 0) { lean_object* x_9; lean_object* x_10; x_9 = lean_ctor_get(x_3, 0); -x_10 = l_Lean_resolveGlobalConstNoOverload___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__2(x_9, x_4, x_5, x_6); +x_10 = l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__2(x_9, x_1, x_4, x_5, x_6); if (lean_obj_tag(x_10) == 0) { uint8_t x_11; @@ -890,7 +1604,7 @@ lean_object* x_20; lean_object* x_21; x_20 = lean_ctor_get(x_3, 0); lean_inc(x_20); lean_dec(x_3); -x_21 = l_Lean_resolveGlobalConstNoOverload___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__2(x_20, x_4, x_5, x_6); +x_21 = l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__2(x_20, x_1, x_4, x_5, x_6); 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; @@ -1178,56 +1892,126 @@ lean_dec(x_2); return x_5; } } -LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__5___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____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_Lean_throwError___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__5(x_1, x_2, x_3, x_4); +x_5 = l_Lean_throwError___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__6(x_1, x_2, x_3, x_4); lean_dec(x_3); lean_dec(x_2); return x_5; } } -LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__7___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____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_Lean_resolveGlobalName___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__7(x_1, x_2, x_3, x_4); +x_5 = l_Lean_resolveGlobalName___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__8(x_1, x_2, x_3, x_4); lean_dec(x_3); return x_5; } } -LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__8___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____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_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__8(x_1, x_2, x_3, x_4); +x_5 = l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__9(x_1, x_2, x_3, x_4); lean_dec(x_3); lean_dec(x_2); return x_5; } } -LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__6___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_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__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) { _start: { lean_object* x_7; -x_7 = l_Lean_resolveGlobalConstCore___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__6___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6); +x_7 = l_Lean_resolveGlobalConstCore___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__7___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); return x_7; } } -LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__10___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__11___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_throwError___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__10(x_1, x_2, x_3, x_4); +x_5 = l_Lean_throwError___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__11(x_1, x_2, x_3, x_4); lean_dec(x_3); lean_dec(x_2); return x_5; } } +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__15___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_throwError___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__15(x_1, x_2, x_3, x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_5; +} +} +LEAN_EXPORT lean_object* l_Lean_getConstInfo___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__14___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_getConstInfo___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__14(x_1, x_2, x_3, x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_5; +} +} +LEAN_EXPORT lean_object* l_Lean_mkConstWithLevelParams___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__13___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_mkConstWithLevelParams___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__13(x_1, x_2, x_3, x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_5; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoTree___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__17___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_Elab_pushInfoTree___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__17(x_1, x_2, x_3, x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_5; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__16___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_Elab_pushInfoLeaf___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__16(x_1, x_2, x_3, x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_5; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_addConstInfo___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__12___boxed(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_addConstInfo___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__12(x_1, x_2, x_3, x_4, x_5, x_6); +lean_dec(x_5); +return x_7; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____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) { +_start: +{ +lean_object* x_6; +x_6 = l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__2___lambda__1(x_1, x_2, x_3, x_4, x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_6; +} +} LEAN_EXPORT lean_object* l_Lean_initFn____x40_Lean_Deprecated___hyg_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) { _start: { @@ -1550,6 +2334,7 @@ return x_2; lean_object* initialize_Init(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Log(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Attributes(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Elab_InfoTree_Main(uint8_t builtin, lean_object*); static bool _G_initialized = false; LEAN_EXPORT lean_object* initialize_Lean_Deprecated(uint8_t builtin, lean_object* w) { lean_object * res; @@ -1564,26 +2349,35 @@ lean_dec_ref(res); res = initialize_Lean_Attributes(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__8___closed__1 = _init_l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__8___closed__1(); -lean_mark_persistent(l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__8___closed__1); -l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__8___closed__2 = _init_l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__8___closed__2(); -lean_mark_persistent(l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__8___closed__2); -l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__8___closed__3 = _init_l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__8___closed__3(); -lean_mark_persistent(l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__8___closed__3); -l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__8___closed__4 = _init_l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__8___closed__4(); -lean_mark_persistent(l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__8___closed__4); -l_Lean_resolveGlobalConst___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__3___closed__1 = _init_l_Lean_resolveGlobalConst___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__3___closed__1(); -lean_mark_persistent(l_Lean_resolveGlobalConst___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__3___closed__1); -l_Lean_resolveGlobalConst___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__3___closed__2 = _init_l_Lean_resolveGlobalConst___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__3___closed__2(); -lean_mark_persistent(l_Lean_resolveGlobalConst___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__3___closed__2); -l_Lean_resolveGlobalConst___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__3___closed__3 = _init_l_Lean_resolveGlobalConst___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__3___closed__3(); -lean_mark_persistent(l_Lean_resolveGlobalConst___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__3___closed__3); -l_Lean_resolveGlobalConstNoOverload___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__2___closed__1 = _init_l_Lean_resolveGlobalConstNoOverload___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__2___closed__1(); -lean_mark_persistent(l_Lean_resolveGlobalConstNoOverload___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__2___closed__1); -l_Lean_resolveGlobalConstNoOverload___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__2___closed__2 = _init_l_Lean_resolveGlobalConstNoOverload___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__2___closed__2(); -lean_mark_persistent(l_Lean_resolveGlobalConstNoOverload___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__2___closed__2); -l_Lean_resolveGlobalConstNoOverload___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__2___closed__3 = _init_l_Lean_resolveGlobalConstNoOverload___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__2___closed__3(); -lean_mark_persistent(l_Lean_resolveGlobalConstNoOverload___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__2___closed__3); +res = initialize_Lean_Elab_InfoTree_Main(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__9___closed__1 = _init_l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__9___closed__1(); +lean_mark_persistent(l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__9___closed__1); +l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__9___closed__2 = _init_l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__9___closed__2(); +lean_mark_persistent(l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__9___closed__2); +l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__9___closed__3 = _init_l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__9___closed__3(); +lean_mark_persistent(l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__9___closed__3); +l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__9___closed__4 = _init_l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__9___closed__4(); +lean_mark_persistent(l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__9___closed__4); +l_Lean_resolveGlobalConst___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__4___closed__1 = _init_l_Lean_resolveGlobalConst___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__4___closed__1(); +lean_mark_persistent(l_Lean_resolveGlobalConst___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__4___closed__1); +l_Lean_resolveGlobalConst___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__4___closed__2 = _init_l_Lean_resolveGlobalConst___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__4___closed__2(); +lean_mark_persistent(l_Lean_resolveGlobalConst___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__4___closed__2); +l_Lean_resolveGlobalConst___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__4___closed__3 = _init_l_Lean_resolveGlobalConst___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__4___closed__3(); +lean_mark_persistent(l_Lean_resolveGlobalConst___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__4___closed__3); +l_Lean_resolveGlobalConstNoOverload___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__3___closed__1 = _init_l_Lean_resolveGlobalConstNoOverload___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__3___closed__1(); +lean_mark_persistent(l_Lean_resolveGlobalConstNoOverload___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__3___closed__1); +l_Lean_resolveGlobalConstNoOverload___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__3___closed__2 = _init_l_Lean_resolveGlobalConstNoOverload___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__3___closed__2(); +lean_mark_persistent(l_Lean_resolveGlobalConstNoOverload___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__3___closed__2); +l_Lean_resolveGlobalConstNoOverload___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__3___closed__3 = _init_l_Lean_resolveGlobalConstNoOverload___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__3___closed__3(); +lean_mark_persistent(l_Lean_resolveGlobalConstNoOverload___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__3___closed__3); +l_Lean_Elab_pushInfoLeaf___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__16___closed__1 = _init_l_Lean_Elab_pushInfoLeaf___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__16___closed__1(); +lean_mark_persistent(l_Lean_Elab_pushInfoLeaf___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__16___closed__1); +l_Lean_Elab_pushInfoLeaf___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__16___closed__2 = _init_l_Lean_Elab_pushInfoLeaf___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__16___closed__2(); +lean_mark_persistent(l_Lean_Elab_pushInfoLeaf___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__16___closed__2); +l_Lean_Elab_pushInfoLeaf___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__16___closed__3 = _init_l_Lean_Elab_pushInfoLeaf___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__16___closed__3(); +lean_mark_persistent(l_Lean_Elab_pushInfoLeaf___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__16___closed__3); l_Lean_initFn____x40_Lean_Deprecated___hyg_4____lambda__2___closed__1 = _init_l_Lean_initFn____x40_Lean_Deprecated___hyg_4____lambda__2___closed__1(); lean_mark_persistent(l_Lean_initFn____x40_Lean_Deprecated___hyg_4____lambda__2___closed__1); l_Lean_initFn____x40_Lean_Deprecated___hyg_4____lambda__2___closed__2 = _init_l_Lean_initFn____x40_Lean_Deprecated___hyg_4____lambda__2___closed__2(); diff --git a/stage0/stdlib/Lean/Elab/BuiltinCommand.c b/stage0/stdlib/Lean/Elab/BuiltinCommand.c index 67b2305a0f..2d75a7a805 100644 --- a/stage0/stdlib/Lean/Elab/BuiltinCommand.c +++ b/stage0/stdlib/Lean/Elab/BuiltinCommand.c @@ -30,7 +30,6 @@ LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_BuiltinCom static lean_object* l_Lean_Elab_Command_elabSection___closed__3; static lean_object* l___regBuiltin_Lean_Elab_Command_elabCheckFailure_declRange___closed__2; static lean_object* l___regBuiltin_Lean_Elab_Command_elabEval___closed__3; -LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Command_elabAddDeclDoc___spec__8(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_elabCheckFailure___closed__2; size_t lean_usize_add(size_t, size_t); static lean_object* l___regBuiltin_Lean_Elab_Command_elabSetOption___closed__4; @@ -42,6 +41,7 @@ static lean_object* l_Lean_Elab_Command_elabModuleDoc___closed__4; lean_object* lean_erase_macro_scopes(lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_BuiltinCommand_0__Lean_Elab_Command_replaceBinderAnnotation___spec__8___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_BuiltinCommand_0__Lean_Elab_Command_replaceBinderAnnotation___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Command_elabAddDeclDoc___spec__16___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_stringToMessageData(lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Command_elabSetOption_declRange___closed__5; static lean_object* l___private_Lean_Elab_Open_0__Lean_Elab_OpenDecl_resolveNameUsingNamespacesCore___at_Lean_Elab_Command_elabExport___spec__3___closed__4; @@ -53,14 +53,16 @@ static lean_object* l___regBuiltin_Lean_Elab_Command_elabReduce_declRange___clos static lean_object* l_Lean_Elab_Command_elabNonComputableSection___closed__1; lean_object* l_Lean_Name_str___override(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_BuiltinCommand_0__Lean_Elab_Command_popScopes___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_getDocStringText___at_Lean_Elab_Command_elabAddDeclDoc___spec__14___closed__1; static lean_object* l___private_Lean_Elab_BuiltinCommand_0__Lean_Elab_Command_mkRunEval___closed__5; +LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_Elab_Command_elabAddDeclDoc___spec__5___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabCheckCore___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*); static lean_object* l___regBuiltin_Lean_Elab_Command_elabModuleDoc___closed__4; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_BuiltinCommand_0__Lean_Elab_Command_replaceBinderAnnotation___spec__8___lambda__1(lean_object*, uint8_t, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, 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_EXPORT lean_object* l_Lean_Elab_Command_withNamespace(lean_object*); -LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_Lean_Elab_Command_elabAddDeclDoc___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_filterTRAux___at_Lean_resolveGlobalConstCore___spec__1(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_mkConstWithLevelParams___at_Lean_Elab_Command_elabAddDeclDoc___spec__11___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Command_elabSynth_declRange(lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Command_elabCheck_declRange___closed__4; LEAN_EXPORT lean_object* l___private_Lean_Elab_Open_0__Lean_Elab_OpenDecl_elabOpenSimple___at_Lean_Elab_Command_elabOpen___spec__17(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -71,6 +73,7 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Command_elabEnd_declRange(lean static lean_object* l_Lean_Elab_Command_elabEvalUnsafe___lambda__4___closed__29; LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabReduce___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_getOptional_x3f(lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Command_elabAddDeclDoc___spec__16(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_throwError___at_Lean_Elab_Command_expandDeclId___spec__14(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_eraseIdx___rarg(lean_object*, lean_object*); uint8_t lean_usize_dec_eq(size_t, size_t); @@ -81,6 +84,7 @@ lean_object* lean_io_error_to_string(lean_object*); static lean_object* l_Lean_Elab_Command_elabSection___closed__2; uint8_t l_Lean_Expr_isSyntheticSorry(lean_object*); static lean_object* l_Lean_Elab_Command_elabReduce___closed__1; +LEAN_EXPORT lean_object* l_Lean_mkConstWithLevelParams___at_Lean_Elab_Command_elabAddDeclDoc___spec__11(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Command_elabNamespace___closed__1; static lean_object* l___regBuiltin_Lean_Elab_Command_elabEval_declRange___closed__1; lean_object* l_Array_append___rarg(lean_object*, lean_object*); @@ -95,6 +99,7 @@ static lean_object* l___regBuiltin_Lean_Elab_Command_elabSetOption___closed__1; extern lean_object* l_Std_Format_defWidth; static lean_object* l_Lean_Elab_Command_elabModuleDoc___closed__2; LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabCheckCore___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_Elab_Command_elabAddDeclDoc___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Command_elabOpen_declRange___closed__4; static lean_object* l_Lean_Elab_Command_elabEnd___lambda__1___closed__4; lean_object* l_Lean_SourceInfo_fromRef(lean_object*); @@ -135,6 +140,8 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Command_elabReduce_declRange(l LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabExport___spec__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forIn_loop___at_Lean_Elab_Command_elabOpen___spec__18(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Command_expandInCmd_declRange___closed__5; +LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Command_elabAddDeclDoc___spec__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* lean_environment_find(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_elabReduce___lambda__2___closed__2; static lean_object* l_Lean_Elab_Command_elabModuleDoc___closed__3; lean_object* l_Lean_logAt___at_Lean_Elab_Term_traceAtCmdPos___spec__3(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -161,6 +168,7 @@ static lean_object* l_Lean_Elab_Command_elabNonComputableSection___closed__2; static lean_object* l___regBuiltin_Lean_Elab_Command_expandInCmd_declRange___closed__2; LEAN_EXPORT lean_object* l_Lean_Elab_Command_failIfSucceeds___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_name_eq(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_getConstInfo___at_Lean_Elab_Command_elabAddDeclDoc___spec__12___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_BuiltinCommand_0__Lean_Elab_Command_replaceBinderAnnotation___spec__7___closed__2; static lean_object* l___regBuiltin_Lean_Elab_Command_elabSynth___closed__3; static lean_object* l___regBuiltin_Lean_Elab_Command_elabModuleDoc_declRange___closed__7; @@ -197,11 +205,10 @@ static lean_object* l_Lean_Elab_Command_elabModuleDoc___closed__1; static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_BuiltinCommand_0__Lean_Elab_Command_replaceBinderAnnotation___spec__5___closed__11; lean_object* l_Lean_MessageData_ofList(lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Command_elabChoice___closed__5; -LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Command_elabAddDeclDoc___spec__11___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Command_elabSynth___closed__5; LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabEvalUnsafe___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_EXPORT lean_object* l_Lean_resolveGlobalName___at_Lean_Elab_Command_elabAddDeclDoc___spec__6(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Command_expandInCmd(lean_object*); -LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabAddDeclDoc___spec__6(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Command_elabVariable___spec__4(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_string_utf8_extract(lean_object*, lean_object*, lean_object*); lean_object* lean_add_alias(lean_object*, lean_object*, lean_object*); @@ -228,10 +235,12 @@ static lean_object* l___regBuiltin_Lean_Elab_Command_elabModuleDoc___closed__2; lean_object* l_Lean_Elab_Term_synthesizeSyntheticMVars(uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_string_utf8_byte_size(lean_object*); lean_object* l_List_head_x21___rarg(lean_object*, lean_object*); +static lean_object* l_Lean_getDocStringText___at_Lean_Elab_Command_elabAddDeclDoc___spec__14___closed__2; static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_BuiltinCommand_0__Lean_Elab_Command_replaceBinderAnnotation___spec__5___closed__9; static lean_object* l___regBuiltin_Lean_Elab_Command_elabEval_declRange___closed__6; LEAN_EXPORT lean_object* l___private_Lean_Elab_BuiltinCommand_0__Lean_Elab_Command_elabChoiceAux(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_BuiltinCommand_0__Lean_Elab_Command_checkAnonymousScope___boxed(lean_object*); +LEAN_EXPORT lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabAddDeclDoc___spec__3(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_BuiltinCommand_0__Lean_Elab_Command_replaceBinderAnnotation___lambda__2(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Command_expandInCmd_declRange(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_BuiltinCommand_0__Lean_Elab_Command_popScopes___boxed(lean_object*, lean_object*, lean_object*, lean_object*); @@ -245,7 +254,6 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabOpen(lean_object*, lean_object* static lean_object* l___regBuiltin_Lean_Elab_Command_elabOpen___closed__3; static lean_object* l___regBuiltin_Lean_Elab_Command_elabSetOption_declRange___closed__6; static lean_object* l___private_Lean_Elab_BuiltinCommand_0__Lean_Elab_Command_mkRunMetaEval___lambda__2___closed__3; -LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_Elab_Command_elabAddDeclDoc___spec__4(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Open_0__Lean_Elab_OpenDecl_elabOpenRenaming___at_Lean_Elab_Command_elabOpen___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Command_elabEval_declRange(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_OpenDecl_elabOpenDecl___at_Lean_Elab_Command_elabOpen___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -263,6 +271,7 @@ static lean_object* l___regBuiltin_Lean_Elab_Command_expandInCmd_declRange___clo static lean_object* l_Lean_Elab_Command_elabEvalUnsafe___lambda__4___closed__32; static lean_object* l_Lean_Elab_Command_elabEvalUnsafe___lambda__4___closed__10; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Command_elabOpen___spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Command_elabAddDeclDoc___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Command_elabCheckFailure___closed__1; static lean_object* l___regBuiltin_Lean_Elab_Command_elabOpen_declRange___closed__2; LEAN_EXPORT lean_object* l_Lean_addAndCompile___at_Lean_Elab_Command_elabEvalUnsafe___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -270,7 +279,6 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabChoice___boxed(lean_object*, le lean_object* l_Lean_throwError___at_Lean_Elab_Term_throwErrorIfErrors___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_BuiltinCommand_0__Lean_Elab_Command_addScope___spec__4(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Command_elabModuleDoc_declRange___closed__1; -LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Command_elabAddDeclDoc___spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Command_elabOpen___spec__16___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_maxRecDepth; LEAN_EXPORT uint8_t l_Lean_Elab_Command_elabCheckCore___lambda__1(lean_object*); @@ -279,6 +287,7 @@ LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_Elab_Command_el static lean_object* l___regBuiltin_Lean_Elab_Command_elabOpen_declRange___closed__1; lean_object* l_Lean_mkAppN(lean_object*, lean_object*); static lean_object* l_Lean_Elab_elabSetOption___at_Lean_Elab_Command_elabSetOption___spec__1___closed__3; +extern lean_object* l_Lean_LocalContext_empty; static lean_object* l___private_Lean_Elab_BuiltinCommand_0__Lean_Elab_Command_mkEvalInstCore___closed__8; lean_object* l_Lean_ScopedEnvExtension_popScope___rarg(lean_object*, lean_object*); lean_object* l_List_mapTRAux___at_Lean_resolveGlobalConstNoOverload___spec__1(lean_object*, lean_object*); @@ -293,19 +302,22 @@ static lean_object* l_Lean_Elab_Command_elabCheckFailure___closed__1; LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabOpen___lambda__1(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_elabEvalUnsafe___lambda__4___closed__19; lean_object* l_Lean_Elab_Term_evalTerm___rarg(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_Elab_Command_elabAddDeclDoc___spec__5___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_BuiltinCommand_0__Lean_Elab_Command_mkRunMetaEval___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_BuiltinCommand_0__Lean_Elab_Command_mkEvalInstCore___closed__4; +LEAN_EXPORT lean_object* l_Lean_getConstInfo___at_Lean_Elab_Command_elabAddDeclDoc___spec__12(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ConstantInfo_levelParams(lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Command_elabNamespace_declRange___closed__4; static lean_object* l___regBuiltin_Lean_Elab_Command_elabModuleDoc_declRange___closed__2; lean_object* l_List_mapTRAux___at_Lean_MessageData_instCoeListExprMessageData___spec__1(lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Open_0__Lean_Elab_OpenDecl_resolveNameUsingNamespacesCore___at_Lean_Elab_Command_elabExport___spec__3___lambda__1___closed__4; LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_Command_elabExport___spec__19(lean_object*, size_t, size_t, lean_object*); -LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Command_elabAddDeclDoc___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Command_elabCheckFailure___closed__2; LEAN_EXPORT lean_object* l_List_mapTRAux___at_Lean_Elab_Command_elabEnd___spec__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_BuiltinCommand_0__Lean_Elab_Command_replaceBinderAnnotation___spec__8___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_elabSetOption_setOption___at_Lean_Elab_Command_elabSetOption___spec__3___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Command_elabUniverse___closed__4; +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Command_elabAddDeclDoc___spec__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_fget(lean_object*, lean_object*); lean_object* l_Lean_Syntax_isNatLit_x3f(lean_object*); static lean_object* l_Lean_Elab_Command_elabEvalUnsafe___lambda__4___closed__16; @@ -327,7 +339,6 @@ static lean_object* l___private_Lean_Elab_BuiltinCommand_0__Lean_Elab_Command_mk lean_object* l_Lean_throwError___at_Lean_Elab_Command_expandDeclId___spec__12(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_getRefPos___at_Lean_Elab_Command_elabExport___spec__16___boxed(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabEvalUnsafe___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_Elab_Command_elabAddDeclDoc___spec__4___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Option_get___at_Std_Format_pretty_x27___spec__1(lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Command_elabVariable___closed__2; LEAN_EXPORT lean_object* l_Lean_resolveNamespace___at_Lean_Elab_Command_elabOpen___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -347,15 +358,12 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Command_elabModuleDoc(lean_obj LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_BuiltinCommand_0__Lean_Elab_Command_replaceBinderAnnotation___spec__8___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_BuiltinCommand_0__Lean_Elab_Command_replaceBinderAnnotation___spec__6___closed__3; static lean_object* l_Lean_Elab_elabSetOption_setOption___at_Lean_Elab_Command_elabSetOption___spec__3___closed__1; -LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Command_elabAddDeclDoc___spec__11(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_elabCheckCore___lambda__3___closed__2; static lean_object* l___regBuiltin_Lean_Elab_Command_elabModuleDoc___closed__1; -static lean_object* l_Lean_getDocStringText___at_Lean_Elab_Command_elabAddDeclDoc___spec__9___closed__2; static lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Command_elabEnd___spec__3___closed__2; static lean_object* l___regBuiltin_Lean_Elab_Command_elabOpen___closed__1; lean_object* l_Lean_KernelException_toMessageData(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_ofExcept___at_Lean_Elab_Command_elabEvalUnsafe___spec__4___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Command_elabAddDeclDoc___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Command_elabEval_declRange___closed__4; static lean_object* l___regBuiltin_Lean_Elab_Command_elabInitQuot___closed__2; LEAN_EXPORT lean_object* l___private_Lean_Elab_Open_0__Lean_Elab_OpenDecl_resolveNameUsingNamespacesCore___at_Lean_Elab_Command_elabExport___spec__3___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -381,6 +389,7 @@ static lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Command_el LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Command_elabOpen___spec__11(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_elabSetOption_setOption___at_Lean_Elab_Command_elabSetOption___spec__3___closed__2; static lean_object* l___private_Lean_Elab_Open_0__Lean_Elab_OpenDecl_resolveNameUsingNamespacesCore___at_Lean_Elab_Command_elabExport___spec__3___lambda__1___closed__1; +LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Command_elabAddDeclDoc___spec__2(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_elabSetOption___at_Lean_Elab_Command_elabSetOption___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoTree___at_Lean_Elab_Command_elabEnd___spec__4(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_BuiltinCommand_0__Lean_Elab_Command_replaceBinderAnnotation___spec__7(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*); @@ -417,12 +426,11 @@ static lean_object* l___regBuiltin_Lean_Elab_Command_elabReduce_declRange___clos static lean_object* l___regBuiltin_Lean_Elab_Command_elabSetOption_declRange___closed__1; static lean_object* l___regBuiltin_Lean_Elab_Command_elabSynth_declRange___closed__6; lean_object* lean_st_mk_ref(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Command_elabAddDeclDoc___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Command_elabNamespace___spec__1___rarg___closed__2; static lean_object* l___regBuiltin_Lean_Elab_Command_elabSetOption_declRange___closed__4; static lean_object* l___regBuiltin_Lean_Elab_Command_elabVariable___closed__1; +LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Command_elabAddDeclDoc___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Command_elabSection_declRange___closed__6; -LEAN_EXPORT lean_object* l_Lean_getDocStringText___at_Lean_Elab_Command_elabAddDeclDoc___spec__9(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_getId(lean_object*); static lean_object* l___private_Lean_Elab_BuiltinCommand_0__Lean_Elab_Command_mkEvalInstCore___closed__6; lean_object* l_Lean_Elab_addMacroStack___at_Lean_Elab_Term_instAddErrorMessageContextTermElabM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -479,6 +487,7 @@ uint8_t l_Lean_Expr_isAppOfArity(lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Command_elabReduce___closed__3; static lean_object* l___regBuiltin_Lean_Elab_Command_elabEnd___closed__1; lean_object* lean_expr_dbg_to_string(lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabAddDeclDoc___spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_elabEvalUnsafe___closed__1; static lean_object* l___regBuiltin_Lean_Elab_Command_expandInCmd_declRange___closed__6; static lean_object* l___private_Lean_Elab_BuiltinCommand_0__Lean_Elab_Command_mkRunMetaEval___closed__5; @@ -544,6 +553,7 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabEvalUnsafe___lambda__1(lean_obj static lean_object* l_Lean_Elab_OpenDecl_elabOpenDecl___at_Lean_Elab_Command_elabOpen___spec__1___closed__4; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Command_elabOpen___spec__16(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Command_elabEnd_declRange___closed__2; +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Command_elabAddDeclDoc___spec__13___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Command_elabOpen___spec__19___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Command_elabAddDeclDoc_declRange___closed__5; LEAN_EXPORT lean_object* l___private_Lean_Elab_Open_0__Lean_Elab_OpenDecl_elabOpenScoped___at_Lean_Elab_Command_elabOpen___spec__12___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -555,12 +565,14 @@ lean_object* l_Lean_InternalExceptionId_getName(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_BuiltinCommand_0__Lean_Elab_Command_popScopes(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Command_elabChoice(lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Command_elabSynth___closed__4; +LEAN_EXPORT lean_object* l_Lean_getDocStringText___at_Lean_Elab_Command_elabAddDeclDoc___spec__14(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Command_elabExport___spec__18(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Command_elabInitQuot_declRange___closed__3; static lean_object* l___regBuiltin_Lean_Elab_Command_elabNonComputableSection_declRange___closed__5; lean_object* l_Lean_addMacroScope(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Command_elabOpen___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Command_elabReduce___closed__1; +LEAN_EXPORT lean_object* l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_Elab_Command_elabAddDeclDoc___spec__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_BuiltinCommand_0__Lean_Elab_Command_typelessBinder_x3f___closed__1; LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabInitQuot___rarg(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Command_elabVariable___spec__2___at_Lean_Elab_Command_elabVariable___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -568,6 +580,7 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabReduce___lambda__1___boxed(lean static lean_object* l___regBuiltin_Lean_Elab_Command_elabInitQuot_declRange___closed__5; LEAN_EXPORT lean_object* l_Lean_Elab_Command_hasNoErrorMessages___rarg(lean_object*, lean_object*); static lean_object* l_Lean_Elab_elabSetOption___at_Lean_Elab_Command_elabSetOption___spec__1___closed__2; +LEAN_EXPORT lean_object* l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_Elab_Command_elabAddDeclDoc___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_BuiltinCommand_0__Lean_Elab_Command_typelessBinder_x3f___closed__2; lean_object* l_Lean_PersistentEnvExtension_addEntry___rarg(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_nestedExceptionToMessageData___at_Lean_Elab_Command_elabExport___spec__15___closed__1; @@ -586,7 +599,6 @@ static lean_object* l___regBuiltin_Lean_Elab_Command_elabAddDeclDoc_declRange___ LEAN_EXPORT lean_object* l_Lean_MonadQuotation_addMacroScope___at_Lean_Elab_Command_elabVariable___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_elabSetOption___at_Lean_Elab_Command_elabSetOption___spec__1___closed__4; static lean_object* l___regBuiltin_Lean_Elab_Command_elabInitQuot___closed__5; -LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabAddDeclDoc___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Command_elabExport_declRange(lean_object*); static lean_object* l_Lean_Elab_Command_elabEvalUnsafe___lambda__4___closed__31; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Command_elabOpen___spec__11___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -594,8 +606,8 @@ lean_object* l_Lean_Elab_Command_addUnivLevel(lean_object*, lean_object*, lean_o static lean_object* l___regBuiltin_Lean_Elab_Command_elabSection_declRange___closed__4; static lean_object* l___regBuiltin_Lean_Elab_Command_elabUniverse_declRange___closed__2; lean_object* l_List_drop___rarg(lean_object*, lean_object*); -static lean_object* l_Lean_getDocStringText___at_Lean_Elab_Command_elabAddDeclDoc___spec__9___closed__1; LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabNonComputableSection(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Command_elabAddDeclDoc___spec__9(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_elabEvalUnsafe___lambda__4___closed__12; static lean_object* l_Lean_Elab_nestedExceptionToMessageData___at_Lean_Elab_Command_elabExport___spec__15___closed__4; LEAN_EXPORT lean_object* l_List_forIn_loop___at_Lean_Elab_Command_elabExport___spec__13(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -620,6 +632,7 @@ static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_BuiltinCom extern lean_object* l___private_Lean_DocString_0__Lean_moduleDocExt; static lean_object* l_Lean_Elab_Command_elabExport___closed__2; static lean_object* l___regBuiltin_Lean_Elab_Command_elabUniverse_declRange___closed__5; +LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabAddDeclDoc___spec__7(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Open_0__Lean_Elab_OpenDecl_addOpenDecl___at_Lean_Elab_Command_elabOpen___spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_const___override(lean_object*, lean_object*); lean_object* l_Lean_Syntax_getSepArgs(lean_object*); @@ -636,9 +649,11 @@ static lean_object* l___regBuiltin_Lean_Elab_Command_elabCheckFailure_declRange_ LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_BuiltinCommand_0__Lean_Elab_Command_replaceBinderAnnotation___spec__2(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Command_elabModuleDoc___closed__12; lean_object* lean_environment_main_module(lean_object*); +static lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabAddDeclDoc___spec__3___closed__3; static lean_object* l___regBuiltin_Lean_Elab_Command_elabNamespace___closed__3; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Command_elabAddDeclDoc_declRange(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabEvalUnsafe___lambda__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Command_elabAddDeclDoc___spec__13(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_BuiltinCommand_0__Lean_Elab_Command_replaceBinderAnnotation___spec__2___closed__2; static lean_object* l___regBuiltin_Lean_Elab_Command_elabInitQuot_declRange___closed__1; static lean_object* l_Lean_Elab_Command_elabExport___closed__1; @@ -665,7 +680,6 @@ static lean_object* l___regBuiltin_Lean_Elab_Command_elabCheckFailure_declRange_ lean_object* l_Lean_Elab_Command_modifyScope(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Command_elabInitQuot___closed__4; static lean_object* l___regBuiltin_Lean_Elab_Command_elabSection_declRange___closed__2; -LEAN_EXPORT lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabAddDeclDoc___spec__2(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Command_elabCheck(lean_object*); lean_object* l_Lean_Syntax_getArgs(lean_object*); lean_object* l_Lean_Name_append(lean_object*, lean_object*); @@ -676,6 +690,7 @@ static lean_object* l___private_Lean_Elab_BuiltinCommand_0__Lean_Elab_Command_mk lean_object* l_Lean_Syntax_getKind(lean_object*); static lean_object* l_Lean_Elab_elabSetOption___at_Lean_Elab_Command_elabSetOption___spec__1___closed__6; static lean_object* l_Lean_Elab_Command_elabEnd___closed__1; +LEAN_EXPORT lean_object* l_Lean_Elab_addConstInfo___at_Lean_Elab_Command_elabAddDeclDoc___spec__10(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Command_elabReduce_declRange___closed__6; LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_Lean_Elab_Command_elabExport___spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_resolveUniqueNamespace___at_Lean_Elab_Command_elabOpen___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -729,20 +744,20 @@ lean_object* l_Lean_instantiateMVars___at_Lean_Elab_Term_MVarErrorInfo_logError_ static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_BuiltinCommand_0__Lean_Elab_Command_replaceBinderAnnotation___spec__5___closed__7; LEAN_EXPORT lean_object* l_Lean_Elab_Command_withNamespace___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_BuiltinCommand_0__Lean_Elab_Command_addScope___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_List_mapTRAux___at_Lean_mkConstWithLevelParams___spec__1(lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Command_elabCheck___closed__3; lean_object* l_Array_ofSubarray___rarg(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabCheckCore___lambda__1___boxed(lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Command_elabUniverse_declRange___closed__4; -static lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabAddDeclDoc___spec__2___closed__1; static lean_object* l___regBuiltin_Lean_Elab_Command_elabEval_declRange___closed__3; static lean_object* l_Lean_resolveGlobalConstNoOverloadCore___at_Lean_Elab_Command_elabExport___spec__5___closed__1; lean_object* l_Lean_Elab_Command_getRef(lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabAddDeclDoc___spec__2___closed__2; LEAN_EXPORT lean_object* l_Lean_resolveUniqueNamespace___at_Lean_Elab_Command_elabOpen___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Command_elabNonComputableSection_declRange___closed__1; lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_elabNamespace___closed__2; +static lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabAddDeclDoc___spec__3___closed__2; lean_object* l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_BuiltinCommand_0__Lean_Elab_Command_replaceBinderAnnotation___spec__8(uint8_t, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Command_elabEval_declRange___closed__5; @@ -764,6 +779,7 @@ lean_object* l_Lean_addDocString___at_Lean_Elab_Command_expandDeclId___spec__10( static lean_object* l_Lean_Elab_Command_expandInCmd___closed__1; static lean_object* l_Lean_Elab_Command_elabVariable___lambda__2___closed__1; LEAN_EXPORT lean_object* l_Lean_popScope___at___private_Lean_Elab_BuiltinCommand_0__Lean_Elab_Command_popScopes___spec__1(lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabAddDeclDoc___spec__3___closed__1; static lean_object* l_Lean_Elab_Command_elabEvalUnsafe___lambda__4___closed__3; static lean_object* l___regBuiltin_Lean_Elab_Command_elabNonComputableSection___closed__2; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_BuiltinCommand_0__Lean_Elab_Command_replaceBinderAnnotation___spec__8___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -787,7 +803,6 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabVariable___lambda__1___boxed(le LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Command_elabChoice_declRange(lean_object*); static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_BuiltinCommand_0__Lean_Elab_Command_replaceBinderAnnotation___spec__8___closed__3; static lean_object* l___regBuiltin_Lean_Elab_Command_elabExport_declRange___closed__5; -static lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabAddDeclDoc___spec__2___closed__3; static lean_object* l___regBuiltin_Lean_Elab_Command_elabEnd_declRange___closed__6; uint8_t l_Lean_DataValue_sameCtor(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*); @@ -796,6 +811,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_BuiltinCommand_0__Lean_Elab_Comma lean_object* l_Lean_Elab_Command_getScopes___rarg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabModuleDoc(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Command_elabCheck_declRange(lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Command_elabAddDeclDoc___spec__15(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Command_elabReduce_declRange___closed__2; lean_object* l_Lean_indentD(lean_object*); extern lean_object* l_Lean_Elab_unsupportedSyntaxExceptionId; @@ -835,6 +851,7 @@ static lean_object* l___regBuiltin_Lean_Elab_Command_elabVariable_declRange___cl LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_BuiltinCommand_0__Lean_Elab_Command_addScope___spec__2(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_elabEvalUnsafe___lambda__4___closed__25; static lean_object* l___regBuiltin_Lean_Elab_Command_expandInCmd___closed__3; +LEAN_EXPORT lean_object* l_Lean_Elab_addConstInfo___at_Lean_Elab_Command_elabAddDeclDoc___spec__10___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Std_PersistentArray_anyM___at_Lean_MessageLog_hasErrors___spec__1(lean_object*); static lean_object* l_Lean_Elab_Command_elabEnd___lambda__1___closed__2; LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Command_elabSetOption___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); @@ -896,7 +913,9 @@ static lean_object* l_Lean_Elab_OpenDecl_elabOpenDecl___at_Lean_Elab_Command_ela static lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabExport___spec__8___closed__1; static lean_object* l___regBuiltin_Lean_Elab_Command_elabSection___closed__3; static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_BuiltinCommand_0__Lean_Elab_Command_replaceBinderAnnotation___spec__6___closed__2; +LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_Lean_Elab_Command_elabAddDeclDoc___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_elabNamespace___closed__1; +LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_Elab_Command_elabAddDeclDoc___spec__5(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_BuiltinCommand_0__Lean_Elab_Command_replaceBinderAnnotation___spec__5___lambda__1___boxed(lean_object*, lean_object*); lean_object* l_Lean_ScopedEnvExtension_activateScoped___rarg(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Command_elabOpen___spec__7(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -904,7 +923,6 @@ static lean_object* l___private_Lean_Elab_Open_0__Lean_Elab_OpenDecl_resolveName static lean_object* l_Lean_Elab_Command_elabEnd___lambda__1___closed__3; static lean_object* l___regBuiltin_Lean_Elab_Command_elabModuleDoc___closed__7; static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_BuiltinCommand_0__Lean_Elab_Command_replaceBinderAnnotation___spec__5___closed__10; -LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_Lean_Elab_Command_elabAddDeclDoc___spec__5(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_formatStxAux(lean_object*, uint8_t, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Command_elabUniverse_declRange___closed__1; static lean_object* l___regBuiltin_Lean_Elab_Command_elabReduce___closed__2; @@ -915,7 +933,6 @@ static lean_object* l_Lean_Elab_OpenDecl_elabOpenDecl___at_Lean_Elab_Command_ela static lean_object* l___regBuiltin_Lean_Elab_Command_elabCheckFailure_declRange___closed__6; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Command_elabSection_declRange(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabSetOption___lambda__1(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Command_elabAddDeclDoc___spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_BuiltinCommand_0__Lean_Elab_Command_popScopes___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Command_elabInitQuot_declRange___closed__7; static lean_object* l___regBuiltin_Lean_Elab_Command_elabCheck_declRange___closed__6; @@ -934,10 +951,8 @@ lean_object* l_Lean_Exception_toMessageData(lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Command_elabEvalUnsafe___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Command_elabExport___closed__3; lean_object* l_Lean_Elab_getBetterRef(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_Elab_Command_elabAddDeclDoc___spec__4___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, 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_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Command_elabAddDeclDoc___spec__10(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Command_elabModuleDoc___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Syntax_isIdent(lean_object*); lean_object* l_Lean_throwError___at_Lean_Expr_abstractRangeM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -23287,7 +23302,7 @@ x_4 = l_Lean_addBuiltinDeclarationRanges(x_2, x_3, x_1); return x_4; } } -LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Command_elabAddDeclDoc___spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Command_elabAddDeclDoc___spec__4(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; lean_object* x_9; uint8_t x_10; @@ -23341,7 +23356,7 @@ return x_21; } } } -LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_Lean_Elab_Command_elabAddDeclDoc___spec__5(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_Lean_Elab_Command_elabAddDeclDoc___spec__6(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_11; lean_object* x_12; lean_object* x_13; uint8_t x_14; @@ -23395,7 +23410,7 @@ return x_22; } } } -LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabAddDeclDoc___spec__6(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabAddDeclDoc___spec__7(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_11; lean_object* x_12; @@ -23415,7 +23430,7 @@ x_12 = l_Lean_throwError___at_Lean_Elab_Command_expandDeclId___spec__4(x_11, x_2 return x_12; } } -LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_Elab_Command_elabAddDeclDoc___spec__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_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_Elab_Command_elabAddDeclDoc___spec__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) { _start: { lean_object* x_7; lean_object* x_8; @@ -23426,12 +23441,12 @@ lean_ctor_set(x_8, 1, x_6); return x_8; } } -LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_Elab_Command_elabAddDeclDoc___spec__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_Elab_Command_elabAddDeclDoc___spec__5(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; uint8_t x_10; lean_inc(x_1); -x_5 = l_Lean_resolveGlobalName___at_Lean_Elab_Command_elabAddDeclDoc___spec__5(x_1, x_2, x_3, x_4); +x_5 = l_Lean_resolveGlobalName___at_Lean_Elab_Command_elabAddDeclDoc___spec__6(x_1, x_2, x_3, x_4); x_6 = lean_ctor_get(x_5, 0); lean_inc(x_6); x_7 = lean_ctor_get(x_5, 1); @@ -23445,7 +23460,7 @@ if (x_10 == 0) lean_object* x_11; lean_object* x_12; lean_dec(x_1); x_11 = lean_box(0); -x_12 = l_Lean_resolveGlobalConstCore___at_Lean_Elab_Command_elabAddDeclDoc___spec__4___lambda__1(x_9, x_8, x_11, x_2, x_3, x_7); +x_12 = l_Lean_resolveGlobalConstCore___at_Lean_Elab_Command_elabAddDeclDoc___spec__5___lambda__1(x_9, x_8, x_11, x_2, x_3, x_7); lean_dec(x_3); lean_dec(x_2); return x_12; @@ -23454,7 +23469,7 @@ else { lean_object* x_13; uint8_t x_14; lean_dec(x_9); -x_13 = l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabAddDeclDoc___spec__6(x_1, x_2, x_3, x_7); +x_13 = l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabAddDeclDoc___spec__7(x_1, x_2, x_3, x_7); lean_dec(x_3); x_14 = !lean_is_exclusive(x_13); if (x_14 == 0) @@ -23477,7 +23492,7 @@ return x_17; } } } -static lean_object* _init_l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabAddDeclDoc___spec__2___closed__1() { +static lean_object* _init_l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabAddDeclDoc___spec__3___closed__1() { _start: { lean_object* x_1; @@ -23485,27 +23500,27 @@ x_1 = lean_mk_string_from_bytes("expected identifier", 19); return x_1; } } -static lean_object* _init_l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabAddDeclDoc___spec__2___closed__2() { +static lean_object* _init_l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabAddDeclDoc___spec__3___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabAddDeclDoc___spec__2___closed__1; +x_1 = l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabAddDeclDoc___spec__3___closed__1; 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_resolveGlobalConst___at_Lean_Elab_Command_elabAddDeclDoc___spec__2___closed__3() { +static lean_object* _init_l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabAddDeclDoc___spec__3___closed__3() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabAddDeclDoc___spec__2___closed__2; +x_1 = l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabAddDeclDoc___spec__3___closed__2; x_2 = lean_alloc_ctor(0, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -LEAN_EXPORT lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabAddDeclDoc___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabAddDeclDoc___spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { if (lean_obj_tag(x_1) == 3) @@ -23549,7 +23564,7 @@ lean_object* x_15; lean_object* x_16; x_15 = lean_ctor_get(x_2, 6); lean_dec(x_15); lean_ctor_set(x_2, 6, x_13); -x_16 = l_Lean_resolveGlobalConstCore___at_Lean_Elab_Command_elabAddDeclDoc___spec__4(x_5, x_2, x_3, x_12); +x_16 = l_Lean_resolveGlobalConstCore___at_Lean_Elab_Command_elabAddDeclDoc___spec__5(x_5, x_2, x_3, x_12); return x_16; } else @@ -23579,7 +23594,7 @@ lean_ctor_set(x_24, 4, x_21); lean_ctor_set(x_24, 5, x_22); lean_ctor_set(x_24, 6, x_13); lean_ctor_set(x_24, 7, x_23); -x_25 = l_Lean_resolveGlobalConstCore___at_Lean_Elab_Command_elabAddDeclDoc___spec__4(x_5, x_24, x_3, x_12); +x_25 = l_Lean_resolveGlobalConstCore___at_Lean_Elab_Command_elabAddDeclDoc___spec__5(x_5, x_24, x_3, x_12); return x_25; } } @@ -23587,15 +23602,15 @@ return x_25; else { lean_object* x_26; lean_object* x_27; -x_26 = l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabAddDeclDoc___spec__2___closed__3; -x_27 = l_Lean_throwErrorAt___at_Lean_Elab_Command_elabAddDeclDoc___spec__3(x_1, x_26, x_2, x_3, x_4); +x_26 = l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabAddDeclDoc___spec__3___closed__3; +x_27 = l_Lean_throwErrorAt___at_Lean_Elab_Command_elabAddDeclDoc___spec__4(x_1, x_26, x_2, x_3, x_4); lean_dec(x_3); lean_dec(x_1); return x_27; } } } -LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Command_elabAddDeclDoc___spec__8(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Command_elabAddDeclDoc___spec__9(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_11; lean_object* x_12; lean_object* x_13; uint8_t x_14; @@ -23649,7 +23664,7 @@ return x_20; } } } -LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Command_elabAddDeclDoc___spec__7(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Command_elabAddDeclDoc___spec__8(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; lean_object* x_9; uint8_t x_10; @@ -23669,7 +23684,7 @@ lean_object* x_11; lean_object* x_12; x_11 = lean_ctor_get(x_3, 6); lean_dec(x_11); lean_ctor_set(x_3, 6, x_9); -x_12 = l_Lean_throwError___at_Lean_Elab_Command_elabAddDeclDoc___spec__8(x_2, x_3, x_4, x_8); +x_12 = l_Lean_throwError___at_Lean_Elab_Command_elabAddDeclDoc___spec__9(x_2, x_3, x_4, x_8); lean_dec(x_4); return x_12; } @@ -23700,20 +23715,20 @@ lean_ctor_set(x_20, 4, x_17); lean_ctor_set(x_20, 5, x_18); lean_ctor_set(x_20, 6, x_9); lean_ctor_set(x_20, 7, x_19); -x_21 = l_Lean_throwError___at_Lean_Elab_Command_elabAddDeclDoc___spec__8(x_2, x_20, x_4, x_8); +x_21 = l_Lean_throwError___at_Lean_Elab_Command_elabAddDeclDoc___spec__9(x_2, x_20, x_4, x_8); lean_dec(x_4); return x_21; } } } -LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Command_elabAddDeclDoc___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Command_elabAddDeclDoc___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { lean_object* x_5; lean_inc(x_3); lean_inc(x_2); lean_inc(x_1); -x_5 = l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabAddDeclDoc___spec__2(x_1, x_2, x_3, x_4); +x_5 = l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabAddDeclDoc___spec__3(x_1, x_2, x_3, x_4); if (lean_obj_tag(x_5) == 0) { lean_object* x_6; @@ -23748,7 +23763,7 @@ x_24 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_24, 0, x_23); x_25 = lean_alloc_ctor(0, 1, 0); lean_ctor_set(x_25, 0, x_24); -x_26 = l_Lean_throwErrorAt___at_Lean_Elab_Command_elabAddDeclDoc___spec__7(x_1, x_25, x_2, x_3, x_7); +x_26 = l_Lean_throwErrorAt___at_Lean_Elab_Command_elabAddDeclDoc___spec__8(x_1, x_25, x_2, x_3, x_7); return x_26; } else @@ -23819,7 +23834,7 @@ x_51 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_51, 0, x_50); x_52 = lean_alloc_ctor(0, 1, 0); lean_ctor_set(x_52, 0, x_51); -x_53 = l_Lean_throwErrorAt___at_Lean_Elab_Command_elabAddDeclDoc___spec__7(x_1, x_52, x_2, x_3, x_34); +x_53 = l_Lean_throwErrorAt___at_Lean_Elab_Command_elabAddDeclDoc___spec__8(x_1, x_52, x_2, x_3, x_34); return x_53; } } @@ -23851,7 +23866,7 @@ return x_57; } } } -LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Command_elabAddDeclDoc___spec__11(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Command_elabAddDeclDoc___spec__13(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_11; lean_object* x_12; lean_object* x_13; uint8_t x_14; @@ -23905,7 +23920,428 @@ return x_20; } } } -LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Command_elabAddDeclDoc___spec__10(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_Lean_getConstInfo___at_Lean_Elab_Command_elabAddDeclDoc___spec__12(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_st_ref_get(x_3, x_4); +x_6 = !lean_is_exclusive(x_5); +if (x_6 == 0) +{ +lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; +x_7 = lean_ctor_get(x_5, 0); +x_8 = lean_ctor_get(x_5, 1); +x_9 = lean_ctor_get(x_7, 0); +lean_inc(x_9); +lean_dec(x_7); +lean_inc(x_1); +x_10 = lean_environment_find(x_9, x_1); +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_18; +lean_free_object(x_5); +x_11 = lean_box(0); +x_12 = l_Lean_Expr_const___override(x_1, x_11); +x_13 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_13, 0, x_12); +x_14 = l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabExport___spec__8___closed__2; +x_15 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_15, 0, x_14); +lean_ctor_set(x_15, 1, x_13); +x_16 = l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabExport___spec__8___closed__3; +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_throwError___at_Lean_Elab_Command_elabAddDeclDoc___spec__13(x_17, x_2, x_3, x_8); +return x_18; +} +else +{ +lean_object* x_19; +lean_dec(x_2); +lean_dec(x_1); +x_19 = lean_ctor_get(x_10, 0); +lean_inc(x_19); +lean_dec(x_10); +lean_ctor_set(x_5, 0, x_19); +return x_5; +} +} +else +{ +lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; +x_20 = lean_ctor_get(x_5, 0); +x_21 = lean_ctor_get(x_5, 1); +lean_inc(x_21); +lean_inc(x_20); +lean_dec(x_5); +x_22 = lean_ctor_get(x_20, 0); +lean_inc(x_22); +lean_dec(x_20); +lean_inc(x_1); +x_23 = lean_environment_find(x_22, x_1); +if (lean_obj_tag(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_30; lean_object* x_31; +x_24 = lean_box(0); +x_25 = l_Lean_Expr_const___override(x_1, x_24); +x_26 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_26, 0, x_25); +x_27 = l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabExport___spec__8___closed__2; +x_28 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_28, 0, x_27); +lean_ctor_set(x_28, 1, x_26); +x_29 = l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabExport___spec__8___closed__3; +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 = l_Lean_throwError___at_Lean_Elab_Command_elabAddDeclDoc___spec__13(x_30, x_2, x_3, x_21); +return x_31; +} +else +{ +lean_object* x_32; lean_object* x_33; +lean_dec(x_2); +lean_dec(x_1); +x_32 = lean_ctor_get(x_23, 0); +lean_inc(x_32); +lean_dec(x_23); +x_33 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_33, 0, x_32); +lean_ctor_set(x_33, 1, x_21); +return x_33; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_mkConstWithLevelParams___at_Lean_Elab_Command_elabAddDeclDoc___spec__11(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; +lean_inc(x_1); +x_5 = l_Lean_getConstInfo___at_Lean_Elab_Command_elabAddDeclDoc___spec__12(x_1, x_2, x_3, x_4); +if (lean_obj_tag(x_5) == 0) +{ +uint8_t x_6; +x_6 = !lean_is_exclusive(x_5); +if (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_8 = l_Lean_ConstantInfo_levelParams(x_7); +lean_dec(x_7); +x_9 = lean_box(0); +x_10 = l_List_mapTRAux___at_Lean_mkConstWithLevelParams___spec__1(x_8, x_9); +x_11 = l_Lean_Expr_const___override(x_1, x_10); +lean_ctor_set(x_5, 0, x_11); +return x_5; +} +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; lean_object* x_18; +x_12 = lean_ctor_get(x_5, 0); +x_13 = lean_ctor_get(x_5, 1); +lean_inc(x_13); +lean_inc(x_12); +lean_dec(x_5); +x_14 = l_Lean_ConstantInfo_levelParams(x_12); +lean_dec(x_12); +x_15 = lean_box(0); +x_16 = l_List_mapTRAux___at_Lean_mkConstWithLevelParams___spec__1(x_14, x_15); +x_17 = l_Lean_Expr_const___override(x_1, x_16); +x_18 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_18, 0, x_17); +lean_ctor_set(x_18, 1, x_13); +return x_18; +} +} +else +{ +uint8_t x_19; +lean_dec(x_1); +x_19 = !lean_is_exclusive(x_5); +if (x_19 == 0) +{ +return x_5; +} +else +{ +lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_20 = lean_ctor_get(x_5, 0); +x_21 = lean_ctor_get(x_5, 1); +lean_inc(x_21); +lean_inc(x_20); +lean_dec(x_5); +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_EXPORT lean_object* l_Lean_Elab_addConstInfo___at_Lean_Elab_Command_elabAddDeclDoc___spec__10(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_inc(x_4); +x_7 = l_Lean_mkConstWithLevelParams___at_Lean_Elab_Command_elabAddDeclDoc___spec__11(x_2, x_4, x_5, x_6); +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; uint8_t x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; +x_8 = lean_ctor_get(x_7, 0); +lean_inc(x_8); +x_9 = lean_ctor_get(x_7, 1); +lean_inc(x_9); +lean_dec(x_7); +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_1); +x_12 = l_Lean_LocalContext_empty; +x_13 = 0; +x_14 = lean_alloc_ctor(0, 4, 1); +lean_ctor_set(x_14, 0, x_11); +lean_ctor_set(x_14, 1, x_12); +lean_ctor_set(x_14, 2, x_3); +lean_ctor_set(x_14, 3, x_8); +lean_ctor_set_uint8(x_14, sizeof(void*)*4, x_13); +x_15 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_15, 0, x_14); +x_16 = l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Command_elabEnd___spec__3(x_15, x_4, x_5, x_9); +lean_dec(x_4); +return x_16; +} +else +{ +uint8_t x_17; +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_1); +x_17 = !lean_is_exclusive(x_7); +if (x_17 == 0) +{ +return x_7; +} +else +{ +lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_18 = lean_ctor_get(x_7, 0); +x_19 = lean_ctor_get(x_7, 1); +lean_inc(x_19); +lean_inc(x_18); +lean_dec(x_7); +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_EXPORT lean_object* l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_Elab_Command_elabAddDeclDoc___spec__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_6; +x_6 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_6, 0, x_1); +lean_ctor_set(x_6, 1, x_5); +return x_6; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_Elab_Command_elabAddDeclDoc___spec__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_6; +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_1); +x_6 = l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Command_elabAddDeclDoc___spec__2(x_1, x_3, x_4, x_5); +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; uint8_t x_12; +x_7 = lean_ctor_get(x_6, 0); +lean_inc(x_7); +x_8 = lean_ctor_get(x_6, 1); +lean_inc(x_8); +lean_dec(x_6); +x_9 = lean_st_ref_get(x_4, x_8); +x_10 = lean_ctor_get(x_9, 0); +lean_inc(x_10); +x_11 = lean_ctor_get(x_10, 7); +lean_inc(x_11); +lean_dec(x_10); +x_12 = lean_ctor_get_uint8(x_11, sizeof(void*)*2); +lean_dec(x_11); +if (x_12 == 0) +{ +uint8_t x_13; +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_13 = !lean_is_exclusive(x_9); +if (x_13 == 0) +{ +lean_object* x_14; +x_14 = lean_ctor_get(x_9, 0); +lean_dec(x_14); +lean_ctor_set(x_9, 0, x_7); +return x_9; +} +else +{ +lean_object* x_15; lean_object* x_16; +x_15 = lean_ctor_get(x_9, 1); +lean_inc(x_15); +lean_dec(x_9); +x_16 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_16, 0, x_7); +lean_ctor_set(x_16, 1, x_15); +return x_16; +} +} +else +{ +lean_object* x_17; lean_object* x_18; +x_17 = lean_ctor_get(x_9, 1); +lean_inc(x_17); +lean_dec(x_9); +lean_inc(x_7); +x_18 = l_Lean_Elab_addConstInfo___at_Lean_Elab_Command_elabAddDeclDoc___spec__10(x_1, x_7, x_2, x_3, x_4, x_17); +lean_dec(x_4); +if (lean_obj_tag(x_18) == 0) +{ +uint8_t x_19; +x_19 = !lean_is_exclusive(x_18); +if (x_19 == 0) +{ +lean_object* x_20; +x_20 = lean_ctor_get(x_18, 0); +lean_dec(x_20); +lean_ctor_set(x_18, 0, x_7); +return x_18; +} +else +{ +lean_object* x_21; lean_object* x_22; +x_21 = lean_ctor_get(x_18, 1); +lean_inc(x_21); +lean_dec(x_18); +x_22 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_22, 0, x_7); +lean_ctor_set(x_22, 1, x_21); +return x_22; +} +} +else +{ +uint8_t x_23; +lean_dec(x_7); +x_23 = !lean_is_exclusive(x_18); +if (x_23 == 0) +{ +return x_18; +} +else +{ +lean_object* x_24; lean_object* x_25; lean_object* x_26; +x_24 = lean_ctor_get(x_18, 0); +x_25 = lean_ctor_get(x_18, 1); +lean_inc(x_25); +lean_inc(x_24); +lean_dec(x_18); +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; +} +} +} +} +else +{ +uint8_t x_27; +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_27 = !lean_is_exclusive(x_6); +if (x_27 == 0) +{ +return x_6; +} +else +{ +lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_28 = lean_ctor_get(x_6, 0); +x_29 = lean_ctor_get(x_6, 1); +lean_inc(x_29); +lean_inc(x_28); +lean_dec(x_6); +x_30 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_30, 0, x_28); +lean_ctor_set(x_30, 1, x_29); +return x_30; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Command_elabAddDeclDoc___spec__16(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_11; lean_object* x_12; lean_object* x_13; uint8_t x_14; +x_5 = l_Lean_Elab_Command_getRef(x_2, x_3, x_4); +x_6 = lean_ctor_get(x_5, 0); +lean_inc(x_6); +x_7 = lean_ctor_get(x_5, 1); +lean_inc(x_7); +lean_dec(x_5); +x_8 = lean_ctor_get(x_2, 4); +lean_inc(x_8); +lean_inc(x_8); +x_9 = l_Lean_Elab_getBetterRef(x_6, x_8); +lean_dec(x_6); +x_10 = l_Lean_addMessageContextPartial___at_Lean_Elab_Command_instAddMessageContextCommandElabM___spec__1(x_1, x_2, x_3, x_7); +x_11 = lean_ctor_get(x_10, 0); +lean_inc(x_11); +x_12 = lean_ctor_get(x_10, 1); +lean_inc(x_12); +lean_dec(x_10); +x_13 = l_Lean_Elab_addMacroStack___at_Lean_Elab_Command_instAddErrorMessageContextCommandElabM___spec__1(x_11, x_8, x_2, x_3, x_12); +lean_dec(x_2); +lean_dec(x_8); +x_14 = !lean_is_exclusive(x_13); +if (x_14 == 0) +{ +lean_object* x_15; lean_object* x_16; +x_15 = lean_ctor_get(x_13, 0); +x_16 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_16, 0, x_9); +lean_ctor_set(x_16, 1, x_15); +lean_ctor_set_tag(x_13, 1); +lean_ctor_set(x_13, 0, x_16); +return x_13; +} +else +{ +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_17 = lean_ctor_get(x_13, 0); +x_18 = lean_ctor_get(x_13, 1); +lean_inc(x_18); +lean_inc(x_17); +lean_dec(x_13); +x_19 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_19, 0, x_9); +lean_ctor_set(x_19, 1, x_17); +x_20 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_20, 0, x_19); +lean_ctor_set(x_20, 1, x_18); +return x_20; +} +} +} +LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Command_elabAddDeclDoc___spec__15(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; lean_object* x_9; uint8_t x_10; @@ -23925,7 +24361,7 @@ lean_object* x_11; lean_object* x_12; x_11 = lean_ctor_get(x_3, 6); lean_dec(x_11); lean_ctor_set(x_3, 6, x_9); -x_12 = l_Lean_throwError___at_Lean_Elab_Command_elabAddDeclDoc___spec__11(x_2, x_3, x_4, x_8); +x_12 = l_Lean_throwError___at_Lean_Elab_Command_elabAddDeclDoc___spec__16(x_2, x_3, x_4, x_8); lean_dec(x_4); return x_12; } @@ -23956,13 +24392,13 @@ lean_ctor_set(x_20, 4, x_17); lean_ctor_set(x_20, 5, x_18); lean_ctor_set(x_20, 6, x_9); lean_ctor_set(x_20, 7, x_19); -x_21 = l_Lean_throwError___at_Lean_Elab_Command_elabAddDeclDoc___spec__11(x_2, x_20, x_4, x_8); +x_21 = l_Lean_throwError___at_Lean_Elab_Command_elabAddDeclDoc___spec__16(x_2, x_20, x_4, x_8); lean_dec(x_4); return x_21; } } } -static lean_object* _init_l_Lean_getDocStringText___at_Lean_Elab_Command_elabAddDeclDoc___spec__9___closed__1() { +static lean_object* _init_l_Lean_getDocStringText___at_Lean_Elab_Command_elabAddDeclDoc___spec__14___closed__1() { _start: { lean_object* x_1; @@ -23970,16 +24406,16 @@ x_1 = lean_mk_string_from_bytes("unexpected doc string", 21); return x_1; } } -static lean_object* _init_l_Lean_getDocStringText___at_Lean_Elab_Command_elabAddDeclDoc___spec__9___closed__2() { +static lean_object* _init_l_Lean_getDocStringText___at_Lean_Elab_Command_elabAddDeclDoc___spec__14___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_getDocStringText___at_Lean_Elab_Command_elabAddDeclDoc___spec__9___closed__1; +x_1 = l_Lean_getDocStringText___at_Lean_Elab_Command_elabAddDeclDoc___spec__14___closed__1; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -LEAN_EXPORT lean_object* l_Lean_getDocStringText___at_Lean_Elab_Command_elabAddDeclDoc___spec__9(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_getDocStringText___at_Lean_Elab_Command_elabAddDeclDoc___spec__14(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; @@ -24013,7 +24449,7 @@ lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean x_14 = lean_alloc_ctor(1, 1, 0); lean_ctor_set(x_14, 0, x_6); x_15 = l_Lean_indentD(x_14); -x_16 = l_Lean_getDocStringText___at_Lean_Elab_Command_elabAddDeclDoc___spec__9___closed__2; +x_16 = l_Lean_getDocStringText___at_Lean_Elab_Command_elabAddDeclDoc___spec__14___closed__2; x_17 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_17, 0, x_16); lean_ctor_set(x_17, 1, x_15); @@ -24021,7 +24457,7 @@ x_18 = l_Lean_Elab_Command_elabModuleDoc___closed__4; x_19 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_19, 0, x_17); lean_ctor_set(x_19, 1, x_18); -x_20 = l_Lean_throwErrorAt___at_Lean_Elab_Command_elabAddDeclDoc___spec__10(x_1, x_19, x_2, x_3, x_4); +x_20 = l_Lean_throwErrorAt___at_Lean_Elab_Command_elabAddDeclDoc___spec__15(x_1, x_19, x_2, x_3, x_4); return x_20; } } @@ -24098,146 +24534,194 @@ return x_12; } else { -lean_object* x_13; lean_object* x_14; lean_object* x_15; +lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; x_13 = lean_unsigned_to_nat(2u); x_14 = l_Lean_Syntax_getArg(x_1, x_13); lean_dec(x_1); +x_15 = lean_box(0); lean_inc(x_3); lean_inc(x_2); -x_15 = l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Command_elabAddDeclDoc___spec__1(x_14, x_2, x_3, x_4); -if (lean_obj_tag(x_15) == 0) +x_16 = l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_Elab_Command_elabAddDeclDoc___spec__1(x_14, x_15, x_2, x_3, x_4); +if (lean_obj_tag(x_16) == 0) { -lean_object* x_16; lean_object* x_17; lean_object* 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; lean_object* x_19; +x_17 = lean_ctor_get(x_16, 0); lean_inc(x_17); -lean_dec(x_15); +x_18 = lean_ctor_get(x_16, 1); +lean_inc(x_18); +lean_dec(x_16); lean_inc(x_3); lean_inc(x_2); -x_18 = l_Lean_getDocStringText___at_Lean_Elab_Command_elabAddDeclDoc___spec__9(x_9, x_2, x_3, x_17); -if (lean_obj_tag(x_18) == 0) +x_19 = l_Lean_getDocStringText___at_Lean_Elab_Command_elabAddDeclDoc___spec__14(x_9, x_2, x_3, x_18); +if (lean_obj_tag(x_19) == 0) { -lean_object* x_19; lean_object* x_20; lean_object* x_21; -x_19 = lean_ctor_get(x_18, 0); -lean_inc(x_19); -x_20 = lean_ctor_get(x_18, 1); +lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_20 = lean_ctor_get(x_19, 0); lean_inc(x_20); -lean_dec(x_18); -x_21 = l_Lean_addDocString___at_Lean_Elab_Command_expandDeclId___spec__10(x_16, x_19, x_2, x_3, x_20); +x_21 = lean_ctor_get(x_19, 1); +lean_inc(x_21); +lean_dec(x_19); +x_22 = l_Lean_addDocString___at_Lean_Elab_Command_expandDeclId___spec__10(x_17, x_20, x_2, x_3, x_21); lean_dec(x_3); lean_dec(x_2); -return x_21; +return x_22; } else { -uint8_t x_22; -lean_dec(x_16); +uint8_t x_23; +lean_dec(x_17); lean_dec(x_3); lean_dec(x_2); -x_22 = !lean_is_exclusive(x_18); -if (x_22 == 0) +x_23 = !lean_is_exclusive(x_19); +if (x_23 == 0) { -return x_18; +return x_19; } else { -lean_object* x_23; lean_object* x_24; lean_object* x_25; -x_23 = lean_ctor_get(x_18, 0); -x_24 = lean_ctor_get(x_18, 1); +lean_object* x_24; lean_object* x_25; lean_object* x_26; +x_24 = lean_ctor_get(x_19, 0); +x_25 = lean_ctor_get(x_19, 1); +lean_inc(x_25); lean_inc(x_24); -lean_inc(x_23); -lean_dec(x_18); -x_25 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_25, 0, x_23); -lean_ctor_set(x_25, 1, x_24); -return x_25; +lean_dec(x_19); +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; } } } else { -uint8_t x_26; +uint8_t x_27; lean_dec(x_9); lean_dec(x_3); lean_dec(x_2); -x_26 = !lean_is_exclusive(x_15); -if (x_26 == 0) +x_27 = !lean_is_exclusive(x_16); +if (x_27 == 0) { -return x_15; +return x_16; } else { -lean_object* x_27; lean_object* x_28; lean_object* x_29; -x_27 = lean_ctor_get(x_15, 0); -x_28 = lean_ctor_get(x_15, 1); +lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_28 = lean_ctor_get(x_16, 0); +x_29 = lean_ctor_get(x_16, 1); +lean_inc(x_29); lean_inc(x_28); -lean_inc(x_27); -lean_dec(x_15); -x_29 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_29, 0, x_27); -lean_ctor_set(x_29, 1, x_28); -return x_29; +lean_dec(x_16); +x_30 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_30, 0, x_28); +lean_ctor_set(x_30, 1, x_29); +return x_30; } } } } } } -LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Command_elabAddDeclDoc___spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Command_elabAddDeclDoc___spec__4___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_throwErrorAt___at_Lean_Elab_Command_elabAddDeclDoc___spec__3(x_1, x_2, x_3, x_4, x_5); +x_6 = l_Lean_throwErrorAt___at_Lean_Elab_Command_elabAddDeclDoc___spec__4(x_1, x_2, x_3, x_4, x_5); lean_dec(x_4); lean_dec(x_1); return x_6; } } -LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_Lean_Elab_Command_elabAddDeclDoc___spec__5___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_Lean_Elab_Command_elabAddDeclDoc___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_Lean_resolveGlobalName___at_Lean_Elab_Command_elabAddDeclDoc___spec__5(x_1, x_2, x_3, x_4); +x_5 = l_Lean_resolveGlobalName___at_Lean_Elab_Command_elabAddDeclDoc___spec__6(x_1, x_2, x_3, x_4); lean_dec(x_3); lean_dec(x_2); return x_5; } } -LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabAddDeclDoc___spec__6___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabAddDeclDoc___spec__7___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_throwUnknownConstant___at_Lean_Elab_Command_elabAddDeclDoc___spec__6(x_1, x_2, x_3, x_4); +x_5 = l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabAddDeclDoc___spec__7(x_1, x_2, x_3, x_4); lean_dec(x_3); return x_5; } } -LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_Elab_Command_elabAddDeclDoc___spec__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_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_Elab_Command_elabAddDeclDoc___spec__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) { _start: { lean_object* x_7; -x_7 = l_Lean_resolveGlobalConstCore___at_Lean_Elab_Command_elabAddDeclDoc___spec__4___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6); +x_7 = l_Lean_resolveGlobalConstCore___at_Lean_Elab_Command_elabAddDeclDoc___spec__5___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); return x_7; } } -LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Command_elabAddDeclDoc___spec__8___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Command_elabAddDeclDoc___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_Lean_throwError___at_Lean_Elab_Command_elabAddDeclDoc___spec__8(x_1, x_2, x_3, x_4); +x_5 = l_Lean_throwError___at_Lean_Elab_Command_elabAddDeclDoc___spec__9(x_1, x_2, x_3, x_4); lean_dec(x_3); return x_5; } } -LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Command_elabAddDeclDoc___spec__11___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Command_elabAddDeclDoc___spec__13___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_throwError___at_Lean_Elab_Command_elabAddDeclDoc___spec__11(x_1, x_2, x_3, x_4); +x_5 = l_Lean_throwError___at_Lean_Elab_Command_elabAddDeclDoc___spec__13(x_1, x_2, x_3, x_4); +lean_dec(x_3); +return x_5; +} +} +LEAN_EXPORT lean_object* l_Lean_getConstInfo___at_Lean_Elab_Command_elabAddDeclDoc___spec__12___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_getConstInfo___at_Lean_Elab_Command_elabAddDeclDoc___spec__12(x_1, x_2, x_3, x_4); +lean_dec(x_3); +return x_5; +} +} +LEAN_EXPORT lean_object* l_Lean_mkConstWithLevelParams___at_Lean_Elab_Command_elabAddDeclDoc___spec__11___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_mkConstWithLevelParams___at_Lean_Elab_Command_elabAddDeclDoc___spec__11(x_1, x_2, x_3, x_4); +lean_dec(x_3); +return x_5; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_addConstInfo___at_Lean_Elab_Command_elabAddDeclDoc___spec__10___boxed(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_addConstInfo___at_Lean_Elab_Command_elabAddDeclDoc___spec__10(x_1, x_2, x_3, x_4, x_5, x_6); +lean_dec(x_5); +return x_7; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_Elab_Command_elabAddDeclDoc___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) { +_start: +{ +lean_object* x_6; +x_6 = l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_Elab_Command_elabAddDeclDoc___spec__1___lambda__1(x_1, x_2, x_3, x_4, x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_6; +} +} +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Command_elabAddDeclDoc___spec__16___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_throwError___at_Lean_Elab_Command_elabAddDeclDoc___spec__16(x_1, x_2, x_3, x_4); lean_dec(x_3); return x_5; } @@ -25323,16 +25807,16 @@ lean_mark_persistent(l___regBuiltin_Lean_Elab_Command_expandInCmd_declRange___cl res = l___regBuiltin_Lean_Elab_Command_expandInCmd_declRange(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabAddDeclDoc___spec__2___closed__1 = _init_l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabAddDeclDoc___spec__2___closed__1(); -lean_mark_persistent(l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabAddDeclDoc___spec__2___closed__1); -l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabAddDeclDoc___spec__2___closed__2 = _init_l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabAddDeclDoc___spec__2___closed__2(); -lean_mark_persistent(l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabAddDeclDoc___spec__2___closed__2); -l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabAddDeclDoc___spec__2___closed__3 = _init_l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabAddDeclDoc___spec__2___closed__3(); -lean_mark_persistent(l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabAddDeclDoc___spec__2___closed__3); -l_Lean_getDocStringText___at_Lean_Elab_Command_elabAddDeclDoc___spec__9___closed__1 = _init_l_Lean_getDocStringText___at_Lean_Elab_Command_elabAddDeclDoc___spec__9___closed__1(); -lean_mark_persistent(l_Lean_getDocStringText___at_Lean_Elab_Command_elabAddDeclDoc___spec__9___closed__1); -l_Lean_getDocStringText___at_Lean_Elab_Command_elabAddDeclDoc___spec__9___closed__2 = _init_l_Lean_getDocStringText___at_Lean_Elab_Command_elabAddDeclDoc___spec__9___closed__2(); -lean_mark_persistent(l_Lean_getDocStringText___at_Lean_Elab_Command_elabAddDeclDoc___spec__9___closed__2); +l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabAddDeclDoc___spec__3___closed__1 = _init_l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabAddDeclDoc___spec__3___closed__1(); +lean_mark_persistent(l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabAddDeclDoc___spec__3___closed__1); +l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabAddDeclDoc___spec__3___closed__2 = _init_l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabAddDeclDoc___spec__3___closed__2(); +lean_mark_persistent(l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabAddDeclDoc___spec__3___closed__2); +l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabAddDeclDoc___spec__3___closed__3 = _init_l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabAddDeclDoc___spec__3___closed__3(); +lean_mark_persistent(l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabAddDeclDoc___spec__3___closed__3); +l_Lean_getDocStringText___at_Lean_Elab_Command_elabAddDeclDoc___spec__14___closed__1 = _init_l_Lean_getDocStringText___at_Lean_Elab_Command_elabAddDeclDoc___spec__14___closed__1(); +lean_mark_persistent(l_Lean_getDocStringText___at_Lean_Elab_Command_elabAddDeclDoc___spec__14___closed__1); +l_Lean_getDocStringText___at_Lean_Elab_Command_elabAddDeclDoc___spec__14___closed__2 = _init_l_Lean_getDocStringText___at_Lean_Elab_Command_elabAddDeclDoc___spec__14___closed__2(); +lean_mark_persistent(l_Lean_getDocStringText___at_Lean_Elab_Command_elabAddDeclDoc___spec__14___closed__2); l_Lean_Elab_Command_elabAddDeclDoc___closed__1 = _init_l_Lean_Elab_Command_elabAddDeclDoc___closed__1(); lean_mark_persistent(l_Lean_Elab_Command_elabAddDeclDoc___closed__1); l_Lean_Elab_Command_elabAddDeclDoc___closed__2 = _init_l_Lean_Elab_Command_elabAddDeclDoc___closed__2(); diff --git a/stage0/stdlib/Lean/Elab/BuiltinNotation.c b/stage0/stdlib/Lean/Elab/BuiltinNotation.c index cd98771dbf..6c00c7138f 100644 --- a/stage0/stdlib/Lean/Elab/BuiltinNotation.c +++ b/stage0/stdlib/Lean/Elab/BuiltinNotation.c @@ -23,6 +23,7 @@ static lean_object* l_Lean_Elab_Term_expandDbgTrace___closed__27; LEAN_EXPORT uint8_t l_Lean_Elab_Term_elabCDotFunctionAlias_x3f___lambda__1(lean_object*); static lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabParserMacroAux___closed__26; static lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_withLocalIdentFor___closed__1; +static lean_object* l_Lean_Elab_Term_hasCDot___closed__2; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_expandAssert_declRange(lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabAnonymousCtor_declRange___closed__1; static lean_object* l___regBuiltin_Lean_Elab_Term_elabParen_declRange___closed__3; @@ -148,11 +149,13 @@ lean_object* l_Lean_MonadRef_mkInfoFromRefPos___at___aux__Init__Notation______ma LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabSubst___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*); static lean_object* l_Lean_Elab_Term_elabAnonymousCtor___lambda__3___closed__15; static lean_object* l___regBuiltin_Lean_Elab_Term_expandParen_declRange___closed__2; +static lean_object* l_Lean_Elab_Term_hasCDot___closed__1; static lean_object* l_Lean_Elab_Term_mkPairs_loop___closed__6; LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabAnonymousCtor___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_expr_instantiate1(lean_object*, lean_object*); lean_object* l_Array_toSubarray___rarg(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_elabSubst___lambda__6___closed__1; +LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_Term_hasCDot___spec__1___boxed(lean_object*, lean_object*, lean_object*); lean_object* lean_array_push(lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabAnonymousCtor___closed__3; lean_object* lean_array_get_size(lean_object*); @@ -186,6 +189,7 @@ static lean_object* l___regBuiltin_Lean_Elab_Term_expandShow_declRange___closed_ static lean_object* l_Lean_Elab_Term_expandDbgTrace___closed__1; static lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabParserMacroAux___closed__39; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_elabSorry_docString(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_Term_hasCDot___boxed(lean_object*); static lean_object* l_Lean_Elab_Term_elabTrailingParserMacro___closed__1; static lean_object* l___regBuiltin_Lean_Elab_Term_expandParen___closed__1; static lean_object* l_Lean_Elab_Term_elabSubst___lambda__6___closed__2; @@ -411,7 +415,6 @@ lean_object* l_Lean_addBuiltinDeclarationRanges(lean_object*, lean_object*, lean static lean_object* l_Lean_Elab_Term_expandCDot_x3f_go___closed__4; uint8_t l_Lean_Environment_contains(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwMaxRecDepthAt___at_Lean_Elab_Term_elabCDotFunctionAlias_x3f___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_hasCDot___spec__1___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_elabAnonymousCtor___closed__9; static lean_object* l_Lean_Elab_Term_elabAnonymousCtor___lambda__3___closed__16; lean_object* l_Lean_mkArrow(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -514,7 +517,6 @@ static lean_object* l___regBuiltin_Lean_Elab_Term_expandShow_declRange___closed_ static lean_object* l___regBuiltin_Lean_Elab_Term_expandHave_declRange___closed__5; LEAN_EXPORT lean_object* l_Lean_Elab_Term_expandHave(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_expandShow___closed__23; -LEAN_EXPORT lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_hasCDot___boxed(lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabNoindex_declRange___closed__3; static lean_object* l___regBuiltin_Lean_Elab_Term_elabTrailingParserMacro___closed__3; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_expandSuffices_declRange(lean_object*); @@ -540,7 +542,6 @@ static lean_object* l_Lean_Elab_Term_expandHave___closed__7; static lean_object* l___regBuiltin_Lean_Elab_Term_elabCoe___closed__6; lean_object* lean_environment_main_module(lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_expandSuffices_declRange___closed__6; -static lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_hasCDot___closed__1; static lean_object* l_Lean_Elab_Term_elabStateRefT___lambda__1___closed__4; static lean_object* l_Lean_Elab_Term_elabSubst___closed__11; static lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabParserMacroAux___closed__5; @@ -560,6 +561,7 @@ static lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elab static lean_object* l___regBuiltin_Lean_Elab_Term_elabStateRefT___closed__5; lean_object* l_Lean_Syntax_getArgs(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabLeadingParserMacro___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_EXPORT uint8_t l_Lean_Elab_Term_hasCDot(lean_object*); uint8_t l_Lean_BinderInfo_isExplicit(uint8_t); LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabSubst___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_getKind(lean_object*); @@ -594,7 +596,6 @@ static lean_object* l_Lean_Elab_Term_elabSorry___closed__3; static lean_object* l_Lean_Elab_Term_elabPanic___closed__12; static lean_object* l_Lean_Elab_Term_expandDbgTrace___closed__20; static lean_object* l_Lean_Elab_Term_expandHave___closed__3; -LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_hasCDot___spec__1(lean_object*, size_t, size_t); lean_object* l_Array_ofSubarray___rarg(lean_object*); static lean_object* l_Lean_Elab_Term_elabStateRefT___lambda__1___closed__1; static lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabParserMacroAux___closed__42; @@ -655,7 +656,6 @@ static lean_object* l_Lean_Elab_Term_elabAnonymousCtor___lambda__3___closed__4; LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabTrailingParserMacro___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_elabSubst___closed__9; static lean_object* l___regBuiltin_Lean_Elab_Term_elabCoe___closed__5; -static lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_hasCDot___closed__2; static lean_object* l_Lean_Elab_Term_elabPanic___closed__9; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_elabSubst_docString(lean_object*); static lean_object* l_Lean_Elab_Term_elabAnonymousCtor___lambda__3___closed__8; @@ -757,7 +757,6 @@ extern lean_object* l_Lean_levelOne; static lean_object* l___regBuiltin_Lean_Elab_Term_expandSuffices___closed__2; static lean_object* l___regBuiltin_Lean_Elab_Term_elabCoe___closed__7; lean_object* l_Lean_Meta_mkEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT uint8_t l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_hasCDot(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabTParserMacroAux___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabSubst___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_expandAssert(lean_object*); @@ -786,6 +785,7 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_elabNoindex_declRange(lea static lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabTParserMacroAux___closed__4; LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Term_elabAnonymousCtor___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabNoindex_declRange___closed__4; +LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_Elab_Term_hasCDot___spec__1(lean_object*, size_t, size_t); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Term_elabAnonymousCtor___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_expandHave_declRange___closed__1; LEAN_EXPORT lean_object* l_Lean_getRefPosition___at_Lean_Elab_Term_elabPanic___spec__1___rarg(lean_object*, lean_object*, lean_object*); @@ -12536,7 +12536,7 @@ lean_dec(x_1); return x_4; } } -LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_hasCDot___spec__1(lean_object* x_1, size_t x_2, size_t x_3) { +LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_Elab_Term_hasCDot___spec__1(lean_object* x_1, size_t x_2, size_t x_3) { _start: { uint8_t x_4; @@ -12545,7 +12545,7 @@ if (x_4 == 0) { lean_object* x_5; uint8_t x_6; x_5 = lean_array_uget(x_1, x_2); -x_6 = l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_hasCDot(x_5); +x_6 = l_Lean_Elab_Term_hasCDot(x_5); if (x_6 == 0) { size_t x_7; size_t x_8; @@ -12569,7 +12569,7 @@ return x_11; } } } -static lean_object* _init_l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_hasCDot___closed__1() { +static lean_object* _init_l_Lean_Elab_Term_hasCDot___closed__1() { _start: { lean_object* x_1; @@ -12577,17 +12577,17 @@ x_1 = lean_mk_string_from_bytes("cdot", 4); return x_1; } } -static lean_object* _init_l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_hasCDot___closed__2() { +static lean_object* _init_l_Lean_Elab_Term_hasCDot___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Elab_Term_elabAnonymousCtor___closed__3; -x_2 = l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_hasCDot___closed__1; +x_2 = l_Lean_Elab_Term_hasCDot___closed__1; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -LEAN_EXPORT uint8_t l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_hasCDot(lean_object* x_1) { +LEAN_EXPORT uint8_t l_Lean_Elab_Term_hasCDot(lean_object* x_1) { _start: { if (lean_obj_tag(x_1) == 1) @@ -12603,7 +12603,7 @@ x_5 = lean_name_eq(x_2, x_4); if (x_5 == 0) { lean_object* x_6; uint8_t x_7; -x_6 = l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_hasCDot___closed__2; +x_6 = l_Lean_Elab_Term_hasCDot___closed__2; x_7 = lean_name_eq(x_2, x_6); lean_dec(x_2); if (x_7 == 0) @@ -12638,7 +12638,7 @@ size_t x_14; size_t x_15; uint8_t x_16; x_14 = 0; x_15 = lean_usize_of_nat(x_8); lean_dec(x_8); -x_16 = l_Array_anyMUnsafe_any___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_hasCDot___spec__1(x_3, x_14, x_15); +x_16 = l_Array_anyMUnsafe_any___at_Lean_Elab_Term_hasCDot___spec__1(x_3, x_14, x_15); lean_dec(x_3); return x_16; } @@ -12670,7 +12670,7 @@ return x_19; } } } -LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_hasCDot___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_Term_hasCDot___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { size_t x_4; size_t x_5; uint8_t x_6; lean_object* x_7; @@ -12678,17 +12678,17 @@ 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_Array_anyMUnsafe_any___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_hasCDot___spec__1(x_1, x_4, x_5); +x_6 = l_Array_anyMUnsafe_any___at_Lean_Elab_Term_hasCDot___spec__1(x_1, x_4, x_5); lean_dec(x_1); x_7 = lean_box(x_6); return x_7; } } -LEAN_EXPORT lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_hasCDot___boxed(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Lean_Elab_Term_hasCDot___boxed(lean_object* x_1) { _start: { uint8_t x_2; lean_object* x_3; -x_2 = l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_hasCDot(x_1); +x_2 = l_Lean_Elab_Term_hasCDot(x_1); x_3 = lean_box(x_2); return x_3; } @@ -12807,7 +12807,7 @@ x_6 = l_Lean_Syntax_isOfKind(x_1, x_5); if (x_6 == 0) { lean_object* x_7; uint8_t x_8; -x_7 = l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_hasCDot___closed__2; +x_7 = l_Lean_Elab_Term_hasCDot___closed__2; lean_inc(x_1); x_8 = l_Lean_Syntax_isOfKind(x_1, x_7); if (x_8 == 0) @@ -13720,7 +13720,7 @@ _start: { uint8_t x_4; lean_inc(x_1); -x_4 = l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_hasCDot(x_1); +x_4 = l_Lean_Elab_Term_hasCDot(x_1); if (x_4 == 0) { lean_object* x_5; lean_object* x_6; @@ -21992,10 +21992,10 @@ l_Lean_Elab_Term_mkPairs_loop___closed__8 = _init_l_Lean_Elab_Term_mkPairs_loop_ lean_mark_persistent(l_Lean_Elab_Term_mkPairs_loop___closed__8); l_Lean_Elab_Term_mkPairs_loop___closed__9 = _init_l_Lean_Elab_Term_mkPairs_loop___closed__9(); lean_mark_persistent(l_Lean_Elab_Term_mkPairs_loop___closed__9); -l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_hasCDot___closed__1 = _init_l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_hasCDot___closed__1(); -lean_mark_persistent(l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_hasCDot___closed__1); -l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_hasCDot___closed__2 = _init_l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_hasCDot___closed__2(); -lean_mark_persistent(l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_hasCDot___closed__2); +l_Lean_Elab_Term_hasCDot___closed__1 = _init_l_Lean_Elab_Term_hasCDot___closed__1(); +lean_mark_persistent(l_Lean_Elab_Term_hasCDot___closed__1); +l_Lean_Elab_Term_hasCDot___closed__2 = _init_l_Lean_Elab_Term_hasCDot___closed__2(); +lean_mark_persistent(l_Lean_Elab_Term_hasCDot___closed__2); l_Lean_Elab_Term_expandCDot_x3f_go___closed__1 = _init_l_Lean_Elab_Term_expandCDot_x3f_go___closed__1(); lean_mark_persistent(l_Lean_Elab_Term_expandCDot_x3f_go___closed__1); l_Lean_Elab_Term_expandCDot_x3f_go___closed__2 = _init_l_Lean_Elab_Term_expandCDot_x3f_go___closed__2(); diff --git a/stage0/stdlib/Lean/Elab/Extra.c b/stage0/stdlib/Lean/Elab/Extra.c index df225411f0..f057a33796 100644 --- a/stage0/stdlib/Lean/Elab/Extra.c +++ b/stage0/stdlib/Lean/Elab/Extra.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Elab.Extra -// Imports: Init Lean.Elab.App +// Imports: Init Lean.Elab.App Lean.Elab.BuiltinNotation #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -17,7 +17,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_has static lean_object* l___regBuiltin_Lean_Elab_Term_BinOp_elabDefaultOrNonempty_declRange___closed__4; static lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toExpr___lambda__2___closed__2; static lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_go___closed__2; -LEAN_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___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*); +LEAN_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___lambda__3___boxed(lean_object**); static lean_object* l___regBuiltin_Lean_Elab_Term_BinOp_elabBinRelNoProp___closed__3; lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabForall___spec__1___rarg(lean_object*); lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withNewMCtxDepthImp___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -69,6 +69,7 @@ static lean_object* l_Lean_Elab_Term_elabForIn___closed__16; static lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___closed__2; static lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_go___closed__1; static lean_object* l___regBuiltin_Lean_Elab_Term_elabForIn___closed__4; +lean_object* l_Lean_Elab_Term_withInfoContext_x27(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_BinOp_elabBinRelCore_toBoolIfNecessary___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toExpr___closed__16; static lean_object* l_Lean_Elab_Term_BinOp_elabBinRelCore_toBoolIfNecessary___closed__1; @@ -79,12 +80,12 @@ static lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_hasCoe__ static lean_object* l___regBuiltin_Lean_Elab_Term_BinOp_elabBinOp_declRange___closed__6; lean_object* l_Lean_getConstInfo___at_Lean_Meta_mkConstWithFreshMVarLevels___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toExpr___closed__7; -static lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree___lambda__1___closed__1; uint8_t l_Lean_checkTraceOption(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_processOp___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_PersistentArray_append___rarg(lean_object*, lean_object*); lean_object* lean_st_ref_get(lean_object*, lean_object*); +lean_object* l_Lean_Elab_liftMacroM___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*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_analyze_go___spec__4___boxed(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*); static lean_object* l_Lean_Elab_Term_elabForIn___lambda__1___closed__5; static lean_object* l___regBuiltin_Lean_Elab_Term_BinOp_elabDefaultOrNonempty_declRange___closed__3; LEAN_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toExpr___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -99,7 +100,6 @@ lean_object* lean_array_push(lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_BinOp_elabBinRel_declRange___closed__4; LEAN_EXPORT lean_object* l_Lean_Elab_Term_BinOp_elabBinRelCore___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_EXPORT lean_object* l_Lean_Elab_Term_BinOp_elabBinRelCore___lambda__3(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_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree___lambda__1___boxed(lean_object*); static lean_object* l_Lean_Elab_Term_BinOp_elabDefaultOrNonempty___closed__1; LEAN_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_hasHeterogeneousDefaultInstances___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabForIn___closed__1; @@ -109,9 +109,10 @@ static lean_object* l___regBuiltin_Lean_Elab_Term_BinOp_elabBinOp___closed__1; LEAN_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_isUnknow___boxed(lean_object*); static lean_object* l_Lean_Elab_Term_elabForIn___lambda__1___closed__9; LEAN_EXPORT lean_object* l_Lean_Meta_withNewMCtxDepth___at___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_analyze_go___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_Elab_expandMacroImpl_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_synthesizeSyntheticMVars(uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_string_utf8_byte_size(lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_processOp(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_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_processOp(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* l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_addTrace___at___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_analyze_go___spec__3___closed__5; static lean_object* l_Lean_throwUnknownConstant___at___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_processOp___spec__1___closed__2; @@ -121,6 +122,7 @@ static lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe extern lean_object* l_Lean_levelZero; static lean_object* l_Lean_Elab_Term_elabForIn___closed__19; static lean_object* l___regBuiltin_Lean_Elab_Term_BinOp_elabBinRel_declRange___closed__3; +LEAN_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___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* 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*); static lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_getMonadForIn___closed__4; static lean_object* l___regBuiltin_Lean_Elab_Term_BinOp_elabBinRel___closed__4; @@ -141,6 +143,7 @@ static lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toExpr__ lean_object* l_StateRefT_x27_lift___rarg___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_throwForInFailure(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_BinOp_elabBinRelCore___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toExprCore___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_addTrace___at___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_analyze_go___spec__3___closed__6; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_BinOp_elabBinOpLazy_declRange(lean_object*); lean_object* l_Lean_Elab_Term_tryPostponeIfNoneOrMVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -161,12 +164,13 @@ uint8_t l_Lean_Syntax_matchesNull(lean_object*, lean_object*); static lean_object* l_Lean_addTrace___at___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_analyze_go___spec__3___closed__4; static lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___closed__1; LEAN_EXPORT lean_object* l_Lean_Elab_Term_BinOp_elabBinRelCore_toBoolIfNecessary___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___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_st_ref_take(lean_object*, lean_object*); static lean_object* l_Lean_throwUnknownConstant___at___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_processOp___spec__1___closed__1; lean_object* l_Lean_Option_get___at_Std_Format_pretty_x27___spec__1(lean_object*, lean_object*); static lean_object* l_Lean_throwUnknownConstant___at___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_processOp___spec__1___closed__4; static lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toExpr___closed__12; -LEAN_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___lambda__3(lean_object*, 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_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___lambda__3(lean_object*, lean_object*, 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*); static lean_object* l_List_forIn_loop___at___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_hasHeterogeneousDefaultInstances___spec__2___lambda__1___closed__2; LEAN_EXPORT lean_object* l_Lean_instantiateMVars___at___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_analyze_go___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_getMonadForIn___closed__5; @@ -190,7 +194,7 @@ static lean_object* l_List_forIn_loop___at___private_Lean_Elab_Extra_0__Lean_Ela LEAN_EXPORT lean_object* l_Lean_Elab_Term_BinOp_elabBinRel(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forIn_loop___at___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_hasHeterogeneousDefaultInstances___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_EXPORT lean_object* l_Lean_addTrace___at___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_analyze_go___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___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_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_elabAppArgs(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_elabForIn_x27___closed__4; static lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___closed__4; @@ -203,7 +207,6 @@ lean_object* lean_st_mk_ref(lean_object*, lean_object*); lean_object* l_Lean_Syntax_getId(lean_object*); lean_object* l_Lean_Elab_addMacroStack___at_Lean_Elab_Term_instAddErrorMessageContextTermElabM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_BinOp_elabBinRelNoProp___closed__1; -LEAN_EXPORT uint8_t l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree___lambda__1(lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_BinOp_elabBinRel___closed__1; lean_object* l_Lean_Meta_isExprDefEqGuarded(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_sort___override(lean_object*); @@ -234,17 +237,18 @@ static lean_object* l___regBuiltin_Lean_Elab_Term_BinOp_elabDefaultOrNonempty_de LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_BinOp_elabBinRel_declRange(lean_object*); static lean_object* l_Lean_Elab_Term_BinOp_elabBinRelCore_toBoolIfNecessary___closed__5; static lean_object* l___regBuiltin_Lean_Elab_Term_BinOp_elabBinRelNoProp_declRange___closed__1; +lean_object* l_Lean_Elab_getResetInfoTrees___at_Lean_Elab_Term_withoutModifyingElabMetaStateWithInfo___spec__2___rarg(lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toExpr___closed__1; +LEAN_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toExprCore___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toExpr(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_withNewMCtxDepth___at___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_analyze_go___spec__2(lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_Term_BinOp_initFn____x40_Lean_Elab_Extra___hyg_5697_(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_Term_BinOp_initFn____x40_Lean_Elab_Extra___hyg_6514_(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabForIn_x27___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*); static lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_throwForInFailure___closed__2; LEAN_EXPORT uint8_t l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_isUnknow(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_BinOp_elabBinRelCore_toBoolIfNecessary___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_analyze(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree___lambda__1___closed__2; static lean_object* l_Lean_Elab_Term_elabForIn___closed__2; static lean_object* l___regBuiltin_Lean_Elab_Term_BinOp_elabBinOpLazy_declRange___closed__7; static lean_object* l_Lean_Elab_Term_elabForIn___lambda__1___closed__11; @@ -279,6 +283,7 @@ static lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_analyze_ static lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_go___closed__3; extern lean_object* l_Lean_Meta_instInhabitedDefaultInstances; static lean_object* l___regBuiltin_Lean_Elab_Term_elabForIn___closed__5; +LEAN_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_processLeaf(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_BinOp_elabBinRel___closed__3; static lean_object* l___regBuiltin_Lean_Elab_Term_elabForIn___closed__3; lean_object* l_Std_PersistentArray_push___rarg(lean_object*, lean_object*); @@ -286,18 +291,18 @@ lean_object* l_Lean_Meta_trySynthInstance(lean_object*, lean_object*, lean_objec lean_object* l_Lean_Expr_const___override(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_analyze_go(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_elabForIn___closed__29; -LEAN_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___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_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___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*); static lean_object* l_Lean_Elab_Term_elabForIn_x27___closed__2; -static lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree___closed__1; lean_object* lean_environment_main_module(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_hasHeterogeneousDefaultInstances___lambda__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_mkDefault(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_BinOp_elabBinRel_declRange___closed__7; -LEAN_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_processOp___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_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_processOp___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 lean_nat_dec_le(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_elabForIn(lean_object*); uint8_t l_Lean_Expr_hasMVar(lean_object*); lean_object* l_Lean_Name_append(lean_object*, lean_object*); +uint8_t l_Lean_Elab_Term_hasCDot(lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_BinOp_elabDefaultOrNonempty___closed__2; LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabForIn_x27(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_BinOp_elabBinOpLazy_declRange___closed__3; @@ -313,7 +318,7 @@ static lean_object* l___regBuiltin_Lean_Elab_Term_BinOp_elabBinRelNoProp_declRan static lean_object* l_Lean_throwUnknownConstant___at___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_processOp___spec__1___closed__3; LEAN_EXPORT lean_object* l_List_forIn_loop___at___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_hasHeterogeneousDefaultInstances___spec__2___lambda__1(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toExpr___closed__21; -LEAN_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___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_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___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_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_BinOp_elabBinOpLazy___closed__2; static lean_object* l___regBuiltin_Lean_Elab_Term_elabForIn_x27_declRange___closed__5; LEAN_EXPORT lean_object* l_Lean_Elab_Term_BinOp_elabBinRelCore_toBoolIfNecessary(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -351,7 +356,6 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_BinOp_elabBinRel(lean_obj static lean_object* l___regBuiltin_Lean_Elab_Term_elabForIn_x27_declRange___closed__1; uint8_t l_Lean_Syntax_isNone(lean_object*); lean_object* lean_infer_type(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_expandMacros(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_isExprDefEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_mkFreshExprMVarImpl(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_BinOp_elabDefaultOrNonempty_declRange___closed__6; @@ -362,6 +366,7 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_BinOp_elabBinRelCore___lambda__3___box static lean_object* l_Lean_Elab_Term_BinOp_elabBinRelCore___lambda__3___closed__1; static lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toExpr___closed__20; static lean_object* l_Lean_Elab_Term_BinOp_elabBinRelCore___lambda__3___closed__2; +LEAN_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toExpr___closed__10; static lean_object* l_Lean_Elab_Term_elabForIn___closed__28; static lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___closed__3; @@ -377,6 +382,7 @@ static lean_object* l___regBuiltin_Lean_Elab_Term_elabForIn_x27_declRange___clos LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_BinOp_elabBinRelNoProp(lean_object*); static lean_object* l_Lean_Elab_Term_elabForIn___lambda__1___closed__10; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_BinOp_elabDefaultOrNonempty_declRange(lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toExprCore___lambda__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_Expr_getForallBody(lean_object*); lean_object* l_List_lengthTRAux___rarg(lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_tryPostpone(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -402,16 +408,19 @@ lean_object* l_Lean_indentExpr(lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_BinOp_elabBinRelNoProp_declRange___closed__2; static lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_go___closed__4; static lean_object* l___regBuiltin_Lean_Elab_Term_BinOp_elabBinOpLazy___closed__3; -LEAN_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_go(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_go(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_isLocalIdent_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Meta_defaultInstanceExtension; static lean_object* l_Lean_Elab_Term_elabForIn_x27___closed__5; +lean_object* l_liftExcept___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___spec__8___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_elabForIn___closed__7; static lean_object* l_Lean_Elab_Term_elabForIn___lambda__1___closed__7; static lean_object* l_Lean_Elab_Term_elabForIn___closed__24; lean_object* l_Std_RBNode_find___at_Lean_Meta_addDefaultInstanceEntry___spec__3(lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_BinOp_elabBinOp___closed__3; static lean_object* l_Lean_Elab_Term_elabForIn___lambda__1___closed__6; +LEAN_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toExprCore___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* l_Lean_Elab_Term_mkTermInfo(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*); static lean_object* l_Lean_Elab_Term_elabForIn___closed__30; static lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_hasCoe___closed__1; static lean_object* l___regBuiltin_Lean_Elab_Term_BinOp_elabDefaultOrNonempty___closed__5; @@ -2087,7 +2096,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabForIn_declRange___cl _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(24u); +x_1 = lean_unsigned_to_nat(25u); x_2 = lean_unsigned_to_nat(30u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -2099,7 +2108,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabForIn_declRange___cl _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(48u); +x_1 = lean_unsigned_to_nat(49u); x_2 = lean_unsigned_to_nat(31u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -2127,7 +2136,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabForIn_declRange___cl _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(24u); +x_1 = lean_unsigned_to_nat(25u); x_2 = lean_unsigned_to_nat(34u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -2139,7 +2148,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabForIn_declRange___cl _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(24u); +x_1 = lean_unsigned_to_nat(25u); x_2 = lean_unsigned_to_nat(43u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3405,7 +3414,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabForIn_x27_declRange_ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(50u); +x_1 = lean_unsigned_to_nat(51u); x_2 = lean_unsigned_to_nat(31u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3417,7 +3426,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabForIn_x27_declRange_ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(76u); +x_1 = lean_unsigned_to_nat(77u); x_2 = lean_unsigned_to_nat(31u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3444,7 +3453,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabForIn_x27_declRange_ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(50u); +x_1 = lean_unsigned_to_nat(51u); x_2 = lean_unsigned_to_nat(35u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3456,7 +3465,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabForIn_x27_declRange_ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(50u); +x_1 = lean_unsigned_to_nat(51u); x_2 = lean_unsigned_to_nat(45u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3502,6 +3511,81 @@ x_4 = l_Lean_addBuiltinDeclarationRanges(x_2, x_3, x_1); return x_4; } } +LEAN_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_processLeaf(lean_object* x_1, lean_object* x_2, 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; +x_9 = lean_box(0); +x_10 = 1; +lean_inc(x_7); +lean_inc(x_1); +x_11 = l_Lean_Elab_Term_elabTerm(x_1, x_9, x_10, x_10, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +if (lean_obj_tag(x_11) == 0) +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; uint8_t x_15; +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); +x_14 = l_Lean_Elab_getResetInfoTrees___at_Lean_Elab_Term_withoutModifyingElabMetaStateWithInfo___spec__2___rarg(x_7, x_13); +lean_dec(x_7); +x_15 = !lean_is_exclusive(x_14); +if (x_15 == 0) +{ +lean_object* x_16; lean_object* x_17; +x_16 = lean_ctor_get(x_14, 0); +x_17 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_17, 0, x_1); +lean_ctor_set(x_17, 1, x_16); +lean_ctor_set(x_17, 2, x_12); +lean_ctor_set(x_14, 0, x_17); +return x_14; +} +else +{ +lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_18 = lean_ctor_get(x_14, 0); +x_19 = lean_ctor_get(x_14, 1); +lean_inc(x_19); +lean_inc(x_18); +lean_dec(x_14); +x_20 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_20, 0, x_1); +lean_ctor_set(x_20, 1, x_18); +lean_ctor_set(x_20, 2, x_12); +x_21 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_21, 0, x_20); +lean_ctor_set(x_21, 1, x_19); +return x_21; +} +} +else +{ +uint8_t x_22; +lean_dec(x_7); +lean_dec(x_1); +x_22 = !lean_is_exclusive(x_11); +if (x_22 == 0) +{ +return x_11; +} +else +{ +lean_object* x_23; lean_object* x_24; lean_object* x_25; +x_23 = lean_ctor_get(x_11, 0); +x_24 = lean_ctor_get(x_11, 1); +lean_inc(x_24); +lean_inc(x_23); +lean_dec(x_11); +x_25 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_25, 0, x_23); +lean_ctor_set(x_25, 1, x_24); +return x_25; +} +} +} +} static lean_object* _init_l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_go___closed__1() { _start: { @@ -3556,269 +3640,610 @@ x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -LEAN_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_go(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_go(lean_object* x_1, lean_object* x_2, 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_10; uint8_t x_11; -x_10 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_go___closed__2; +lean_object* x_9; uint8_t x_10; +x_9 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_go___closed__2; +lean_inc(x_1); +x_10 = l_Lean_Syntax_isOfKind(x_1, x_9); +if (x_10 == 0) +{ +lean_object* x_11; uint8_t x_12; +x_11 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_go___closed__4; +lean_inc(x_1); +x_12 = l_Lean_Syntax_isOfKind(x_1, x_11); +if (x_12 == 0) +{ +lean_object* x_13; uint8_t x_14; +x_13 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_go___closed__6; +lean_inc(x_1); +x_14 = l_Lean_Syntax_isOfKind(x_1, x_13); +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_20; +x_15 = lean_st_ref_get(x_7, x_8); +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); +x_18 = lean_ctor_get(x_16, 0); +lean_inc(x_18); +lean_dec(x_16); +lean_inc(x_1); +x_19 = lean_alloc_closure((void*)(l_Lean_Elab_expandMacroImpl_x3f___boxed), 4, 2); +lean_closure_set(x_19, 0, x_18); +lean_closure_set(x_19, 1, x_1); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); lean_inc(x_2); -x_11 = l_Lean_Syntax_isOfKind(x_2, x_10); -if (x_11 == 0) +x_20 = l_Lean_Elab_liftMacroM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___spec__2(x_19, x_2, x_3, x_4, x_5, x_6, x_7, x_17); +if (lean_obj_tag(x_20) == 0) { -lean_object* x_12; uint8_t x_13; -x_12 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_go___closed__4; -lean_inc(x_2); -x_13 = l_Lean_Syntax_isOfKind(x_2, x_12); -if (x_13 == 0) +lean_object* x_21; +x_21 = lean_ctor_get(x_20, 0); +lean_inc(x_21); +if (lean_obj_tag(x_21) == 0) { -lean_object* x_14; uint8_t x_15; -x_14 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_go___closed__6; -lean_inc(x_2); -x_15 = l_Lean_Syntax_isOfKind(x_2, x_14); -if (x_15 == 0) -{ -lean_object* x_16; uint8_t x_17; lean_object* x_18; -lean_dec(x_1); -x_16 = lean_box(0); -x_17 = 1; -lean_inc(x_2); -x_18 = l_Lean_Elab_Term_elabTerm(x_2, x_16, x_17, x_17, x_3, x_4, x_5, x_6, x_7, x_8, x_9); -if (lean_obj_tag(x_18) == 0) -{ -uint8_t x_19; -x_19 = !lean_is_exclusive(x_18); -if (x_19 == 0) -{ -lean_object* x_20; lean_object* x_21; -x_20 = lean_ctor_get(x_18, 0); -x_21 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_21, 0, x_2); -lean_ctor_set(x_21, 1, x_20); -lean_ctor_set(x_18, 0, x_21); -return x_18; -} -else -{ -lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; -x_22 = lean_ctor_get(x_18, 0); -x_23 = lean_ctor_get(x_18, 1); -lean_inc(x_23); +lean_object* x_22; lean_object* x_23; +x_22 = lean_ctor_get(x_20, 1); lean_inc(x_22); -lean_dec(x_18); -x_24 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_24, 0, x_2); -lean_ctor_set(x_24, 1, x_22); -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; -} +lean_dec(x_20); +x_23 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_processLeaf(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_22); +return x_23; } else { -uint8_t x_26; -lean_dec(x_2); -x_26 = !lean_is_exclusive(x_18); -if (x_26 == 0) -{ -return x_18; -} -else -{ -lean_object* x_27; lean_object* x_28; lean_object* x_29; -x_27 = lean_ctor_get(x_18, 0); -x_28 = lean_ctor_get(x_18, 1); -lean_inc(x_28); +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_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); +lean_dec(x_20); +x_26 = lean_ctor_get(x_24, 0); +lean_inc(x_26); +x_27 = lean_ctor_get(x_24, 1); lean_inc(x_27); -lean_dec(x_18); -x_29 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_29, 0, x_27); -lean_ctor_set(x_29, 1, x_28); -return x_29; -} -} -} -else +lean_dec(x_24); +x_28 = lean_alloc_closure((void*)(l_liftExcept___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___spec__8___boxed), 3, 1); +lean_closure_set(x_28, 0, x_27); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_29 = l_Lean_Elab_liftMacroM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___spec__9(x_28, x_2, x_3, x_4, x_5, x_6, x_7, x_25); +if (lean_obj_tag(x_29) == 0) { -lean_object* x_30; lean_object* x_31; lean_object* x_32; uint8_t x_33; -x_30 = lean_unsigned_to_nat(1u); -x_31 = l_Lean_Syntax_getArg(x_2, x_30); -x_32 = lean_unsigned_to_nat(2u); +lean_object* x_30; lean_object* x_31; uint8_t x_32; +x_30 = lean_ctor_get(x_29, 0); +lean_inc(x_30); +x_31 = lean_ctor_get(x_29, 1); lean_inc(x_31); -x_33 = l_Lean_Syntax_matchesNull(x_31, x_32); +lean_dec(x_29); +lean_inc(x_30); +x_32 = l_Lean_Syntax_isOfKind(x_30, x_9); +if (x_32 == 0) +{ +uint8_t x_33; +lean_inc(x_30); +x_33 = l_Lean_Syntax_isOfKind(x_30, x_11); if (x_33 == 0) { -lean_object* x_34; uint8_t x_35; lean_object* x_36; -lean_dec(x_31); -lean_dec(x_1); -x_34 = lean_box(0); -x_35 = 1; -lean_inc(x_2); -x_36 = l_Lean_Elab_Term_elabTerm(x_2, x_34, x_35, x_35, x_3, x_4, x_5, x_6, x_7, x_8, x_9); -if (lean_obj_tag(x_36) == 0) -{ -uint8_t x_37; -x_37 = !lean_is_exclusive(x_36); -if (x_37 == 0) -{ -lean_object* x_38; lean_object* x_39; -x_38 = lean_ctor_get(x_36, 0); -x_39 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_39, 0, x_2); -lean_ctor_set(x_39, 1, x_38); -lean_ctor_set(x_36, 0, x_39); -return x_36; +lean_object* x_34; +lean_dec(x_30); +lean_dec(x_26); +x_34 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_processLeaf(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_31); +return x_34; } else { -lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; -x_40 = lean_ctor_get(x_36, 0); -x_41 = lean_ctor_get(x_36, 1); -lean_inc(x_41); -lean_inc(x_40); -lean_dec(x_36); -x_42 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_42, 0, x_2); -lean_ctor_set(x_42, 1, 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_41); -return x_43; +lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; uint8_t x_41; lean_object* x_42; +x_35 = lean_unsigned_to_nat(1u); +x_36 = l_Lean_Syntax_getArg(x_30, x_35); +x_37 = lean_unsigned_to_nat(2u); +x_38 = l_Lean_Syntax_getArg(x_30, x_37); +x_39 = lean_unsigned_to_nat(3u); +x_40 = l_Lean_Syntax_getArg(x_30, x_39); +lean_dec(x_30); +x_41 = 1; +x_42 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_processOp(x_1, x_26, x_36, x_38, x_40, x_41, x_2, x_3, x_4, x_5, x_6, x_7, x_31); +return x_42; } } else { -uint8_t x_44; +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_43 = lean_unsigned_to_nat(1u); +x_44 = l_Lean_Syntax_getArg(x_30, x_43); +x_45 = lean_unsigned_to_nat(2u); +x_46 = l_Lean_Syntax_getArg(x_30, x_45); +x_47 = lean_unsigned_to_nat(3u); +x_48 = l_Lean_Syntax_getArg(x_30, x_47); +lean_dec(x_30); +x_49 = 0; +x_50 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_processOp(x_1, x_26, x_44, x_46, x_48, x_49, x_2, x_3, x_4, x_5, x_6, x_7, x_31); +return x_50; +} +} +else +{ +uint8_t x_51; +lean_dec(x_26); +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_is_exclusive(x_36); -if (x_44 == 0) -{ -return x_36; -} -else -{ -lean_object* x_45; lean_object* x_46; lean_object* x_47; -x_45 = lean_ctor_get(x_36, 0); -x_46 = lean_ctor_get(x_36, 1); -lean_inc(x_46); -lean_inc(x_45); -lean_dec(x_36); -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 -{ -lean_object* x_48; lean_object* x_49; lean_object* x_50; uint8_t x_51; -x_48 = lean_unsigned_to_nat(0u); -x_49 = l_Lean_Syntax_getArg(x_31, x_48); -x_50 = l_Lean_Syntax_getArg(x_31, x_30); -lean_dec(x_31); -x_51 = l_Lean_Syntax_matchesNull(x_50, x_48); +lean_dec(x_1); +x_51 = !lean_is_exclusive(x_29); if (x_51 == 0) { -lean_object* x_52; uint8_t x_53; lean_object* x_54; -lean_dec(x_49); -lean_dec(x_1); -x_52 = lean_box(0); -x_53 = 1; -lean_inc(x_2); -x_54 = l_Lean_Elab_Term_elabTerm(x_2, x_52, x_53, x_53, x_3, x_4, x_5, x_6, x_7, x_8, x_9); -if (lean_obj_tag(x_54) == 0) +return x_29; +} +else +{ +lean_object* x_52; lean_object* x_53; lean_object* x_54; +x_52 = lean_ctor_get(x_29, 0); +x_53 = lean_ctor_get(x_29, 1); +lean_inc(x_53); +lean_inc(x_52); +lean_dec(x_29); +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; +} +} +} +} +else { uint8_t x_55; -x_55 = !lean_is_exclusive(x_54); +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_55 = !lean_is_exclusive(x_20); if (x_55 == 0) { -lean_object* x_56; lean_object* x_57; -x_56 = lean_ctor_get(x_54, 0); -x_57 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_57, 0, x_2); -lean_ctor_set(x_57, 1, x_56); -lean_ctor_set(x_54, 0, x_57); -return x_54; +return x_20; } else { -lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; -x_58 = lean_ctor_get(x_54, 0); -x_59 = lean_ctor_get(x_54, 1); -lean_inc(x_59); -lean_inc(x_58); -lean_dec(x_54); -x_60 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_60, 0, x_2); -lean_ctor_set(x_60, 1, 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_59); -return x_61; +lean_object* x_56; lean_object* x_57; lean_object* x_58; +x_56 = lean_ctor_get(x_20, 0); +x_57 = lean_ctor_get(x_20, 1); +lean_inc(x_57); +lean_inc(x_56); +lean_dec(x_20); +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; +} } } else { -uint8_t x_62; -lean_dec(x_2); -x_62 = !lean_is_exclusive(x_54); +lean_object* x_59; lean_object* x_60; lean_object* x_61; uint8_t x_62; +x_59 = lean_unsigned_to_nat(1u); +x_60 = l_Lean_Syntax_getArg(x_1, x_59); +x_61 = lean_unsigned_to_nat(2u); +lean_inc(x_60); +x_62 = l_Lean_Syntax_matchesNull(x_60, x_61); if (x_62 == 0) { -return x_54; -} -else -{ -lean_object* x_63; lean_object* x_64; lean_object* x_65; -x_63 = lean_ctor_get(x_54, 0); -x_64 = lean_ctor_get(x_54, 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_dec(x_60); +x_63 = lean_st_ref_get(x_7, x_8); +x_64 = lean_ctor_get(x_63, 0); lean_inc(x_64); -lean_inc(x_63); -lean_dec(x_54); -x_65 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_65, 0, x_63); -lean_ctor_set(x_65, 1, x_64); -return x_65; +x_65 = lean_ctor_get(x_63, 1); +lean_inc(x_65); +lean_dec(x_63); +x_66 = lean_ctor_get(x_64, 0); +lean_inc(x_66); +lean_dec(x_64); +lean_inc(x_1); +x_67 = lean_alloc_closure((void*)(l_Lean_Elab_expandMacroImpl_x3f___boxed), 4, 2); +lean_closure_set(x_67, 0, x_66); +lean_closure_set(x_67, 1, x_1); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_68 = l_Lean_Elab_liftMacroM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___spec__2(x_67, x_2, x_3, x_4, x_5, x_6, x_7, x_65); +if (lean_obj_tag(x_68) == 0) +{ +lean_object* x_69; +x_69 = lean_ctor_get(x_68, 0); +lean_inc(x_69); +if (lean_obj_tag(x_69) == 0) +{ +lean_object* x_70; lean_object* x_71; +x_70 = lean_ctor_get(x_68, 1); +lean_inc(x_70); +lean_dec(x_68); +x_71 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_processLeaf(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_70); +return x_71; +} +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; +x_72 = lean_ctor_get(x_69, 0); +lean_inc(x_72); +lean_dec(x_69); +x_73 = lean_ctor_get(x_68, 1); +lean_inc(x_73); +lean_dec(x_68); +x_74 = lean_ctor_get(x_72, 0); +lean_inc(x_74); +x_75 = lean_ctor_get(x_72, 1); +lean_inc(x_75); +lean_dec(x_72); +x_76 = lean_alloc_closure((void*)(l_liftExcept___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___spec__8___boxed), 3, 1); +lean_closure_set(x_76, 0, x_75); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_77 = l_Lean_Elab_liftMacroM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___spec__9(x_76, x_2, x_3, x_4, x_5, x_6, x_7, x_73); +if (lean_obj_tag(x_77) == 0) +{ +lean_object* x_78; lean_object* x_79; uint8_t 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_78); +x_80 = l_Lean_Syntax_isOfKind(x_78, x_9); +if (x_80 == 0) +{ +uint8_t x_81; +lean_inc(x_78); +x_81 = l_Lean_Syntax_isOfKind(x_78, x_11); +if (x_81 == 0) +{ +lean_object* x_82; +lean_dec(x_78); +lean_dec(x_74); +x_82 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_processLeaf(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_79); +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; +x_83 = l_Lean_Syntax_getArg(x_78, x_59); +x_84 = l_Lean_Syntax_getArg(x_78, x_61); +x_85 = lean_unsigned_to_nat(3u); +x_86 = l_Lean_Syntax_getArg(x_78, x_85); +lean_dec(x_78); +x_87 = 1; +x_88 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_processOp(x_1, x_74, x_83, x_84, x_86, x_87, x_2, x_3, x_4, x_5, x_6, x_7, x_79); +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; +x_89 = l_Lean_Syntax_getArg(x_78, x_59); +x_90 = l_Lean_Syntax_getArg(x_78, x_61); +x_91 = lean_unsigned_to_nat(3u); +x_92 = l_Lean_Syntax_getArg(x_78, x_91); +lean_dec(x_78); +x_93 = 0; +x_94 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_processOp(x_1, x_74, x_89, x_90, x_92, x_93, x_2, x_3, x_4, x_5, x_6, x_7, x_79); +return x_94; +} +} +else +{ +uint8_t x_95; +lean_dec(x_74); +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_95 = !lean_is_exclusive(x_77); +if (x_95 == 0) +{ +return x_77; +} +else +{ +lean_object* x_96; lean_object* x_97; lean_object* x_98; +x_96 = lean_ctor_get(x_77, 0); +x_97 = lean_ctor_get(x_77, 1); +lean_inc(x_97); +lean_inc(x_96); +lean_dec(x_77); +x_98 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_98, 0, x_96); +lean_ctor_set(x_98, 1, x_97); +return x_98; +} } } } else { +uint8_t x_99; +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_2 = x_49; +lean_dec(x_1); +x_99 = !lean_is_exclusive(x_68); +if (x_99 == 0) +{ +return x_68; +} +else +{ +lean_object* x_100; lean_object* x_101; lean_object* x_102; +x_100 = lean_ctor_get(x_68, 0); +x_101 = lean_ctor_get(x_68, 1); +lean_inc(x_101); +lean_inc(x_100); +lean_dec(x_68); +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 +{ +lean_object* x_103; lean_object* x_104; lean_object* x_105; uint8_t x_106; +x_103 = lean_unsigned_to_nat(0u); +x_104 = l_Lean_Syntax_getArg(x_60, x_103); +x_105 = l_Lean_Syntax_getArg(x_60, x_59); +lean_dec(x_60); +x_106 = l_Lean_Syntax_matchesNull(x_105, x_103); +if (x_106 == 0) +{ +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_dec(x_104); +x_107 = lean_st_ref_get(x_7, x_8); +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_ctor_get(x_108, 0); +lean_inc(x_110); +lean_dec(x_108); +lean_inc(x_1); +x_111 = lean_alloc_closure((void*)(l_Lean_Elab_expandMacroImpl_x3f___boxed), 4, 2); +lean_closure_set(x_111, 0, x_110); +lean_closure_set(x_111, 1, x_1); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_112 = l_Lean_Elab_liftMacroM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___spec__2(x_111, x_2, x_3, x_4, x_5, x_6, x_7, x_109); +if (lean_obj_tag(x_112) == 0) +{ +lean_object* x_113; +x_113 = lean_ctor_get(x_112, 0); +lean_inc(x_113); +if (lean_obj_tag(x_113) == 0) +{ +lean_object* x_114; lean_object* x_115; +x_114 = lean_ctor_get(x_112, 1); +lean_inc(x_114); +lean_dec(x_112); +x_115 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_processLeaf(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_114); +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_object* x_121; +x_116 = lean_ctor_get(x_113, 0); +lean_inc(x_116); +lean_dec(x_113); +x_117 = lean_ctor_get(x_112, 1); +lean_inc(x_117); +lean_dec(x_112); +x_118 = lean_ctor_get(x_116, 0); +lean_inc(x_118); +x_119 = lean_ctor_get(x_116, 1); +lean_inc(x_119); +lean_dec(x_116); +x_120 = lean_alloc_closure((void*)(l_liftExcept___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___spec__8___boxed), 3, 1); +lean_closure_set(x_120, 0, x_119); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_121 = l_Lean_Elab_liftMacroM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___spec__9(x_120, x_2, x_3, x_4, x_5, x_6, x_7, x_117); +if (lean_obj_tag(x_121) == 0) +{ +lean_object* x_122; lean_object* x_123; uint8_t x_124; +x_122 = lean_ctor_get(x_121, 0); +lean_inc(x_122); +x_123 = lean_ctor_get(x_121, 1); +lean_inc(x_123); +lean_dec(x_121); +lean_inc(x_122); +x_124 = l_Lean_Syntax_isOfKind(x_122, x_9); +if (x_124 == 0) +{ +uint8_t x_125; +lean_inc(x_122); +x_125 = l_Lean_Syntax_isOfKind(x_122, x_11); +if (x_125 == 0) +{ +lean_object* x_126; +lean_dec(x_122); +lean_dec(x_118); +x_126 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_processLeaf(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_123); +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; +x_127 = l_Lean_Syntax_getArg(x_122, x_59); +x_128 = l_Lean_Syntax_getArg(x_122, x_61); +x_129 = lean_unsigned_to_nat(3u); +x_130 = l_Lean_Syntax_getArg(x_122, x_129); +lean_dec(x_122); +x_131 = 1; +x_132 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_processOp(x_1, x_118, x_127, x_128, x_130, x_131, x_2, x_3, x_4, x_5, x_6, x_7, x_123); +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; +x_133 = l_Lean_Syntax_getArg(x_122, x_59); +x_134 = l_Lean_Syntax_getArg(x_122, x_61); +x_135 = lean_unsigned_to_nat(3u); +x_136 = l_Lean_Syntax_getArg(x_122, x_135); +lean_dec(x_122); +x_137 = 0; +x_138 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_processOp(x_1, x_118, x_133, x_134, x_136, x_137, x_2, x_3, x_4, x_5, x_6, x_7, x_123); +return x_138; +} +} +else +{ +uint8_t x_139; +lean_dec(x_118); +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_139 = !lean_is_exclusive(x_121); +if (x_139 == 0) +{ +return x_121; +} +else +{ +lean_object* x_140; lean_object* x_141; lean_object* x_142; +x_140 = lean_ctor_get(x_121, 0); +x_141 = lean_ctor_get(x_121, 1); +lean_inc(x_141); +lean_inc(x_140); +lean_dec(x_121); +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_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_143 = !lean_is_exclusive(x_112); +if (x_143 == 0) +{ +return x_112; +} +else +{ +lean_object* x_144; lean_object* x_145; lean_object* x_146; +x_144 = lean_ctor_get(x_112, 0); +x_145 = lean_ctor_get(x_112, 1); +lean_inc(x_145); +lean_inc(x_144); +lean_dec(x_112); +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; +} +} +} +else +{ +uint8_t x_147; +lean_inc(x_104); +x_147 = l_Lean_Elab_Term_hasCDot(x_104); +if (x_147 == 0) +{ +lean_dec(x_1); +x_1 = x_104; goto _start; } +else +{ +lean_object* x_149; +lean_dec(x_104); +x_149 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_processLeaf(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +return x_149; +} +} } } } 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; uint8_t x_73; lean_object* x_74; -x_67 = lean_unsigned_to_nat(1u); -x_68 = l_Lean_Syntax_getArg(x_2, x_67); -x_69 = lean_unsigned_to_nat(2u); -x_70 = l_Lean_Syntax_getArg(x_2, x_69); -x_71 = lean_unsigned_to_nat(3u); -x_72 = l_Lean_Syntax_getArg(x_2, x_71); -lean_dec(x_2); -x_73 = 1; -x_74 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_processOp(x_1, x_68, x_70, x_72, x_73, x_3, x_4, x_5, x_6, x_7, x_8, x_9); -return x_74; +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; uint8_t x_157; lean_object* x_158; +x_150 = lean_unsigned_to_nat(1u); +x_151 = l_Lean_Syntax_getArg(x_1, x_150); +x_152 = lean_unsigned_to_nat(2u); +x_153 = l_Lean_Syntax_getArg(x_1, x_152); +x_154 = lean_unsigned_to_nat(3u); +x_155 = l_Lean_Syntax_getArg(x_1, x_154); +x_156 = lean_box(0); +x_157 = 1; +x_158 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_processOp(x_1, x_156, x_151, x_153, x_155, x_157, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +return x_158; } } 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; uint8_t x_81; lean_object* x_82; -x_75 = lean_unsigned_to_nat(1u); -x_76 = l_Lean_Syntax_getArg(x_2, x_75); -x_77 = lean_unsigned_to_nat(2u); -x_78 = l_Lean_Syntax_getArg(x_2, x_77); -x_79 = lean_unsigned_to_nat(3u); -x_80 = l_Lean_Syntax_getArg(x_2, x_79); -lean_dec(x_2); -x_81 = 0; -x_82 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_processOp(x_1, x_76, x_78, x_80, x_81, x_3, x_4, x_5, x_6, x_7, x_8, x_9); -return x_82; +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; uint8_t x_166; lean_object* x_167; +x_159 = lean_unsigned_to_nat(1u); +x_160 = l_Lean_Syntax_getArg(x_1, x_159); +x_161 = lean_unsigned_to_nat(2u); +x_162 = l_Lean_Syntax_getArg(x_1, x_161); +x_163 = lean_unsigned_to_nat(3u); +x_164 = l_Lean_Syntax_getArg(x_1, x_163); +x_165 = lean_box(0); +x_166 = 0; +x_167 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_processOp(x_1, x_165, x_160, x_162, x_164, x_166, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +return x_167; } } } @@ -3932,198 +4357,202 @@ x_1 = lean_mk_string_from_bytes("term", 4); return x_1; } } -LEAN_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_processOp(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, lean_object* x_11, lean_object* x_12) { +LEAN_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_processOp(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, 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) { _start: { -lean_object* x_13; uint8_t x_14; lean_object* x_15; -x_13 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_processOp___closed__1; -x_14 = 0; +lean_object* x_14; uint8_t x_15; lean_object* x_16; +x_14 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_processOp___closed__1; +x_15 = 0; +lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_2); -x_15 = l_Lean_Elab_Term_resolveId_x3f(x_2, x_13, x_14, x_6, x_7, x_8, x_9, x_10, x_11, x_12); -if (lean_obj_tag(x_15) == 0) -{ -lean_object* x_16; -x_16 = lean_ctor_get(x_15, 0); -lean_inc(x_16); +lean_inc(x_3); +x_16 = l_Lean_Elab_Term_resolveId_x3f(x_3, x_14, x_15, x_7, x_8, x_9, x_10, x_11, x_12, x_13); if (lean_obj_tag(x_16) == 0) { -lean_object* x_17; lean_object* x_18; lean_object* x_19; -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_1); -x_17 = lean_ctor_get(x_15, 1); +lean_object* x_17; +x_17 = lean_ctor_get(x_16, 0); lean_inc(x_17); -lean_dec(x_15); -x_18 = l_Lean_Syntax_getId(x_2); +if (lean_obj_tag(x_17) == 0) +{ +lean_object* x_18; lean_object* x_19; lean_object* x_20; +lean_dec(x_5); +lean_dec(x_4); lean_dec(x_2); -x_19 = l_Lean_throwUnknownConstant___at___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_processOp___spec__1(x_18, x_6, x_7, x_8, x_9, x_10, x_11, x_17); +lean_dec(x_1); +x_18 = lean_ctor_get(x_16, 1); +lean_inc(x_18); +lean_dec(x_16); +x_19 = l_Lean_Syntax_getId(x_3); +lean_dec(x_3); +x_20 = l_Lean_throwUnknownConstant___at___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_processOp___spec__1(x_19, x_7, x_8, x_9, x_10, x_11, x_12, x_18); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); -lean_dec(x_7); -return x_19; +return x_20; } else { -lean_object* x_20; lean_object* x_21; lean_object* x_22; -lean_dec(x_2); -x_20 = lean_ctor_get(x_15, 1); -lean_inc(x_20); -lean_dec(x_15); -x_21 = lean_ctor_get(x_16, 0); +lean_object* x_21; lean_object* x_22; lean_object* x_23; +lean_dec(x_3); +x_21 = lean_ctor_get(x_16, 1); lean_inc(x_21); lean_dec(x_16); +x_22 = lean_ctor_get(x_17, 0); +lean_inc(x_22); +lean_dec(x_17); +lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_1); -x_22 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_go(x_1, x_3, x_6, x_7, x_8, x_9, x_10, x_11, x_20); -if (lean_obj_tag(x_22) == 0) +x_23 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_go(x_4, x_7, x_8, x_9, x_10, x_11, x_12, x_21); +if (lean_obj_tag(x_23) == 0) { -lean_object* x_23; lean_object* x_24; lean_object* x_25; -x_23 = lean_ctor_get(x_22, 0); -lean_inc(x_23); -x_24 = lean_ctor_get(x_22, 1); +lean_object* x_24; lean_object* x_25; lean_object* x_26; +x_24 = lean_ctor_get(x_23, 0); lean_inc(x_24); -lean_dec(x_22); -lean_inc(x_1); -x_25 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_go(x_1, x_4, x_6, x_7, x_8, x_9, x_10, x_11, x_24); -if (lean_obj_tag(x_25) == 0) -{ -uint8_t x_26; -x_26 = !lean_is_exclusive(x_25); -if (x_26 == 0) -{ -lean_object* x_27; lean_object* x_28; -x_27 = lean_ctor_get(x_25, 0); -x_28 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_28, 0, x_1); -lean_ctor_set(x_28, 1, x_21); -lean_ctor_set(x_28, 2, x_23); -lean_ctor_set(x_28, 3, x_27); -lean_ctor_set_uint8(x_28, sizeof(void*)*4, x_5); -lean_ctor_set(x_25, 0, x_28); -return x_25; -} -else -{ -lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; -x_29 = lean_ctor_get(x_25, 0); -x_30 = lean_ctor_get(x_25, 1); -lean_inc(x_30); -lean_inc(x_29); -lean_dec(x_25); -x_31 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_31, 0, x_1); -lean_ctor_set(x_31, 1, x_21); -lean_ctor_set(x_31, 2, x_23); -lean_ctor_set(x_31, 3, x_29); -lean_ctor_set_uint8(x_31, sizeof(void*)*4, x_5); -x_32 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_32, 0, x_31); -lean_ctor_set(x_32, 1, x_30); -return x_32; -} -} -else -{ -uint8_t x_33; +x_25 = lean_ctor_get(x_23, 1); +lean_inc(x_25); lean_dec(x_23); -lean_dec(x_21); -lean_dec(x_1); -x_33 = !lean_is_exclusive(x_25); -if (x_33 == 0) +x_26 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_go(x_5, x_7, x_8, x_9, x_10, x_11, x_12, x_25); +if (lean_obj_tag(x_26) == 0) { -return x_25; +uint8_t x_27; +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); +x_29 = lean_alloc_ctor(1, 5, 1); +lean_ctor_set(x_29, 0, x_1); +lean_ctor_set(x_29, 1, x_2); +lean_ctor_set(x_29, 2, x_22); +lean_ctor_set(x_29, 3, x_24); +lean_ctor_set(x_29, 4, x_28); +lean_ctor_set_uint8(x_29, sizeof(void*)*5, x_6); +lean_ctor_set(x_26, 0, x_29); +return x_26; } else { -lean_object* x_34; lean_object* x_35; lean_object* x_36; -x_34 = lean_ctor_get(x_25, 0); -x_35 = lean_ctor_get(x_25, 1); -lean_inc(x_35); -lean_inc(x_34); -lean_dec(x_25); -x_36 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_36, 0, x_34); -lean_ctor_set(x_36, 1, x_35); -return x_36; -} +lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; +x_30 = lean_ctor_get(x_26, 0); +x_31 = lean_ctor_get(x_26, 1); +lean_inc(x_31); +lean_inc(x_30); +lean_dec(x_26); +x_32 = lean_alloc_ctor(1, 5, 1); +lean_ctor_set(x_32, 0, x_1); +lean_ctor_set(x_32, 1, x_2); +lean_ctor_set(x_32, 2, x_22); +lean_ctor_set(x_32, 3, x_24); +lean_ctor_set(x_32, 4, x_30); +lean_ctor_set_uint8(x_32, sizeof(void*)*5, x_6); +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 { -uint8_t x_37; -lean_dec(x_21); -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_1); -x_37 = !lean_is_exclusive(x_22); -if (x_37 == 0) -{ -return x_22; -} -else -{ -lean_object* x_38; lean_object* x_39; lean_object* x_40; -x_38 = lean_ctor_get(x_22, 0); -x_39 = lean_ctor_get(x_22, 1); -lean_inc(x_39); -lean_inc(x_38); +uint8_t x_34; +lean_dec(x_24); lean_dec(x_22); -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_dec(x_2); +lean_dec(x_1); +x_34 = !lean_is_exclusive(x_26); +if (x_34 == 0) +{ +return x_26; +} +else +{ +lean_object* x_35; lean_object* x_36; lean_object* x_37; +x_35 = lean_ctor_get(x_26, 0); +x_36 = lean_ctor_get(x_26, 1); +lean_inc(x_36); +lean_inc(x_35); +lean_dec(x_26); +x_37 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_37, 0, x_35); +lean_ctor_set(x_37, 1, x_36); +return x_37; +} +} +} +else +{ +uint8_t x_38; +lean_dec(x_22); +lean_dec(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_5); +lean_dec(x_2); +lean_dec(x_1); +x_38 = !lean_is_exclusive(x_23); +if (x_38 == 0) +{ +return x_23; +} +else +{ +lean_object* x_39; lean_object* x_40; lean_object* x_41; +x_39 = lean_ctor_get(x_23, 0); +x_40 = lean_ctor_get(x_23, 1); +lean_inc(x_40); +lean_inc(x_39); +lean_dec(x_23); +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; } } } } else { -uint8_t x_41; +uint8_t x_42; +lean_dec(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_6); +lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_41 = !lean_is_exclusive(x_15); -if (x_41 == 0) +x_42 = !lean_is_exclusive(x_16); +if (x_42 == 0) { -return x_15; +return x_16; } else { -lean_object* x_42; lean_object* x_43; lean_object* x_44; -x_42 = lean_ctor_get(x_15, 0); -x_43 = lean_ctor_get(x_15, 1); +lean_object* x_43; lean_object* x_44; lean_object* x_45; +x_43 = lean_ctor_get(x_16, 0); +x_44 = lean_ctor_get(x_16, 1); +lean_inc(x_44); lean_inc(x_43); -lean_inc(x_42); -lean_dec(x_15); -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_dec(x_16); +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; } } } @@ -4154,222 +4583,116 @@ lean_dec(x_3); return x_9; } } -LEAN_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_processOp___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_processOp___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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: { -uint8_t x_13; lean_object* x_14; -x_13 = lean_unbox(x_5); -lean_dec(x_5); -x_14 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_processOp(x_1, x_2, x_3, x_4, x_13, x_6, x_7, x_8, x_9, x_10, x_11, x_12); -return x_14; -} -} -static lean_object* _init_l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree___lambda__1___closed__1() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_from_bytes("byTactic", 8); -return x_1; -} -} -static lean_object* _init_l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree___lambda__1___closed__2() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Term_elabForIn___closed__6; -x_2 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree___lambda__1___closed__1; -x_3 = l_Lean_Name_str___override(x_1, x_2); -return x_3; -} -} -LEAN_EXPORT uint8_t l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree___lambda__1(lean_object* x_1) { -_start: -{ -lean_object* x_2; uint8_t x_3; -x_2 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree___lambda__1___closed__2; -x_3 = lean_name_eq(x_1, x_2); -if (x_3 == 0) -{ -uint8_t x_4; -x_4 = 1; -return x_4; -} -else -{ -uint8_t x_5; -x_5 = 0; -return x_5; -} -} -} -static lean_object* _init_l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree___closed__1() { -_start: -{ -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree___lambda__1___boxed), 1, 0); -return x_1; +uint8_t x_14; lean_object* x_15; +x_14 = lean_unbox(x_6); +lean_dec(x_6); +x_15 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_processOp(x_1, x_2, x_3, x_4, x_5, x_14, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +return x_15; } } LEAN_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree(lean_object* x_1, lean_object* x_2, 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; -x_9 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree___closed__1; -lean_inc(x_1); -x_10 = lean_alloc_closure((void*)(l_Lean_expandMacros), 4, 2); -lean_closure_set(x_10, 0, x_1); -lean_closure_set(x_10, 1, x_9); +lean_object* x_9; lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); lean_inc(x_2); -x_11 = l_Lean_Elab_liftMacroM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___spec__9(x_10, x_2, x_3, x_4, x_5, x_6, x_7, x_8); -if (lean_obj_tag(x_11) == 0) +x_9 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_go(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +if (lean_obj_tag(x_9) == 0) { -lean_object* x_12; lean_object* x_13; lean_object* x_14; -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_7); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -x_14 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_go(x_1, x_12, x_2, x_3, x_4, x_5, x_6, x_7, x_13); +lean_object* x_10; lean_object* x_11; uint8_t x_12; uint8_t 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 = 1; +x_13 = 0; +x_14 = l_Lean_Elab_Term_synthesizeSyntheticMVars(x_12, x_13, x_2, x_3, x_4, x_5, x_6, x_7, x_11); if (lean_obj_tag(x_14) == 0) { -lean_object* x_15; lean_object* x_16; uint8_t x_17; uint8_t x_18; lean_object* x_19; -x_15 = lean_ctor_get(x_14, 0); -lean_inc(x_15); -x_16 = lean_ctor_get(x_14, 1); -lean_inc(x_16); +uint8_t x_15; +x_15 = !lean_is_exclusive(x_14); +if (x_15 == 0) +{ +lean_object* x_16; +x_16 = lean_ctor_get(x_14, 0); +lean_dec(x_16); +lean_ctor_set(x_14, 0, x_10); +return x_14; +} +else +{ +lean_object* x_17; lean_object* x_18; +x_17 = lean_ctor_get(x_14, 1); +lean_inc(x_17); lean_dec(x_14); -x_17 = 1; -x_18 = 0; -x_19 = l_Lean_Elab_Term_synthesizeSyntheticMVars(x_17, x_18, x_2, x_3, x_4, x_5, x_6, x_7, x_16); -if (lean_obj_tag(x_19) == 0) -{ -uint8_t x_20; -x_20 = !lean_is_exclusive(x_19); -if (x_20 == 0) -{ -lean_object* x_21; -x_21 = lean_ctor_get(x_19, 0); -lean_dec(x_21); -lean_ctor_set(x_19, 0, x_15); -return x_19; -} -else -{ -lean_object* x_22; lean_object* x_23; -x_22 = lean_ctor_get(x_19, 1); -lean_inc(x_22); -lean_dec(x_19); -x_23 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_23, 0, x_15); -lean_ctor_set(x_23, 1, x_22); -return x_23; +x_18 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_18, 0, x_10); +lean_ctor_set(x_18, 1, x_17); +return x_18; } } else { -uint8_t x_24; -lean_dec(x_15); -x_24 = !lean_is_exclusive(x_19); -if (x_24 == 0) -{ -return x_19; -} -else -{ -lean_object* x_25; lean_object* x_26; lean_object* x_27; -x_25 = lean_ctor_get(x_19, 0); -x_26 = lean_ctor_get(x_19, 1); -lean_inc(x_26); -lean_inc(x_25); -lean_dec(x_19); -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 -{ -uint8_t x_28; -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_28 = !lean_is_exclusive(x_14); -if (x_28 == 0) +uint8_t x_19; +lean_dec(x_10); +x_19 = !lean_is_exclusive(x_14); +if (x_19 == 0) { return x_14; } else { -lean_object* x_29; lean_object* x_30; lean_object* x_31; -x_29 = lean_ctor_get(x_14, 0); -x_30 = lean_ctor_get(x_14, 1); -lean_inc(x_30); -lean_inc(x_29); +lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_20 = lean_ctor_get(x_14, 0); +x_21 = lean_ctor_get(x_14, 1); +lean_inc(x_21); +lean_inc(x_20); lean_dec(x_14); -x_31 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_31, 0, x_29); -lean_ctor_set(x_31, 1, x_30); -return x_31; +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; } } } else { -uint8_t x_32; +uint8_t x_23; 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_32 = !lean_is_exclusive(x_11); -if (x_32 == 0) +x_23 = !lean_is_exclusive(x_9); +if (x_23 == 0) { -return x_11; +return x_9; } else { -lean_object* x_33; lean_object* x_34; lean_object* x_35; -x_33 = lean_ctor_get(x_11, 0); -x_34 = lean_ctor_get(x_11, 1); -lean_inc(x_34); -lean_inc(x_33); -lean_dec(x_11); -x_35 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_35, 0, x_33); -lean_ctor_set(x_35, 1, x_34); -return x_35; +lean_object* x_24; lean_object* x_25; lean_object* x_26; +x_24 = lean_ctor_get(x_9, 0); +x_25 = lean_ctor_get(x_9, 1); +lean_inc(x_25); +lean_inc(x_24); +lean_dec(x_9); +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; } } } } -LEAN_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree___lambda__1___boxed(lean_object* x_1) { -_start: -{ -uint8_t x_2; lean_object* x_3; -x_2 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree___lambda__1(x_1); -lean_dec(x_1); -x_3 = lean_box(x_2); -return x_3; -} -} static lean_object* _init_l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_hasCoe___closed__1() { _start: { @@ -5567,7 +5890,7 @@ lean_object* x_15; lean_object* x_16; lean_object* x_17; x_15 = lean_ctor_get(x_12, 1); lean_inc(x_15); lean_dec(x_12); -x_16 = lean_ctor_get(x_1, 1); +x_16 = lean_ctor_get(x_1, 2); lean_inc(x_16); lean_dec(x_1); lean_inc(x_8); @@ -7071,9 +7394,9 @@ lean_object* x_341; lean_object* x_342; lean_object* x_343; lean_object* x_344; x_341 = lean_ctor_get(x_12, 1); lean_inc(x_341); lean_dec(x_12); -x_342 = lean_ctor_get(x_1, 2); +x_342 = lean_ctor_get(x_1, 3); lean_inc(x_342); -x_343 = lean_ctor_get(x_1, 3); +x_343 = lean_ctor_get(x_1, 4); lean_inc(x_343); lean_dec(x_1); lean_inc(x_8); @@ -7417,13 +7740,228 @@ x_19 = l_Lean_Elab_Term_elabAppArgs(x_1, x_17, x_15, x_16, x_18, x_18, x_18, x_4 return x_19; } } +LEAN_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toExprCore___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) { +_start: +{ +lean_object* x_11; +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +x_11 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toExprCore(x_1, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +if (lean_obj_tag(x_11) == 0) +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; +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); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +x_14 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toExprCore(x_2, x_4, x_5, x_6, x_7, x_8, x_9, x_13); +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_14, 0); +lean_inc(x_15); +x_16 = lean_ctor_get(x_14, 1); +lean_inc(x_16); +lean_dec(x_14); +x_17 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_mkOp(x_3, x_12, x_15, x_4, x_5, x_6, x_7, x_8, x_9, x_16); +return x_17; +} +else +{ +uint8_t x_18; +lean_dec(x_12); +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_18 = !lean_is_exclusive(x_14); +if (x_18 == 0) +{ +return x_14; +} +else +{ +lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_19 = lean_ctor_get(x_14, 0); +x_20 = lean_ctor_get(x_14, 1); +lean_inc(x_20); +lean_inc(x_19); +lean_dec(x_14); +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; +} +} +} +else +{ +uint8_t x_22; +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_22 = !lean_is_exclusive(x_11); +if (x_22 == 0) +{ +return x_11; +} +else +{ +lean_object* x_23; lean_object* x_24; lean_object* x_25; +x_23 = lean_ctor_get(x_11, 0); +x_24 = lean_ctor_get(x_11, 1); +lean_inc(x_24); +lean_inc(x_23); +lean_dec(x_11); +x_25 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_25, 0, x_23); +lean_ctor_set(x_25, 1, x_24); +return x_25; +} +} +} +} +LEAN_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toExprCore___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) { +_start: +{ +lean_object* x_11; uint8_t x_12; lean_object* x_13; +x_11 = lean_box(0); +x_12 = 0; +x_13 = l_Lean_Elab_Term_mkTermInfo(x_1, x_2, x_3, x_11, x_11, x_12, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +return x_13; +} +} +LEAN_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toExprCore___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* x_10) { +_start: +{ +lean_object* x_11; +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +x_11 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toExprCore(x_1, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +if (lean_obj_tag(x_11) == 0) +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; +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); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +x_14 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toExprCore(x_2, x_4, x_5, x_6, x_7, x_8, x_9, x_13); +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_14, 0); +lean_inc(x_15); +x_16 = lean_ctor_get(x_14, 1); +lean_inc(x_16); +lean_dec(x_14); +x_17 = l_Lean_Meta_mkFunUnit(x_15, x_6, x_7, x_8, x_9, x_16); +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); +x_20 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_mkOp(x_3, x_12, x_18, x_4, x_5, x_6, x_7, x_8, x_9, x_19); +return x_20; +} +else +{ +uint8_t x_21; +lean_dec(x_12); +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_is_exclusive(x_14); +if (x_21 == 0) +{ +return x_14; +} +else +{ +lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_22 = lean_ctor_get(x_14, 0); +x_23 = lean_ctor_get(x_14, 1); +lean_inc(x_23); +lean_inc(x_22); +lean_dec(x_14); +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; +} +} +} +else +{ +uint8_t 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_3); +lean_dec(x_2); +x_25 = !lean_is_exclusive(x_11); +if (x_25 == 0) +{ +return x_11; +} +else +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_26 = lean_ctor_get(x_11, 0); +x_27 = lean_ctor_get(x_11, 1); +lean_inc(x_27); +lean_inc(x_26); +lean_dec(x_11); +x_28 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_28, 0, x_26); +lean_ctor_set(x_28, 1, x_27); +return x_28; +} +} +} +} LEAN_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toExprCore(lean_object* x_1, lean_object* x_2, 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_1) == 0) { -lean_object* x_9; lean_object* x_10; -lean_dec(x_7); +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_dec(x_6); lean_dec(x_5); lean_dec(x_4); @@ -7431,255 +7969,209 @@ lean_dec(x_3); lean_dec(x_2); x_9 = lean_ctor_get(x_1, 1); lean_inc(x_9); +x_10 = lean_ctor_get(x_1, 2); +lean_inc(x_10); lean_dec(x_1); -x_10 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_10, 0, x_9); -lean_ctor_set(x_10, 1, x_8); -return x_10; -} -else -{ -uint8_t x_11; -x_11 = lean_ctor_get_uint8(x_1, sizeof(void*)*4); -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_1, 0); +x_11 = lean_st_ref_take(x_7, x_8); +x_12 = lean_ctor_get(x_11, 0); lean_inc(x_12); -x_13 = lean_ctor_get(x_1, 1); +x_13 = lean_ctor_get(x_12, 6); lean_inc(x_13); -x_14 = lean_ctor_get(x_1, 2); +x_14 = lean_ctor_get(x_11, 1); lean_inc(x_14); -x_15 = lean_ctor_get(x_1, 3); -lean_inc(x_15); -lean_dec(x_1); -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -x_16 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toExprCore(x_14, x_2, x_3, x_4, x_5, x_6, x_7, x_8); -if (lean_obj_tag(x_16) == 0) +lean_dec(x_11); +x_15 = !lean_is_exclusive(x_12); +if (x_15 == 0) { -lean_object* x_17; lean_object* x_18; lean_object* x_19; -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_object* x_16; uint8_t x_17; +x_16 = lean_ctor_get(x_12, 6); lean_dec(x_16); -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -x_19 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toExprCore(x_15, x_2, x_3, x_4, x_5, x_6, x_7, x_18); -if (lean_obj_tag(x_19) == 0) +x_17 = !lean_is_exclusive(x_13); +if (x_17 == 0) { -lean_object* x_20; lean_object* x_21; uint8_t x_22; -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 = !lean_is_exclusive(x_6); -if (x_22 == 0) +lean_object* x_18; lean_object* x_19; lean_object* x_20; uint8_t x_21; +x_18 = lean_ctor_get(x_13, 1); +x_19 = l_Std_PersistentArray_append___rarg(x_18, x_9); +lean_ctor_set(x_13, 1, x_19); +x_20 = lean_st_ref_set(x_7, x_12, x_14); +lean_dec(x_7); +x_21 = !lean_is_exclusive(x_20); +if (x_21 == 0) { -lean_object* x_23; lean_object* x_24; lean_object* x_25; -x_23 = lean_ctor_get(x_6, 5); -x_24 = l_Lean_replaceRef(x_12, x_23); -lean_dec(x_23); -lean_dec(x_12); -lean_ctor_set(x_6, 5, x_24); -x_25 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_mkOp(x_13, x_17, x_20, x_2, x_3, x_4, x_5, x_6, x_7, x_21); -return x_25; +lean_object* x_22; +x_22 = lean_ctor_get(x_20, 0); +lean_dec(x_22); +lean_ctor_set(x_20, 0, x_10); +return x_20; } 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; 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_26 = lean_ctor_get(x_6, 0); -x_27 = lean_ctor_get(x_6, 1); -x_28 = lean_ctor_get(x_6, 2); -x_29 = lean_ctor_get(x_6, 3); -x_30 = lean_ctor_get(x_6, 4); -x_31 = lean_ctor_get(x_6, 5); -x_32 = lean_ctor_get(x_6, 6); -x_33 = lean_ctor_get(x_6, 7); -x_34 = lean_ctor_get(x_6, 8); -x_35 = lean_ctor_get(x_6, 9); -x_36 = lean_ctor_get(x_6, 10); +lean_object* x_23; lean_object* x_24; +x_23 = lean_ctor_get(x_20, 1); +lean_inc(x_23); +lean_dec(x_20); +x_24 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_24, 0, x_10); +lean_ctor_set(x_24, 1, x_23); +return x_24; +} +} +else +{ +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; +x_25 = lean_ctor_get_uint8(x_13, sizeof(void*)*2); +x_26 = lean_ctor_get(x_13, 0); +x_27 = lean_ctor_get(x_13, 1); +lean_inc(x_27); +lean_inc(x_26); +lean_dec(x_13); +x_28 = l_Std_PersistentArray_append___rarg(x_27, x_9); +x_29 = lean_alloc_ctor(0, 2, 1); +lean_ctor_set(x_29, 0, x_26); +lean_ctor_set(x_29, 1, x_28); +lean_ctor_set_uint8(x_29, sizeof(void*)*2, x_25); +lean_ctor_set(x_12, 6, x_29); +x_30 = lean_st_ref_set(x_7, x_12, x_14); +lean_dec(x_7); +x_31 = lean_ctor_get(x_30, 1); +lean_inc(x_31); +if (lean_is_exclusive(x_30)) { + lean_ctor_release(x_30, 0); + lean_ctor_release(x_30, 1); + x_32 = x_30; +} else { + lean_dec_ref(x_30); + x_32 = lean_box(0); +} +if (lean_is_scalar(x_32)) { + x_33 = lean_alloc_ctor(0, 2, 0); +} else { + x_33 = x_32; +} +lean_ctor_set(x_33, 0, x_10); +lean_ctor_set(x_33, 1, x_31); +return x_33; +} +} +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; uint8_t 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_34 = lean_ctor_get(x_12, 0); +x_35 = lean_ctor_get(x_12, 1); +x_36 = lean_ctor_get(x_12, 2); +x_37 = lean_ctor_get(x_12, 3); +x_38 = lean_ctor_get(x_12, 4); +x_39 = lean_ctor_get(x_12, 5); +lean_inc(x_39); +lean_inc(x_38); +lean_inc(x_37); lean_inc(x_36); lean_inc(x_35); lean_inc(x_34); -lean_inc(x_33); -lean_inc(x_32); -lean_inc(x_31); -lean_inc(x_30); -lean_inc(x_29); -lean_inc(x_28); -lean_inc(x_27); -lean_inc(x_26); -lean_dec(x_6); -x_37 = l_Lean_replaceRef(x_12, x_31); -lean_dec(x_31); lean_dec(x_12); -x_38 = lean_alloc_ctor(0, 11, 0); -lean_ctor_set(x_38, 0, x_26); -lean_ctor_set(x_38, 1, x_27); -lean_ctor_set(x_38, 2, x_28); -lean_ctor_set(x_38, 3, x_29); -lean_ctor_set(x_38, 4, x_30); -lean_ctor_set(x_38, 5, x_37); -lean_ctor_set(x_38, 6, x_32); -lean_ctor_set(x_38, 7, x_33); -lean_ctor_set(x_38, 8, x_34); -lean_ctor_set(x_38, 9, x_35); -lean_ctor_set(x_38, 10, x_36); -x_39 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_mkOp(x_13, x_17, x_20, x_2, x_3, x_4, x_5, x_38, x_7, x_21); -return x_39; -} -} -else -{ -uint8_t x_40; -lean_dec(x_17); -lean_dec(x_13); -lean_dec(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_40 = !lean_is_exclusive(x_19); -if (x_40 == 0) -{ -return x_19; -} -else -{ -lean_object* x_41; lean_object* x_42; lean_object* x_43; -x_41 = lean_ctor_get(x_19, 0); -x_42 = lean_ctor_get(x_19, 1); -lean_inc(x_42); +x_40 = lean_ctor_get_uint8(x_13, sizeof(void*)*2); +x_41 = lean_ctor_get(x_13, 0); lean_inc(x_41); -lean_dec(x_19); -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; +x_42 = lean_ctor_get(x_13, 1); +lean_inc(x_42); +if (lean_is_exclusive(x_13)) { + lean_ctor_release(x_13, 0); + lean_ctor_release(x_13, 1); + x_43 = x_13; +} else { + lean_dec_ref(x_13); + x_43 = lean_box(0); } +x_44 = l_Std_PersistentArray_append___rarg(x_42, x_9); +if (lean_is_scalar(x_43)) { + x_45 = lean_alloc_ctor(0, 2, 1); +} else { + x_45 = x_43; } -} -else -{ -uint8_t x_44; -lean_dec(x_15); -lean_dec(x_13); -lean_dec(x_12); +lean_ctor_set(x_45, 0, x_41); +lean_ctor_set(x_45, 1, x_44); +lean_ctor_set_uint8(x_45, sizeof(void*)*2, x_40); +x_46 = lean_alloc_ctor(0, 7, 0); +lean_ctor_set(x_46, 0, x_34); +lean_ctor_set(x_46, 1, x_35); +lean_ctor_set(x_46, 2, x_36); +lean_ctor_set(x_46, 3, x_37); +lean_ctor_set(x_46, 4, x_38); +lean_ctor_set(x_46, 5, x_39); +lean_ctor_set(x_46, 6, x_45); +x_47 = lean_st_ref_set(x_7, x_46, x_14); 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_is_exclusive(x_16); -if (x_44 == 0) -{ -return x_16; -} -else -{ -lean_object* x_45; lean_object* x_46; lean_object* x_47; -x_45 = lean_ctor_get(x_16, 0); -x_46 = lean_ctor_get(x_16, 1); -lean_inc(x_46); -lean_inc(x_45); -lean_dec(x_16); -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 -{ -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_1, 0); +x_48 = lean_ctor_get(x_47, 1); lean_inc(x_48); -x_49 = lean_ctor_get(x_1, 1); -lean_inc(x_49); -x_50 = lean_ctor_get(x_1, 2); -lean_inc(x_50); -x_51 = lean_ctor_get(x_1, 3); -lean_inc(x_51); -lean_dec(x_1); -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -x_52 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toExprCore(x_50, x_2, x_3, x_4, x_5, x_6, x_7, x_8); -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_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_7); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -x_55 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toExprCore(x_51, x_2, x_3, x_4, x_5, x_6, x_7, x_54); -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; -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_58 = l_Lean_Meta_mkFunUnit(x_56, x_4, x_5, x_6, x_7, x_57); -x_59 = lean_ctor_get(x_58, 0); -lean_inc(x_59); -x_60 = lean_ctor_get(x_58, 1); -lean_inc(x_60); -lean_dec(x_58); -x_61 = !lean_is_exclusive(x_6); -if (x_61 == 0) -{ -lean_object* x_62; lean_object* x_63; lean_object* x_64; -x_62 = lean_ctor_get(x_6, 5); -x_63 = l_Lean_replaceRef(x_48, x_62); -lean_dec(x_62); -lean_dec(x_48); -lean_ctor_set(x_6, 5, x_63); -x_64 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_mkOp(x_49, x_53, x_59, x_2, x_3, x_4, x_5, x_6, x_7, x_60); -return x_64; +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_10); +lean_ctor_set(x_50, 1, x_48); +return x_50; +} } 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_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; -x_65 = lean_ctor_get(x_6, 0); -x_66 = lean_ctor_get(x_6, 1); -x_67 = lean_ctor_get(x_6, 2); -x_68 = lean_ctor_get(x_6, 3); -x_69 = lean_ctor_get(x_6, 4); -x_70 = lean_ctor_get(x_6, 5); -x_71 = lean_ctor_get(x_6, 6); -x_72 = lean_ctor_get(x_6, 7); -x_73 = lean_ctor_get(x_6, 8); -x_74 = lean_ctor_get(x_6, 9); -x_75 = lean_ctor_get(x_6, 10); -lean_inc(x_75); -lean_inc(x_74); +uint8_t x_51; +x_51 = lean_ctor_get_uint8(x_1, sizeof(void*)*5); +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; uint8_t x_59; +x_52 = lean_ctor_get(x_1, 0); +lean_inc(x_52); +x_53 = lean_ctor_get(x_1, 1); +lean_inc(x_53); +x_54 = lean_ctor_get(x_1, 2); +lean_inc(x_54); +x_55 = lean_ctor_get(x_1, 3); +lean_inc(x_55); +x_56 = lean_ctor_get(x_1, 4); +lean_inc(x_56); +lean_dec(x_1); +x_57 = lean_alloc_closure((void*)(l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toExprCore___lambda__1), 10, 3); +lean_closure_set(x_57, 0, x_55); +lean_closure_set(x_57, 1, x_56); +lean_closure_set(x_57, 2, x_54); +lean_inc(x_52); +x_58 = lean_alloc_closure((void*)(l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toExprCore___lambda__2___boxed), 10, 2); +lean_closure_set(x_58, 0, x_53); +lean_closure_set(x_58, 1, x_52); +x_59 = !lean_is_exclusive(x_6); +if (x_59 == 0) +{ +lean_object* x_60; lean_object* x_61; lean_object* x_62; +x_60 = lean_ctor_get(x_6, 5); +x_61 = l_Lean_replaceRef(x_52, x_60); +lean_dec(x_60); +lean_ctor_set(x_6, 5, x_61); +x_62 = l_Lean_Elab_Term_withInfoContext_x27(x_52, x_57, x_58, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +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; 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_63 = lean_ctor_get(x_6, 0); +x_64 = lean_ctor_get(x_6, 1); +x_65 = lean_ctor_get(x_6, 2); +x_66 = lean_ctor_get(x_6, 3); +x_67 = lean_ctor_get(x_6, 4); +x_68 = lean_ctor_get(x_6, 5); +x_69 = lean_ctor_get(x_6, 6); +x_70 = lean_ctor_get(x_6, 7); +x_71 = lean_ctor_get(x_6, 8); +x_72 = lean_ctor_get(x_6, 9); +x_73 = lean_ctor_get(x_6, 10); lean_inc(x_73); lean_inc(x_72); lean_inc(x_71); @@ -7689,91 +8181,119 @@ lean_inc(x_68); lean_inc(x_67); lean_inc(x_66); lean_inc(x_65); +lean_inc(x_64); +lean_inc(x_63); lean_dec(x_6); -x_76 = l_Lean_replaceRef(x_48, x_70); -lean_dec(x_70); -lean_dec(x_48); -x_77 = lean_alloc_ctor(0, 11, 0); -lean_ctor_set(x_77, 0, x_65); -lean_ctor_set(x_77, 1, x_66); -lean_ctor_set(x_77, 2, x_67); -lean_ctor_set(x_77, 3, x_68); -lean_ctor_set(x_77, 4, x_69); -lean_ctor_set(x_77, 5, x_76); -lean_ctor_set(x_77, 6, x_71); -lean_ctor_set(x_77, 7, x_72); -lean_ctor_set(x_77, 8, x_73); -lean_ctor_set(x_77, 9, x_74); -lean_ctor_set(x_77, 10, x_75); -x_78 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_mkOp(x_49, x_53, x_59, x_2, x_3, x_4, x_5, x_77, x_7, x_60); -return x_78; +x_74 = l_Lean_replaceRef(x_52, x_68); +lean_dec(x_68); +x_75 = lean_alloc_ctor(0, 11, 0); +lean_ctor_set(x_75, 0, x_63); +lean_ctor_set(x_75, 1, x_64); +lean_ctor_set(x_75, 2, x_65); +lean_ctor_set(x_75, 3, x_66); +lean_ctor_set(x_75, 4, x_67); +lean_ctor_set(x_75, 5, x_74); +lean_ctor_set(x_75, 6, x_69); +lean_ctor_set(x_75, 7, x_70); +lean_ctor_set(x_75, 8, x_71); +lean_ctor_set(x_75, 9, x_72); +lean_ctor_set(x_75, 10, x_73); +x_76 = l_Lean_Elab_Term_withInfoContext_x27(x_52, x_57, x_58, x_2, x_3, x_4, x_5, x_75, x_7, x_8); +return x_76; } } else { -uint8_t x_79; -lean_dec(x_53); -lean_dec(x_49); -lean_dec(x_48); -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_79 = !lean_is_exclusive(x_55); -if (x_79 == 0) -{ -return x_55; -} -else -{ -lean_object* x_80; lean_object* x_81; lean_object* x_82; -x_80 = lean_ctor_get(x_55, 0); -x_81 = lean_ctor_get(x_55, 1); -lean_inc(x_81); +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_77 = lean_ctor_get(x_1, 0); +lean_inc(x_77); +x_78 = lean_ctor_get(x_1, 1); +lean_inc(x_78); +x_79 = lean_ctor_get(x_1, 2); +lean_inc(x_79); +x_80 = lean_ctor_get(x_1, 3); lean_inc(x_80); -lean_dec(x_55); -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; -} -} +x_81 = lean_ctor_get(x_1, 4); +lean_inc(x_81); +lean_dec(x_1); +x_82 = lean_alloc_closure((void*)(l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toExprCore___lambda__3), 10, 3); +lean_closure_set(x_82, 0, x_80); +lean_closure_set(x_82, 1, x_81); +lean_closure_set(x_82, 2, x_79); +lean_inc(x_77); +x_83 = lean_alloc_closure((void*)(l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toExprCore___lambda__2___boxed), 10, 2); +lean_closure_set(x_83, 0, x_78); +lean_closure_set(x_83, 1, x_77); +x_84 = !lean_is_exclusive(x_6); +if (x_84 == 0) +{ +lean_object* x_85; lean_object* x_86; lean_object* x_87; +x_85 = lean_ctor_get(x_6, 5); +x_86 = l_Lean_replaceRef(x_77, x_85); +lean_dec(x_85); +lean_ctor_set(x_6, 5, x_86); +x_87 = l_Lean_Elab_Term_withInfoContext_x27(x_77, x_82, x_83, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +return x_87; } else { -uint8_t x_83; -lean_dec(x_51); -lean_dec(x_49); -lean_dec(x_48); +lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; +x_88 = lean_ctor_get(x_6, 0); +x_89 = lean_ctor_get(x_6, 1); +x_90 = lean_ctor_get(x_6, 2); +x_91 = lean_ctor_get(x_6, 3); +x_92 = lean_ctor_get(x_6, 4); +x_93 = lean_ctor_get(x_6, 5); +x_94 = lean_ctor_get(x_6, 6); +x_95 = lean_ctor_get(x_6, 7); +x_96 = lean_ctor_get(x_6, 8); +x_97 = lean_ctor_get(x_6, 9); +x_98 = lean_ctor_get(x_6, 10); +lean_inc(x_98); +lean_inc(x_97); +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_inc(x_89); +lean_inc(x_88); +lean_dec(x_6); +x_99 = l_Lean_replaceRef(x_77, x_93); +lean_dec(x_93); +x_100 = lean_alloc_ctor(0, 11, 0); +lean_ctor_set(x_100, 0, x_88); +lean_ctor_set(x_100, 1, x_89); +lean_ctor_set(x_100, 2, x_90); +lean_ctor_set(x_100, 3, x_91); +lean_ctor_set(x_100, 4, x_92); +lean_ctor_set(x_100, 5, x_99); +lean_ctor_set(x_100, 6, x_94); +lean_ctor_set(x_100, 7, x_95); +lean_ctor_set(x_100, 8, x_96); +lean_ctor_set(x_100, 9, x_97); +lean_ctor_set(x_100, 10, x_98); +x_101 = l_Lean_Elab_Term_withInfoContext_x27(x_77, x_82, x_83, x_2, x_3, x_4, x_5, x_100, x_7, x_8); +return x_101; +} +} +} +} +} +LEAN_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toExprCore___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) { +_start: +{ +lean_object* x_11; +x_11 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toExprCore___lambda__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_4); -lean_dec(x_3); -lean_dec(x_2); -x_83 = !lean_is_exclusive(x_52); -if (x_83 == 0) -{ -return x_52; -} -else -{ -lean_object* x_84; lean_object* x_85; lean_object* x_86; -x_84 = lean_ctor_get(x_52, 0); -x_85 = lean_ctor_get(x_52, 1); -lean_inc(x_85); -lean_inc(x_84); -lean_dec(x_52); -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; -} -} -} -} +return x_11; } } static lean_object* _init_l_Lean_Meta_getDefaultInstances___at___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_hasHeterogeneousDefaultInstances___spec__1___closed__1() { @@ -8651,89 +9171,93 @@ lean_dec(x_1); return x_8; } } -LEAN_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +LEAN_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { _start: { -lean_object* x_13; uint8_t x_14; -x_13 = lean_box(0); -x_14 = !lean_is_exclusive(x_10); -if (x_14 == 0) +lean_object* x_14; uint8_t x_15; +x_14 = lean_box(0); +x_15 = !lean_is_exclusive(x_11); +if (x_15 == 0) { -lean_object* x_15; lean_object* x_16; lean_object* x_17; -x_15 = lean_ctor_get(x_10, 5); -x_16 = l_Lean_replaceRef(x_1, x_15); -lean_dec(x_15); -lean_ctor_set(x_10, 5, x_16); -x_17 = l_Lean_Elab_Term_mkCoe(x_2, x_3, x_4, x_13, x_13, x_6, x_7, x_8, x_9, x_10, x_11, x_12); -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_11, 5); +x_17 = l_Lean_replaceRef(x_1, x_16); +lean_dec(x_16); +lean_ctor_set(x_11, 5, x_17); +x_18 = l_Lean_Elab_Term_mkCoe(x_2, x_3, x_4, x_14, x_14, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +if (lean_obj_tag(x_18) == 0) { -uint8_t x_18; -x_18 = !lean_is_exclusive(x_17); -if (x_18 == 0) +uint8_t x_19; +x_19 = !lean_is_exclusive(x_18); +if (x_19 == 0) { -lean_object* x_19; lean_object* x_20; -x_19 = lean_ctor_get(x_17, 0); -x_20 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_20, 0, x_1); -lean_ctor_set(x_20, 1, x_19); -lean_ctor_set(x_17, 0, x_20); -return x_17; +lean_object* x_20; lean_object* x_21; +x_20 = lean_ctor_get(x_18, 0); +x_21 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_21, 0, x_1); +lean_ctor_set(x_21, 1, x_5); +lean_ctor_set(x_21, 2, x_20); +lean_ctor_set(x_18, 0, x_21); +return x_18; } else { -lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; -x_21 = lean_ctor_get(x_17, 0); -x_22 = lean_ctor_get(x_17, 1); +lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; +x_22 = lean_ctor_get(x_18, 0); +x_23 = lean_ctor_get(x_18, 1); +lean_inc(x_23); lean_inc(x_22); -lean_inc(x_21); -lean_dec(x_17); -x_23 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_23, 0, x_1); -lean_ctor_set(x_23, 1, x_21); -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; +lean_dec(x_18); +x_24 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_24, 0, x_1); +lean_ctor_set(x_24, 1, x_5); +lean_ctor_set(x_24, 2, x_22); +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; } } else { -uint8_t x_25; +uint8_t x_26; +lean_dec(x_5); lean_dec(x_1); -x_25 = !lean_is_exclusive(x_17); -if (x_25 == 0) +x_26 = !lean_is_exclusive(x_18); +if (x_26 == 0) { -return x_17; +return x_18; } else { -lean_object* x_26; lean_object* x_27; lean_object* x_28; -x_26 = lean_ctor_get(x_17, 0); -x_27 = lean_ctor_get(x_17, 1); +lean_object* x_27; lean_object* x_28; lean_object* x_29; +x_27 = lean_ctor_get(x_18, 0); +x_28 = lean_ctor_get(x_18, 1); +lean_inc(x_28); lean_inc(x_27); -lean_inc(x_26); -lean_dec(x_17); -x_28 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_28, 0, x_26); -lean_ctor_set(x_28, 1, x_27); -return x_28; +lean_dec(x_18); +x_29 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_29, 0, x_27); +lean_ctor_set(x_29, 1, x_28); +return x_29; } } } else { -lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; -x_29 = lean_ctor_get(x_10, 0); -x_30 = lean_ctor_get(x_10, 1); -x_31 = lean_ctor_get(x_10, 2); -x_32 = lean_ctor_get(x_10, 3); -x_33 = lean_ctor_get(x_10, 4); -x_34 = lean_ctor_get(x_10, 5); -x_35 = lean_ctor_get(x_10, 6); -x_36 = lean_ctor_get(x_10, 7); -x_37 = lean_ctor_get(x_10, 8); -x_38 = lean_ctor_get(x_10, 9); -x_39 = lean_ctor_get(x_10, 10); +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_30 = lean_ctor_get(x_11, 0); +x_31 = lean_ctor_get(x_11, 1); +x_32 = lean_ctor_get(x_11, 2); +x_33 = lean_ctor_get(x_11, 3); +x_34 = lean_ctor_get(x_11, 4); +x_35 = lean_ctor_get(x_11, 5); +x_36 = lean_ctor_get(x_11, 6); +x_37 = lean_ctor_get(x_11, 7); +x_38 = lean_ctor_get(x_11, 8); +x_39 = lean_ctor_get(x_11, 9); +x_40 = lean_ctor_get(x_11, 10); +lean_inc(x_40); lean_inc(x_39); lean_inc(x_38); lean_inc(x_37); @@ -8744,74 +9268,75 @@ lean_inc(x_33); lean_inc(x_32); lean_inc(x_31); lean_inc(x_30); -lean_inc(x_29); -lean_dec(x_10); -x_40 = l_Lean_replaceRef(x_1, x_34); -lean_dec(x_34); -x_41 = lean_alloc_ctor(0, 11, 0); -lean_ctor_set(x_41, 0, x_29); -lean_ctor_set(x_41, 1, x_30); -lean_ctor_set(x_41, 2, x_31); -lean_ctor_set(x_41, 3, x_32); -lean_ctor_set(x_41, 4, x_33); -lean_ctor_set(x_41, 5, x_40); -lean_ctor_set(x_41, 6, x_35); -lean_ctor_set(x_41, 7, x_36); -lean_ctor_set(x_41, 8, x_37); -lean_ctor_set(x_41, 9, x_38); -lean_ctor_set(x_41, 10, x_39); -x_42 = l_Lean_Elab_Term_mkCoe(x_2, x_3, x_4, x_13, x_13, x_6, x_7, x_8, x_9, x_41, x_11, x_12); -if (lean_obj_tag(x_42) == 0) +lean_dec(x_11); +x_41 = l_Lean_replaceRef(x_1, x_35); +lean_dec(x_35); +x_42 = lean_alloc_ctor(0, 11, 0); +lean_ctor_set(x_42, 0, x_30); +lean_ctor_set(x_42, 1, x_31); +lean_ctor_set(x_42, 2, x_32); +lean_ctor_set(x_42, 3, x_33); +lean_ctor_set(x_42, 4, x_34); +lean_ctor_set(x_42, 5, x_41); +lean_ctor_set(x_42, 6, x_36); +lean_ctor_set(x_42, 7, x_37); +lean_ctor_set(x_42, 8, x_38); +lean_ctor_set(x_42, 9, x_39); +lean_ctor_set(x_42, 10, x_40); +x_43 = l_Lean_Elab_Term_mkCoe(x_2, x_3, x_4, x_14, x_14, x_7, x_8, x_9, x_10, x_42, x_12, x_13); +if (lean_obj_tag(x_43) == 0) { -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_42, 0); -lean_inc(x_43); -x_44 = lean_ctor_get(x_42, 1); +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_43, 0); lean_inc(x_44); -if (lean_is_exclusive(x_42)) { - lean_ctor_release(x_42, 0); - lean_ctor_release(x_42, 1); - x_45 = x_42; +x_45 = lean_ctor_get(x_43, 1); +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_42); - x_45 = lean_box(0); + lean_dec_ref(x_43); + x_46 = lean_box(0); } -x_46 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_46, 0, x_1); -lean_ctor_set(x_46, 1, x_43); -if (lean_is_scalar(x_45)) { - x_47 = lean_alloc_ctor(0, 2, 0); +x_47 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_47, 0, x_1); +lean_ctor_set(x_47, 1, x_5); +lean_ctor_set(x_47, 2, x_44); +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; } else { -lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; +lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; +lean_dec(x_5); lean_dec(x_1); -x_48 = lean_ctor_get(x_42, 0); -lean_inc(x_48); -x_49 = lean_ctor_get(x_42, 1); +x_49 = lean_ctor_get(x_43, 0); lean_inc(x_49); -if (lean_is_exclusive(x_42)) { - lean_ctor_release(x_42, 0); - lean_ctor_release(x_42, 1); - x_50 = x_42; +x_50 = lean_ctor_get(x_43, 1); +lean_inc(x_50); +if (lean_is_exclusive(x_43)) { + lean_ctor_release(x_43, 0); + lean_ctor_release(x_43, 1); + x_51 = x_43; } else { - lean_dec_ref(x_42); - x_50 = lean_box(0); + lean_dec_ref(x_43); + x_51 = lean_box(0); } -if (lean_is_scalar(x_50)) { - x_51 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_51)) { + x_52 = lean_alloc_ctor(1, 2, 0); } else { - x_51 = x_50; + x_52 = x_51; } -lean_ctor_set(x_51, 0, x_48); -lean_ctor_set(x_51, 1, x_49); -return x_51; +lean_ctor_set(x_52, 0, x_49); +lean_ctor_set(x_52, 1, x_50); +return x_52; } } } @@ -8867,286 +9392,402 @@ x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -LEAN_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___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, lean_object* x_14) { +LEAN_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___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, lean_object* x_14, lean_object* x_15) { _start: { -lean_object* x_15; lean_object* x_16; uint8_t x_17; -lean_dec(x_7); +lean_object* x_16; lean_object* x_17; uint8_t x_18; +lean_dec(x_8); +lean_inc(x_14); lean_inc(x_13); lean_inc(x_12); lean_inc(x_11); -lean_inc(x_10); lean_inc(x_2); lean_inc(x_1); -x_15 = l_Lean_Meta_isExprDefEqGuarded(x_1, x_2, x_10, x_11, x_12, x_13, x_14); -x_16 = lean_ctor_get(x_15, 0); -lean_inc(x_16); -x_17 = lean_unbox(x_16); +x_16 = l_Lean_Meta_isExprDefEqGuarded(x_1, x_2, x_11, x_12, x_13, x_14, x_15); +x_17 = lean_ctor_get(x_16, 0); +lean_inc(x_17); +x_18 = lean_unbox(x_17); +lean_dec(x_17); +if (x_18 == 0) +{ +lean_object* x_19; uint8_t x_20; lean_object* x_21; lean_object* x_42; lean_object* x_43; lean_object* x_44; uint8_t x_45; +lean_dec(x_7); +x_19 = lean_ctor_get(x_16, 1); +lean_inc(x_19); lean_dec(x_16); -if (x_17 == 0) -{ -lean_object* x_18; uint8_t x_19; lean_object* x_20; lean_object* x_41; lean_object* x_42; lean_object* x_43; uint8_t x_44; -lean_dec(x_6); -x_18 = lean_ctor_get(x_15, 1); -lean_inc(x_18); -lean_dec(x_15); -x_41 = lean_st_ref_get(x_13, x_18); -x_42 = lean_ctor_get(x_41, 0); -lean_inc(x_42); -x_43 = lean_ctor_get(x_42, 3); +x_42 = lean_st_ref_get(x_14, x_19); +x_43 = lean_ctor_get(x_42, 0); lean_inc(x_43); -lean_dec(x_42); -x_44 = lean_ctor_get_uint8(x_43, sizeof(void*)*1); +x_44 = lean_ctor_get(x_43, 3); +lean_inc(x_44); lean_dec(x_43); -if (x_44 == 0) +x_45 = lean_ctor_get_uint8(x_44, sizeof(void*)*1); +lean_dec(x_44); +if (x_45 == 0) { -lean_object* x_45; uint8_t x_46; -x_45 = lean_ctor_get(x_41, 1); -lean_inc(x_45); -lean_dec(x_41); -x_46 = 0; -x_19 = x_46; -x_20 = x_45; -goto block_40; +lean_object* x_46; uint8_t x_47; +x_46 = lean_ctor_get(x_42, 1); +lean_inc(x_46); +lean_dec(x_42); +x_47 = 0; +x_20 = x_47; +x_21 = x_46; +goto block_41; } 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_41, 1); -lean_inc(x_47); -lean_dec(x_41); -lean_inc(x_5); -x_48 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_tryCoe___spec__2(x_5, x_8, x_9, x_10, x_11, x_12, x_13, x_47); -x_49 = lean_ctor_get(x_48, 0); -lean_inc(x_49); -x_50 = lean_ctor_get(x_48, 1); +lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; uint8_t x_52; +x_48 = lean_ctor_get(x_42, 1); +lean_inc(x_48); +lean_dec(x_42); +lean_inc(x_6); +x_49 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_tryCoe___spec__2(x_6, x_9, x_10, x_11, x_12, x_13, x_14, x_48); +x_50 = lean_ctor_get(x_49, 0); lean_inc(x_50); -lean_dec(x_48); -x_51 = lean_unbox(x_49); +x_51 = lean_ctor_get(x_49, 1); +lean_inc(x_51); lean_dec(x_49); -x_19 = x_51; -x_20 = x_50; -goto block_40; +x_52 = lean_unbox(x_50); +lean_dec(x_50); +x_20 = x_52; +x_21 = x_51; +goto block_41; } -block_40: +block_41: { -if (x_19 == 0) +if (x_20 == 0) +{ +lean_object* x_22; lean_object* x_23; +lean_dec(x_6); +x_22 = lean_box(0); +x_23 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___lambda__1(x_3, x_1, x_2, x_4, x_5, x_22, x_9, x_10, x_11, x_12, x_13, x_14, x_21); +return x_23; +} +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; 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_inc(x_4); +x_24 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_24, 0, x_4); +x_25 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___lambda__2___closed__2; +x_26 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_26, 0, x_25); +lean_ctor_set(x_26, 1, x_24); +x_27 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___lambda__2___closed__4; +x_28 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_28, 0, x_26); +lean_ctor_set(x_28, 1, x_27); +lean_inc(x_2); +x_29 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_29, 0, x_2); +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 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___lambda__2___closed__6; +x_32 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_32, 0, x_30); +lean_ctor_set(x_32, 1, x_31); +lean_inc(x_1); +x_33 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_33, 0, x_1); +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___private_Lean_Elab_Extra_0__Lean_Elab_Term_getMonadForIn___closed__6; +x_36 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_36, 0, x_34); +lean_ctor_set(x_36, 1, x_35); +x_37 = l_Lean_addTrace___at___private_Lean_Elab_Term_0__Lean_Elab_Term_tryCoe___spec__1(x_6, x_36, x_9, x_10, x_11, x_12, x_13, x_14, x_21); +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 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___lambda__1(x_3, x_1, x_2, x_4, x_5, x_38, x_9, x_10, x_11, x_12, x_13, x_14, x_39); +lean_dec(x_38); +return x_40; +} +} +} +else +{ +uint8_t x_53; +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +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_53 = !lean_is_exclusive(x_16); +if (x_53 == 0) +{ +lean_object* x_54; +x_54 = lean_ctor_get(x_16, 0); +lean_dec(x_54); +lean_ctor_set(x_16, 0, x_7); +return x_16; +} +else +{ +lean_object* x_55; lean_object* x_56; +x_55 = lean_ctor_get(x_16, 1); +lean_inc(x_55); +lean_dec(x_16); +x_56 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_56, 0, x_7); +lean_ctor_set(x_56, 1, x_55); +return x_56; +} +} +} +} +LEAN_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___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, uint8_t 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) { +_start: +{ +uint8_t x_18; +lean_dec(x_10); +x_18 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_isUnknow(x_2); +if (x_18 == 0) +{ +lean_object* x_19; lean_object* x_20; +lean_dec(x_8); +x_19 = lean_box(0); +x_20 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_19, x_11, x_12, x_13, x_14, x_15, x_16, x_17); +return x_20; +} +else +{ +if (lean_obj_tag(x_8) == 0) { lean_object* x_21; lean_object* x_22; -lean_dec(x_5); x_21 = lean_box(0); -x_22 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___lambda__1(x_3, x_1, x_2, x_4, x_21, x_8, x_9, x_10, x_11, x_12, x_13, x_20); +x_22 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_21, x_11, x_12, x_13, x_14, x_15, x_16, x_17); 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_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_inc(x_4); -x_23 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_23, 0, x_4); -x_24 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___lambda__2___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___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___lambda__2___closed__4; -x_27 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_27, 0, x_25); -lean_ctor_set(x_27, 1, x_26); -lean_inc(x_2); -x_28 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_28, 0, x_2); -x_29 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_29, 0, x_27); -lean_ctor_set(x_29, 1, x_28); -x_30 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___lambda__2___closed__6; -x_31 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_31, 0, x_29); -lean_ctor_set(x_31, 1, x_30); -lean_inc(x_1); -x_32 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_32, 0, x_1); -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___private_Lean_Elab_Extra_0__Lean_Elab_Term_getMonadForIn___closed__6; -x_35 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_35, 0, x_33); -lean_ctor_set(x_35, 1, x_34); -x_36 = l_Lean_addTrace___at___private_Lean_Elab_Term_0__Lean_Elab_Term_tryCoe___spec__1(x_5, x_35, x_8, x_9, x_10, x_11, x_12, x_13, x_20); -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_39 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___lambda__1(x_3, x_1, x_2, x_4, x_37, x_8, x_9, x_10, x_11, x_12, x_13, x_38); -lean_dec(x_37); -return x_39; -} -} -} -else -{ -uint8_t x_52; -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); +lean_object* x_23; lean_object* x_24; +x_23 = lean_ctor_get(x_8, 0); +lean_inc(x_23); lean_dec(x_8); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_52 = !lean_is_exclusive(x_15); -if (x_52 == 0) -{ -lean_object* x_53; -x_53 = lean_ctor_get(x_15, 0); -lean_dec(x_53); -lean_ctor_set(x_15, 0, x_6); -return x_15; -} -else -{ -lean_object* x_54; lean_object* x_55; -x_54 = lean_ctor_get(x_15, 1); -lean_inc(x_54); -lean_dec(x_15); -x_55 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_55, 0, x_6); -lean_ctor_set(x_55, 1, x_54); -return x_55; -} -} -} -} -LEAN_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___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, uint8_t 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) { -_start: -{ -uint8_t x_17; -lean_dec(x_9); -x_17 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_isUnknow(x_2); -if (x_17 == 0) -{ -lean_object* x_18; lean_object* x_19; -lean_dec(x_7); -x_18 = lean_box(0); -x_19 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6, x_18, x_10, x_11, x_12, x_13, x_14, x_15, x_16); -return x_19; -} -else -{ -if (lean_obj_tag(x_7) == 0) -{ -lean_object* x_20; lean_object* x_21; -x_20 = lean_box(0); -x_21 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6, x_20, x_10, x_11, x_12, x_13, x_14, x_15, x_16); -return x_21; -} -else -{ -lean_object* x_22; lean_object* x_23; -x_22 = lean_ctor_get(x_7, 0); -lean_inc(x_22); -lean_dec(x_7); +lean_inc(x_16); lean_inc(x_15); lean_inc(x_14); lean_inc(x_13); -lean_inc(x_12); lean_inc(x_1); -x_23 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_hasHeterogeneousDefaultInstances(x_22, x_1, x_8, x_12, x_13, x_14, x_15, x_16); -if (lean_obj_tag(x_23) == 0) +x_24 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_hasHeterogeneousDefaultInstances(x_23, x_1, x_9, x_13, x_14, x_15, x_16, x_17); +if (lean_obj_tag(x_24) == 0) { -lean_object* x_24; uint8_t x_25; -x_24 = lean_ctor_get(x_23, 0); -lean_inc(x_24); -x_25 = lean_unbox(x_24); +lean_object* x_25; uint8_t x_26; +x_25 = lean_ctor_get(x_24, 0); +lean_inc(x_25); +x_26 = lean_unbox(x_25); +lean_dec(x_25); +if (x_26 == 0) +{ +lean_object* x_27; lean_object* x_28; lean_object* x_29; +x_27 = lean_ctor_get(x_24, 1); +lean_inc(x_27); lean_dec(x_24); -if (x_25 == 0) -{ -lean_object* x_26; lean_object* x_27; lean_object* x_28; -x_26 = lean_ctor_get(x_23, 1); -lean_inc(x_26); -lean_dec(x_23); -x_27 = lean_box(0); -x_28 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6, x_27, x_10, x_11, x_12, x_13, x_14, x_15, x_26); -return x_28; +x_28 = lean_box(0); +x_29 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_28, x_11, x_12, x_13, x_14, x_15, x_16, x_27); +return x_29; } else { -uint8_t x_29; +uint8_t x_30; +lean_dec(x_16); lean_dec(x_15); lean_dec(x_14); lean_dec(x_13); lean_dec(x_12); lean_dec(x_11); -lean_dec(x_10); -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_23); -if (x_29 == 0) -{ -lean_object* x_30; -x_30 = lean_ctor_get(x_23, 0); -lean_dec(x_30); -lean_ctor_set(x_23, 0, x_6); -return x_23; -} -else -{ -lean_object* x_31; lean_object* x_32; -x_31 = lean_ctor_get(x_23, 1); -lean_inc(x_31); -lean_dec(x_23); -x_32 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_32, 0, x_6); -lean_ctor_set(x_32, 1, x_31); -return x_32; -} -} -} -else -{ -uint8_t x_33; -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); 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_33 = !lean_is_exclusive(x_23); -if (x_33 == 0) +x_30 = !lean_is_exclusive(x_24); +if (x_30 == 0) { -return x_23; +lean_object* x_31; +x_31 = lean_ctor_get(x_24, 0); +lean_dec(x_31); +lean_ctor_set(x_24, 0, x_7); +return x_24; } else { -lean_object* x_34; lean_object* x_35; lean_object* x_36; -x_34 = lean_ctor_get(x_23, 0); -x_35 = lean_ctor_get(x_23, 1); +lean_object* x_32; lean_object* x_33; +x_32 = lean_ctor_get(x_24, 1); +lean_inc(x_32); +lean_dec(x_24); +x_33 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_33, 0, x_7); +lean_ctor_set(x_33, 1, x_32); +return x_33; +} +} +} +else +{ +uint8_t x_34; +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +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_34 = !lean_is_exclusive(x_24); +if (x_34 == 0) +{ +return x_24; +} +else +{ +lean_object* x_35; lean_object* x_36; lean_object* x_37; +x_35 = lean_ctor_get(x_24, 0); +x_36 = lean_ctor_get(x_24, 1); +lean_inc(x_36); lean_inc(x_35); -lean_inc(x_34); -lean_dec(x_23); -x_36 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_36, 0, x_34); -lean_ctor_set(x_36, 1, x_35); -return x_36; +lean_dec(x_24); +x_37 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_37, 0, x_35); +lean_ctor_set(x_37, 1, x_36); +return x_37; } } } } } } +LEAN_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___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* x_10, lean_object* x_11) { +_start: +{ +lean_object* x_12; +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_2); +x_12 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toExpr(x_1, x_2, x_5, x_6, 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; +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); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +x_15 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toExpr(x_3, x_2, x_5, x_6, x_7, x_8, x_9, x_10, x_14); +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_15, 0); +lean_inc(x_16); +x_17 = lean_ctor_get(x_15, 1); +lean_inc(x_17); +lean_dec(x_15); +x_18 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_mkOp(x_4, x_13, x_16, x_5, x_6, x_7, x_8, x_9, x_10, x_17); +return x_18; +} +else +{ +uint8_t x_19; +lean_dec(x_13); +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); +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; +} +} +} +else +{ +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); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_23 = !lean_is_exclusive(x_12); +if (x_23 == 0) +{ +return x_12; +} +else +{ +lean_object* x_24; lean_object* x_25; lean_object* x_26; +x_24 = lean_ctor_get(x_12, 0); +x_25 = lean_ctor_get(x_12, 1); +lean_inc(x_25); +lean_inc(x_24); +lean_dec(x_12); +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; +} +} +} +} +LEAN_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___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, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +_start: +{ +uint8_t x_12; lean_object* x_13; +x_12 = 0; +lean_inc(x_3); +x_13 = l_Lean_Elab_Term_mkTermInfo(x_1, x_2, x_4, x_3, x_3, x_12, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +lean_dec(x_3); +return x_13; +} +} static lean_object* _init_l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___closed__1() { _start: { @@ -9186,126 +9827,129 @@ _start: { if (lean_obj_tag(x_2) == 0) { -lean_object* x_13; lean_object* x_14; lean_object* x_15; +lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; x_13 = lean_ctor_get(x_2, 0); lean_inc(x_13); x_14 = lean_ctor_get(x_2, 1); lean_inc(x_14); +x_15 = lean_ctor_get(x_2, 2); +lean_inc(x_15); lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); -lean_inc(x_14); -x_15 = lean_infer_type(x_14, x_8, x_9, x_10, x_11, x_12); -if (lean_obj_tag(x_15) == 0) +lean_inc(x_15); +x_16 = lean_infer_type(x_15, x_8, x_9, x_10, x_11, x_12); +if (lean_obj_tag(x_16) == 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; uint8_t x_22; lean_object* x_23; lean_object* x_44; lean_object* x_45; lean_object* x_46; uint8_t x_47; -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; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; uint8_t x_23; lean_object* x_24; lean_object* x_45; lean_object* x_46; lean_object* x_47; uint8_t x_48; +x_17 = lean_ctor_get(x_16, 0); lean_inc(x_17); -lean_dec(x_15); -x_18 = l_Lean_instantiateMVars___at_Lean_Elab_Term_MVarErrorInfo_logError___spec__1(x_16, x_6, x_7, x_8, x_9, x_10, x_11, x_17); -x_19 = lean_ctor_get(x_18, 0); -lean_inc(x_19); -x_20 = lean_ctor_get(x_18, 1); +x_18 = lean_ctor_get(x_16, 1); +lean_inc(x_18); +lean_dec(x_16); +x_19 = l_Lean_instantiateMVars___at_Lean_Elab_Term_MVarErrorInfo_logError___spec__1(x_17, x_6, x_7, x_8, x_9, x_10, x_11, x_18); +x_20 = lean_ctor_get(x_19, 0); lean_inc(x_20); -lean_dec(x_18); -x_21 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_analyze_go___closed__2; -x_44 = lean_st_ref_get(x_11, x_20); -x_45 = lean_ctor_get(x_44, 0); -lean_inc(x_45); -x_46 = lean_ctor_get(x_45, 3); +x_21 = lean_ctor_get(x_19, 1); +lean_inc(x_21); +lean_dec(x_19); +x_22 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_analyze_go___closed__2; +x_45 = lean_st_ref_get(x_11, x_21); +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_22 = x_49; -x_23 = 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_23 = x_50; +x_24 = x_49; +goto block_44; } else { -lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; uint8_t x_54; -x_50 = lean_ctor_get(x_44, 1); -lean_inc(x_50); -lean_dec(x_44); -x_51 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_tryCoe___spec__2(x_21, 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); +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_45, 1); +lean_inc(x_51); +lean_dec(x_45); +x_52 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_tryCoe___spec__2(x_22, x_6, x_7, x_8, x_9, x_10, x_11, x_51); +x_53 = lean_ctor_get(x_52, 0); lean_inc(x_53); -lean_dec(x_51); -x_54 = lean_unbox(x_52); +x_54 = lean_ctor_get(x_52, 1); +lean_inc(x_54); lean_dec(x_52); -x_22 = x_54; -x_23 = x_53; -goto block_43; +x_55 = lean_unbox(x_53); +lean_dec(x_53); +x_23 = x_55; +x_24 = x_54; +goto block_44; } -block_43: +block_44: { -if (x_22 == 0) +if (x_23 == 0) { -lean_object* x_24; lean_object* x_25; -x_24 = lean_box(0); -x_25 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___lambda__3(x_1, x_19, x_13, x_14, x_21, x_2, x_3, x_4, x_24, x_6, x_7, x_8, x_9, x_10, x_11, x_23); -return x_25; +lean_object* x_25; lean_object* x_26; +x_25 = lean_box(0); +x_26 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___lambda__3(x_1, x_20, x_13, x_15, x_14, x_22, x_2, x_3, x_4, x_25, x_6, x_7, x_8, x_9, x_10, x_11, x_24); +return x_26; } 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; 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_inc(x_14); -x_26 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_26, 0, x_14); -x_27 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___closed__2; -x_28 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_28, 0, x_27); -lean_ctor_set(x_28, 1, x_26); -x_29 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___lambda__2___closed__4; -x_30 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_30, 0, x_28); -lean_ctor_set(x_30, 1, x_29); -lean_inc(x_19); -x_31 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_31, 0, x_19); -x_32 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_32, 0, x_30); -lean_ctor_set(x_32, 1, x_31); -x_33 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___closed__4; -x_34 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_34, 0, x_32); -lean_ctor_set(x_34, 1, x_33); +lean_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_inc(x_15); +x_27 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_27, 0, x_15); +x_28 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___closed__2; +x_29 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_29, 0, x_28); +lean_ctor_set(x_29, 1, x_27); +x_30 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___lambda__2___closed__4; +x_31 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_31, 0, x_29); +lean_ctor_set(x_31, 1, x_30); +lean_inc(x_20); +x_32 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_32, 0, x_20); +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___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___closed__4; +x_35 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_35, 0, x_33); +lean_ctor_set(x_35, 1, x_34); lean_inc(x_1); -x_35 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_35, 0, x_1); -x_36 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_36, 0, x_34); -lean_ctor_set(x_36, 1, x_35); -x_37 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_getMonadForIn___closed__6; -x_38 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_38, 0, x_36); -lean_ctor_set(x_38, 1, x_37); -x_39 = l_Lean_addTrace___at___private_Lean_Elab_Term_0__Lean_Elab_Term_tryCoe___spec__1(x_21, x_38, x_6, x_7, x_8, x_9, x_10, x_11, x_23); -x_40 = lean_ctor_get(x_39, 0); -lean_inc(x_40); -x_41 = lean_ctor_get(x_39, 1); +x_36 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_36, 0, x_1); +x_37 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_37, 0, x_35); +lean_ctor_set(x_37, 1, x_36); +x_38 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_getMonadForIn___closed__6; +x_39 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_39, 0, x_37); +lean_ctor_set(x_39, 1, x_38); +x_40 = l_Lean_addTrace___at___private_Lean_Elab_Term_0__Lean_Elab_Term_tryCoe___spec__1(x_22, x_39, x_6, x_7, x_8, x_9, x_10, x_11, x_24); +x_41 = lean_ctor_get(x_40, 0); lean_inc(x_41); -lean_dec(x_39); -x_42 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___lambda__3(x_1, x_19, x_13, x_14, x_21, x_2, x_3, x_4, x_40, x_6, x_7, x_8, x_9, x_10, x_11, x_41); -return x_42; +x_42 = lean_ctor_get(x_40, 1); +lean_inc(x_42); +lean_dec(x_40); +x_43 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___lambda__3(x_1, x_20, x_13, x_15, x_14, x_22, x_2, x_3, x_4, x_41, x_6, x_7, x_8, x_9, x_10, x_11, x_42); +return x_43; } } } else { -uint8_t x_55; +uint8_t x_56; +lean_dec(x_15); lean_dec(x_14); lean_dec(x_13); lean_dec(x_11); @@ -9317,194 +9961,165 @@ lean_dec(x_6); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_55 = !lean_is_exclusive(x_15); -if (x_55 == 0) +x_56 = !lean_is_exclusive(x_16); +if (x_56 == 0) { -return x_15; +return x_16; } else { -lean_object* x_56; lean_object* x_57; lean_object* x_58; -x_56 = lean_ctor_get(x_15, 0); -x_57 = lean_ctor_get(x_15, 1); +lean_object* x_57; lean_object* x_58; lean_object* x_59; +x_57 = lean_ctor_get(x_16, 0); +x_58 = lean_ctor_get(x_16, 1); +lean_inc(x_58); lean_inc(x_57); -lean_inc(x_56); -lean_dec(x_15); -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_16); +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; } } } else { -lean_object* x_59; uint8_t x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; uint8_t x_65; lean_object* x_66; +lean_object* x_60; lean_object* x_61; uint8_t x_62; 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_3); -x_59 = lean_ctor_get(x_2, 0); -lean_inc(x_59); -x_60 = lean_ctor_get_uint8(x_2, sizeof(void*)*4); +x_60 = lean_ctor_get(x_2, 0); +lean_inc(x_60); x_61 = lean_ctor_get(x_2, 1); lean_inc(x_61); -x_62 = lean_ctor_get(x_2, 2); -lean_inc(x_62); -x_63 = lean_ctor_get(x_2, 3); +x_62 = lean_ctor_get_uint8(x_2, sizeof(void*)*5); +x_63 = lean_ctor_get(x_2, 2); lean_inc(x_63); +x_64 = lean_ctor_get(x_2, 3); +lean_inc(x_64); +x_65 = lean_ctor_get(x_2, 4); +lean_inc(x_65); if (lean_is_exclusive(x_2)) { lean_ctor_release(x_2, 0); lean_ctor_release(x_2, 1); lean_ctor_release(x_2, 2); lean_ctor_release(x_2, 3); - x_64 = x_2; + lean_ctor_release(x_2, 4); + x_66 = x_2; } else { lean_dec_ref(x_2); - x_64 = lean_box(0); + x_66 = lean_box(0); } if (x_5 == 0) { -lean_object* x_117; lean_object* x_118; lean_object* x_119; uint8_t x_120; +lean_object* x_139; lean_object* x_140; lean_object* x_141; uint8_t x_142; lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); lean_inc(x_1); -x_117 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_hasHomogeneousInstance(x_61, x_1, x_8, x_9, x_10, x_11, x_12); -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_unbox(x_118); -lean_dec(x_118); -x_65 = x_120; -x_66 = x_119; -goto block_116; +x_139 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_hasHomogeneousInstance(x_63, x_1, x_8, x_9, x_10, x_11, x_12); +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_67 = x_142; +x_68 = x_141; +goto block_138; } else { -x_65 = x_5; -x_66 = x_12; -goto block_116; +x_67 = x_5; +x_68 = x_12; +goto block_138; } -block_116: +block_138: { -if (x_65 == 0) +if (x_67 == 0) { -lean_object* x_67; lean_object* x_68; -lean_dec(x_64); +lean_object* x_69; lean_object* x_70; lean_object* x_71; uint8_t x_72; +lean_dec(x_66); lean_dec(x_1); -x_67 = lean_box(0); +x_69 = lean_box(0); +x_70 = lean_alloc_closure((void*)(l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___lambda__4), 11, 4); +lean_closure_set(x_70, 0, x_64); +lean_closure_set(x_70, 1, x_69); +lean_closure_set(x_70, 2, x_65); +lean_closure_set(x_70, 3, x_63); +lean_inc(x_60); +x_71 = lean_alloc_closure((void*)(l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___lambda__5___boxed), 11, 3); +lean_closure_set(x_71, 0, x_61); +lean_closure_set(x_71, 1, x_60); +lean_closure_set(x_71, 2, x_69); +x_72 = !lean_is_exclusive(x_10); +if (x_72 == 0) +{ +lean_object* x_73; lean_object* x_74; lean_object* x_75; +x_73 = lean_ctor_get(x_10, 5); +x_74 = l_Lean_replaceRef(x_60, x_73); +lean_dec(x_73); +lean_ctor_set(x_10, 5, x_74); 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_68 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toExpr(x_62, x_67, x_6, x_7, x_8, x_9, x_10, x_11, x_66); -if (lean_obj_tag(x_68) == 0) +lean_inc(x_60); +x_75 = l_Lean_Elab_Term_withInfoContext_x27(x_60, x_70, x_71, x_6, x_7, x_8, x_9, x_10, x_11, x_68); +if (lean_obj_tag(x_75) == 0) { -lean_object* x_69; lean_object* x_70; lean_object* x_71; -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); -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___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toExpr(x_63, x_67, x_6, x_7, x_8, x_9, x_10, x_11, x_70); -if (lean_obj_tag(x_71) == 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); +x_78 = l_Lean_Elab_getResetInfoTrees___at_Lean_Elab_Term_withoutModifyingElabMetaStateWithInfo___spec__2___rarg(x_11, x_77); +lean_dec(x_11); +x_79 = !lean_is_exclusive(x_78); +if (x_79 == 0) { -lean_object* x_72; lean_object* x_73; lean_object* x_74; -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); -x_74 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_mkOp(x_61, x_69, x_72, x_6, x_7, x_8, x_9, x_10, x_11, x_73); -if (lean_obj_tag(x_74) == 0) -{ -uint8_t x_75; -x_75 = !lean_is_exclusive(x_74); -if (x_75 == 0) -{ -lean_object* x_76; lean_object* x_77; -x_76 = lean_ctor_get(x_74, 0); -x_77 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_77, 0, x_59); -lean_ctor_set(x_77, 1, x_76); -lean_ctor_set(x_74, 0, x_77); -return x_74; +lean_object* x_80; lean_object* x_81; +x_80 = lean_ctor_get(x_78, 0); +x_81 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_81, 0, x_60); +lean_ctor_set(x_81, 1, x_80); +lean_ctor_set(x_81, 2, x_76); +lean_ctor_set(x_78, 0, x_81); +return x_78; } else { -lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; -x_78 = lean_ctor_get(x_74, 0); -x_79 = lean_ctor_get(x_74, 1); -lean_inc(x_79); -lean_inc(x_78); -lean_dec(x_74); -x_80 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_80, 0, x_59); -lean_ctor_set(x_80, 1, x_78); -x_81 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_81, 0, x_80); -lean_ctor_set(x_81, 1, x_79); -return x_81; -} -} -else -{ -uint8_t x_82; -lean_dec(x_59); -x_82 = !lean_is_exclusive(x_74); -if (x_82 == 0) -{ -return x_74; -} -else -{ -lean_object* x_83; lean_object* x_84; lean_object* x_85; -x_83 = lean_ctor_get(x_74, 0); -x_84 = lean_ctor_get(x_74, 1); -lean_inc(x_84); +lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; +x_82 = lean_ctor_get(x_78, 0); +x_83 = lean_ctor_get(x_78, 1); lean_inc(x_83); -lean_dec(x_74); -x_85 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_85, 0, x_83); -lean_ctor_set(x_85, 1, x_84); +lean_inc(x_82); +lean_dec(x_78); +x_84 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_84, 0, x_60); +lean_ctor_set(x_84, 1, x_82); +lean_ctor_set(x_84, 2, x_76); +x_85 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_85, 0, x_84); +lean_ctor_set(x_85, 1, x_83); return x_85; } } -} else { uint8_t x_86; -lean_dec(x_69); -lean_dec(x_61); -lean_dec(x_59); +lean_dec(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); -x_86 = !lean_is_exclusive(x_71); +x_86 = !lean_is_exclusive(x_75); if (x_86 == 0) { -return x_71; +return x_75; } else { lean_object* x_87; lean_object* x_88; lean_object* x_89; -x_87 = lean_ctor_get(x_71, 0); -x_88 = lean_ctor_get(x_71, 1); +x_87 = lean_ctor_get(x_75, 0); +x_88 = lean_ctor_get(x_75, 1); lean_inc(x_88); lean_inc(x_87); -lean_dec(x_71); +lean_dec(x_75); x_89 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_89, 0, x_87); lean_ctor_set(x_89, 1, x_88); @@ -9514,142 +10129,220 @@ return x_89; } else { -uint8_t x_90; -lean_dec(x_63); -lean_dec(x_61); -lean_dec(x_59); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -x_90 = !lean_is_exclusive(x_68); -if (x_90 == 0) -{ -return x_68; -} -else -{ -lean_object* x_91; lean_object* x_92; lean_object* x_93; -x_91 = lean_ctor_get(x_68, 0); -x_92 = lean_ctor_get(x_68, 1); +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; +x_90 = lean_ctor_get(x_10, 0); +x_91 = lean_ctor_get(x_10, 1); +x_92 = lean_ctor_get(x_10, 2); +x_93 = lean_ctor_get(x_10, 3); +x_94 = lean_ctor_get(x_10, 4); +x_95 = lean_ctor_get(x_10, 5); +x_96 = lean_ctor_get(x_10, 6); +x_97 = lean_ctor_get(x_10, 7); +x_98 = lean_ctor_get(x_10, 8); +x_99 = lean_ctor_get(x_10, 9); +x_100 = lean_ctor_get(x_10, 10); +lean_inc(x_100); +lean_inc(x_99); +lean_inc(x_98); +lean_inc(x_97); +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_dec(x_68); -x_93 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_93, 0, x_91); -lean_ctor_set(x_93, 1, x_92); -return x_93; +lean_inc(x_90); +lean_dec(x_10); +x_101 = l_Lean_replaceRef(x_60, x_95); +lean_dec(x_95); +x_102 = lean_alloc_ctor(0, 11, 0); +lean_ctor_set(x_102, 0, x_90); +lean_ctor_set(x_102, 1, x_91); +lean_ctor_set(x_102, 2, x_92); +lean_ctor_set(x_102, 3, x_93); +lean_ctor_set(x_102, 4, x_94); +lean_ctor_set(x_102, 5, x_101); +lean_ctor_set(x_102, 6, x_96); +lean_ctor_set(x_102, 7, x_97); +lean_ctor_set(x_102, 8, x_98); +lean_ctor_set(x_102, 9, x_99); +lean_ctor_set(x_102, 10, x_100); +lean_inc(x_11); +lean_inc(x_60); +x_103 = l_Lean_Elab_Term_withInfoContext_x27(x_60, x_70, x_71, x_6, x_7, x_8, x_9, x_102, x_11, x_68); +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; lean_object* x_109; lean_object* x_110; lean_object* x_111; +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_getResetInfoTrees___at_Lean_Elab_Term_withoutModifyingElabMetaStateWithInfo___spec__2___rarg(x_11, x_105); +lean_dec(x_11); +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_106); + x_109 = lean_box(0); +} +x_110 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_110, 0, x_60); +lean_ctor_set(x_110, 1, x_107); +lean_ctor_set(x_110, 2, x_104); +if (lean_is_scalar(x_109)) { + x_111 = lean_alloc_ctor(0, 2, 0); +} else { + x_111 = x_109; +} +lean_ctor_set(x_111, 0, x_110); +lean_ctor_set(x_111, 1, x_108); +return x_111; +} +else +{ +lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; +lean_dec(x_60); +lean_dec(x_11); +x_112 = lean_ctor_get(x_103, 0); +lean_inc(x_112); +x_113 = lean_ctor_get(x_103, 1); +lean_inc(x_113); +if (lean_is_exclusive(x_103)) { + lean_ctor_release(x_103, 0); + lean_ctor_release(x_103, 1); + x_114 = x_103; +} else { + lean_dec_ref(x_103); + x_114 = lean_box(0); +} +if (lean_is_scalar(x_114)) { + x_115 = lean_alloc_ctor(1, 2, 0); +} else { + x_115 = x_114; +} +lean_ctor_set(x_115, 0, x_112); +lean_ctor_set(x_115, 1, x_113); +return x_115; } } } else { -lean_object* x_94; uint8_t x_95; uint8_t x_96; lean_object* x_97; -lean_inc(x_61); -x_94 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_94, 0, x_61); -x_95 = 1; -x_96 = 0; +lean_object* x_116; uint8_t x_117; uint8_t x_118; lean_object* x_119; +lean_inc(x_63); +x_116 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_116, 0, x_63); +x_117 = 1; +x_118 = 0; lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); -lean_inc(x_94); +lean_inc(x_116); lean_inc(x_1); -x_97 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go(x_1, x_62, x_94, x_95, x_96, x_6, x_7, x_8, x_9, x_10, x_11, x_66); -if (lean_obj_tag(x_97) == 0) +x_119 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go(x_1, x_64, x_116, x_117, x_118, x_6, x_7, x_8, x_9, x_10, x_11, x_68); +if (lean_obj_tag(x_119) == 0) { -lean_object* x_98; lean_object* x_99; lean_object* x_100; -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 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go(x_1, x_63, x_94, x_96, x_96, x_6, x_7, x_8, x_9, x_10, x_11, x_99); -if (lean_obj_tag(x_100) == 0) +lean_object* x_120; lean_object* x_121; lean_object* x_122; +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 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go(x_1, x_65, x_116, x_118, x_118, x_6, x_7, x_8, x_9, x_10, x_11, x_121); +if (lean_obj_tag(x_122) == 0) { -uint8_t x_101; -x_101 = !lean_is_exclusive(x_100); -if (x_101 == 0) +uint8_t x_123; +x_123 = !lean_is_exclusive(x_122); +if (x_123 == 0) { -lean_object* x_102; lean_object* x_103; -x_102 = lean_ctor_get(x_100, 0); -if (lean_is_scalar(x_64)) { - x_103 = lean_alloc_ctor(1, 4, 1); +lean_object* x_124; lean_object* x_125; +x_124 = lean_ctor_get(x_122, 0); +if (lean_is_scalar(x_66)) { + x_125 = lean_alloc_ctor(1, 5, 1); } else { - x_103 = x_64; + x_125 = x_66; } -lean_ctor_set(x_103, 0, x_59); -lean_ctor_set(x_103, 1, x_61); -lean_ctor_set(x_103, 2, x_98); -lean_ctor_set(x_103, 3, x_102); -lean_ctor_set_uint8(x_103, sizeof(void*)*4, x_60); -lean_ctor_set(x_100, 0, x_103); -return x_100; +lean_ctor_set(x_125, 0, x_60); +lean_ctor_set(x_125, 1, x_61); +lean_ctor_set(x_125, 2, x_63); +lean_ctor_set(x_125, 3, x_120); +lean_ctor_set(x_125, 4, x_124); +lean_ctor_set_uint8(x_125, sizeof(void*)*5, x_62); +lean_ctor_set(x_122, 0, x_125); +return x_122; } else { -lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; -x_104 = lean_ctor_get(x_100, 0); -x_105 = lean_ctor_get(x_100, 1); -lean_inc(x_105); -lean_inc(x_104); -lean_dec(x_100); -if (lean_is_scalar(x_64)) { - x_106 = lean_alloc_ctor(1, 4, 1); +lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129; +x_126 = lean_ctor_get(x_122, 0); +x_127 = lean_ctor_get(x_122, 1); +lean_inc(x_127); +lean_inc(x_126); +lean_dec(x_122); +if (lean_is_scalar(x_66)) { + x_128 = lean_alloc_ctor(1, 5, 1); } else { - x_106 = x_64; + x_128 = x_66; } -lean_ctor_set(x_106, 0, x_59); -lean_ctor_set(x_106, 1, x_61); -lean_ctor_set(x_106, 2, x_98); -lean_ctor_set(x_106, 3, x_104); -lean_ctor_set_uint8(x_106, sizeof(void*)*4, x_60); -x_107 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_107, 0, x_106); -lean_ctor_set(x_107, 1, x_105); -return x_107; +lean_ctor_set(x_128, 0, x_60); +lean_ctor_set(x_128, 1, x_61); +lean_ctor_set(x_128, 2, x_63); +lean_ctor_set(x_128, 3, x_120); +lean_ctor_set(x_128, 4, x_126); +lean_ctor_set_uint8(x_128, sizeof(void*)*5, x_62); +x_129 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_129, 0, x_128); +lean_ctor_set(x_129, 1, x_127); +return x_129; } } else { -uint8_t x_108; -lean_dec(x_98); -lean_dec(x_64); -lean_dec(x_61); -lean_dec(x_59); -x_108 = !lean_is_exclusive(x_100); -if (x_108 == 0) -{ -return x_100; -} -else -{ -lean_object* x_109; lean_object* x_110; lean_object* x_111; -x_109 = lean_ctor_get(x_100, 0); -x_110 = lean_ctor_get(x_100, 1); -lean_inc(x_110); -lean_inc(x_109); -lean_dec(x_100); -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; -} -} -} -else -{ -uint8_t x_112; -lean_dec(x_94); -lean_dec(x_64); +uint8_t x_130; +lean_dec(x_120); +lean_dec(x_66); lean_dec(x_63); lean_dec(x_61); -lean_dec(x_59); +lean_dec(x_60); +x_130 = !lean_is_exclusive(x_122); +if (x_130 == 0) +{ +return x_122; +} +else +{ +lean_object* x_131; lean_object* x_132; lean_object* x_133; +x_131 = lean_ctor_get(x_122, 0); +x_132 = lean_ctor_get(x_122, 1); +lean_inc(x_132); +lean_inc(x_131); +lean_dec(x_122); +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_116); +lean_dec(x_66); +lean_dec(x_65); +lean_dec(x_63); +lean_dec(x_61); +lean_dec(x_60); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); @@ -9657,23 +10350,23 @@ lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_1); -x_112 = !lean_is_exclusive(x_97); -if (x_112 == 0) +x_134 = !lean_is_exclusive(x_119); +if (x_134 == 0) { -return x_97; +return x_119; } else { -lean_object* x_113; lean_object* x_114; lean_object* x_115; -x_113 = lean_ctor_get(x_97, 0); -x_114 = lean_ctor_get(x_97, 1); -lean_inc(x_114); -lean_inc(x_113); -lean_dec(x_97); -x_115 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_115, 0, x_113); -lean_ctor_set(x_115, 1, x_114); -return x_115; +lean_object* x_135; lean_object* x_136; lean_object* x_137; +x_135 = lean_ctor_get(x_119, 0); +x_136 = lean_ctor_get(x_119, 1); +lean_inc(x_136); +lean_inc(x_135); +lean_dec(x_119); +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; } } } @@ -10420,23 +11113,54 @@ x_13 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go(x_2, x_1, return x_13; } } -LEAN_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___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) { +LEAN_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___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, lean_object* x_13) { _start: { -lean_object* x_13; -x_13 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___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); -lean_dec(x_5); -return x_13; +lean_object* x_14; +x_14 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___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, x_13); +lean_dec(x_6); +return x_14; } } -LEAN_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___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, 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_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___lambda__3___boxed(lean_object** _args) { +lean_object* x_1 = _args[0]; +lean_object* x_2 = _args[1]; +lean_object* x_3 = _args[2]; +lean_object* x_4 = _args[3]; +lean_object* x_5 = _args[4]; +lean_object* x_6 = _args[5]; +lean_object* x_7 = _args[6]; +lean_object* x_8 = _args[7]; +lean_object* x_9 = _args[8]; +lean_object* x_10 = _args[9]; +lean_object* x_11 = _args[10]; +lean_object* x_12 = _args[11]; +lean_object* x_13 = _args[12]; +lean_object* x_14 = _args[13]; +lean_object* x_15 = _args[14]; +lean_object* x_16 = _args[15]; +lean_object* x_17 = _args[16]; _start: { -uint8_t x_17; lean_object* x_18; -x_17 = lean_unbox(x_8); +uint8_t x_18; lean_object* x_19; +x_18 = lean_unbox(x_9); +lean_dec(x_9); +x_19 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___lambda__3(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_18, x_10, x_11, x_12, x_13, x_14, x_15, x_16, x_17); +return x_19; +} +} +LEAN_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___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* x_10, lean_object* x_11) { +_start: +{ +lean_object* x_12; +x_12 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___lambda__5(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); -x_18 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___lambda__3(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_17, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16); -return x_18; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +return x_12; } } LEAN_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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) { @@ -10583,7 +11307,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_BinOp_elabBinOp_declRang _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(330u); +x_1 = lean_unsigned_to_nat(368u); x_2 = lean_unsigned_to_nat(0u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -10595,7 +11319,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_BinOp_elabBinOp_declRang _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(331u); +x_1 = lean_unsigned_to_nat(369u); x_2 = lean_unsigned_to_nat(37u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -10623,7 +11347,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_BinOp_elabBinOp_declRang _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(330u); +x_1 = lean_unsigned_to_nat(368u); x_2 = lean_unsigned_to_nat(4u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -10635,7 +11359,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_BinOp_elabBinOp_declRang _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(330u); +x_1 = lean_unsigned_to_nat(368u); x_2 = lean_unsigned_to_nat(13u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -10731,7 +11455,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_BinOp_elabBinOpLazy_decl _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(334u); +x_1 = lean_unsigned_to_nat(372u); x_2 = lean_unsigned_to_nat(0u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -10743,7 +11467,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_BinOp_elabBinOpLazy_decl _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(334u); +x_1 = lean_unsigned_to_nat(372u); x_2 = lean_unsigned_to_nat(41u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -10771,7 +11495,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_BinOp_elabBinOpLazy_decl _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(334u); +x_1 = lean_unsigned_to_nat(372u); x_2 = lean_unsigned_to_nat(4u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -10783,7 +11507,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_BinOp_elabBinOpLazy_decl _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(334u); +x_1 = lean_unsigned_to_nat(372u); x_2 = lean_unsigned_to_nat(17u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -11957,175 +12681,177 @@ lean_inc(x_6); x_33 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree(x_30, x_6, x_7, x_8, x_9, x_32, x_11, x_28); if (lean_obj_tag(x_33) == 0) { -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_34; lean_object* x_35; lean_object* x_36; uint8_t x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; 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_36 = 0; +x_36 = lean_box(0); +x_37 = 0; lean_inc(x_34); lean_inc(x_27); lean_inc(x_3); -x_37 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_37, 0, x_2); -lean_ctor_set(x_37, 1, x_3); -lean_ctor_set(x_37, 2, x_27); -lean_ctor_set(x_37, 3, x_34); -lean_ctor_set_uint8(x_37, sizeof(void*)*4, x_36); -x_38 = lean_box(0); +x_38 = lean_alloc_ctor(1, 5, 1); +lean_ctor_set(x_38, 0, x_2); +lean_ctor_set(x_38, 1, x_36); +lean_ctor_set(x_38, 2, x_3); +lean_ctor_set(x_38, 3, x_27); +lean_ctor_set(x_38, 4, x_34); +lean_ctor_set_uint8(x_38, sizeof(void*)*5, x_37); +x_39 = lean_box(0); lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); -lean_inc(x_37); -x_39 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_analyze(x_37, x_38, x_6, x_7, x_8, x_9, x_10, x_11, x_35); -if (lean_obj_tag(x_39) == 0) +lean_inc(x_38); +x_40 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_analyze(x_38, x_39, x_6, x_7, x_8, x_9, x_10, x_11, x_35); +if (lean_obj_tag(x_40) == 0) { -lean_object* x_40; lean_object* x_41; lean_object* x_42; uint8_t x_43; lean_object* x_44; lean_object* x_81; lean_object* x_82; lean_object* x_83; uint8_t x_84; -x_40 = lean_ctor_get(x_39, 0); -lean_inc(x_40); -x_41 = lean_ctor_get(x_39, 1); +lean_object* x_41; lean_object* x_42; lean_object* x_43; uint8_t x_44; lean_object* x_45; lean_object* x_82; lean_object* x_83; lean_object* x_84; uint8_t x_85; +x_41 = lean_ctor_get(x_40, 0); lean_inc(x_41); -lean_dec(x_39); -x_42 = l_Lean_Elab_Term_BinOp_elabBinRelCore___lambda__3___closed__2; -x_81 = lean_st_ref_get(x_11, x_41); -x_82 = lean_ctor_get(x_81, 0); -lean_inc(x_82); -x_83 = lean_ctor_get(x_82, 3); +x_42 = lean_ctor_get(x_40, 1); +lean_inc(x_42); +lean_dec(x_40); +x_43 = l_Lean_Elab_Term_BinOp_elabBinRelCore___lambda__3___closed__2; +x_82 = lean_st_ref_get(x_11, x_42); +x_83 = lean_ctor_get(x_82, 0); lean_inc(x_83); -lean_dec(x_82); -x_84 = lean_ctor_get_uint8(x_83, sizeof(void*)*1); +x_84 = lean_ctor_get(x_83, 3); +lean_inc(x_84); lean_dec(x_83); -if (x_84 == 0) +x_85 = lean_ctor_get_uint8(x_84, sizeof(void*)*1); +lean_dec(x_84); +if (x_85 == 0) { -lean_object* x_85; -x_85 = lean_ctor_get(x_81, 1); -lean_inc(x_85); -lean_dec(x_81); -x_43 = x_36; -x_44 = x_85; -goto block_80; -} -else -{ -lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; uint8_t x_90; -x_86 = lean_ctor_get(x_81, 1); +lean_object* x_86; +x_86 = lean_ctor_get(x_82, 1); lean_inc(x_86); -lean_dec(x_81); -x_87 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_tryCoe___spec__2(x_42, x_6, x_7, x_8, x_9, x_10, x_11, x_86); -x_88 = lean_ctor_get(x_87, 0); -lean_inc(x_88); -x_89 = lean_ctor_get(x_87, 1); +lean_dec(x_82); +x_44 = x_37; +x_45 = x_86; +goto block_81; +} +else +{ +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_82, 1); +lean_inc(x_87); +lean_dec(x_82); +x_88 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_tryCoe___spec__2(x_43, 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); -lean_dec(x_87); -x_90 = lean_unbox(x_88); +x_90 = lean_ctor_get(x_88, 1); +lean_inc(x_90); lean_dec(x_88); -x_43 = x_90; -x_44 = x_89; -goto block_80; +x_91 = lean_unbox(x_89); +lean_dec(x_89); +x_44 = x_91; +x_45 = x_90; +goto block_81; } -block_80: +block_81: { -if (x_43 == 0) +if (x_44 == 0) { -lean_object* x_45; lean_object* x_46; -x_45 = lean_box(0); -x_46 = l_Lean_Elab_Term_BinOp_elabBinRelCore___lambda__2(x_27, x_34, x_4, x_38, x_3, x_5, x_40, x_37, x_42, x_45, x_6, x_7, x_8, x_9, x_10, x_11, x_44); -return x_46; +lean_object* x_46; lean_object* x_47; +x_46 = lean_box(0); +x_47 = l_Lean_Elab_Term_BinOp_elabBinRelCore___lambda__2(x_27, x_34, x_4, x_39, x_3, x_5, x_41, x_38, x_43, x_46, x_6, x_7, x_8, x_9, x_10, x_11, x_45); +return x_47; } else { -uint8_t x_47; -x_47 = lean_ctor_get_uint8(x_40, sizeof(void*)*1); -if (x_47 == 0) +uint8_t x_48; +x_48 = lean_ctor_get_uint8(x_41, sizeof(void*)*1); +if (x_48 == 0) { -lean_object* x_48; -x_48 = lean_ctor_get(x_40, 0); -lean_inc(x_48); -if (lean_obj_tag(x_48) == 0) +lean_object* x_49; +x_49 = lean_ctor_get(x_41, 0); +lean_inc(x_49); +if (lean_obj_tag(x_49) == 0) { -lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; -x_49 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toExpr___closed__14; -x_50 = l_Lean_addTrace___at___private_Lean_Elab_Term_0__Lean_Elab_Term_tryCoe___spec__1(x_42, x_49, x_6, x_7, x_8, x_9, x_10, x_11, x_44); -x_51 = lean_ctor_get(x_50, 0); -lean_inc(x_51); -x_52 = lean_ctor_get(x_50, 1); +lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; +x_50 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toExpr___closed__14; +x_51 = l_Lean_addTrace___at___private_Lean_Elab_Term_0__Lean_Elab_Term_tryCoe___spec__1(x_43, x_50, x_6, x_7, x_8, x_9, x_10, x_11, x_45); +x_52 = lean_ctor_get(x_51, 0); lean_inc(x_52); -lean_dec(x_50); -x_53 = l_Lean_Elab_Term_BinOp_elabBinRelCore___lambda__2(x_27, x_34, x_4, x_38, x_3, x_5, x_40, x_37, x_42, x_51, x_6, x_7, x_8, x_9, x_10, x_11, x_52); -return x_53; +x_53 = lean_ctor_get(x_51, 1); +lean_inc(x_53); +lean_dec(x_51); +x_54 = l_Lean_Elab_Term_BinOp_elabBinRelCore___lambda__2(x_27, x_34, x_4, x_39, x_3, x_5, x_41, x_38, x_43, x_52, x_6, x_7, x_8, x_9, x_10, x_11, x_53); +return x_54; } 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; lean_object* x_61; lean_object* x_62; lean_object* x_63; -x_54 = lean_ctor_get(x_48, 0); -lean_inc(x_54); -lean_dec(x_48); -x_55 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_55, 0, x_54); -x_56 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toExpr___closed__9; -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___private_Lean_Elab_Extra_0__Lean_Elab_Term_getMonadForIn___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 = l_Lean_addTrace___at___private_Lean_Elab_Term_0__Lean_Elab_Term_tryCoe___spec__1(x_42, x_59, x_6, x_7, x_8, x_9, x_10, x_11, x_44); -x_61 = lean_ctor_get(x_60, 0); -lean_inc(x_61); -x_62 = lean_ctor_get(x_60, 1); +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; +x_55 = lean_ctor_get(x_49, 0); +lean_inc(x_55); +lean_dec(x_49); +x_56 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_56, 0, x_55); +x_57 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toExpr___closed__9; +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___private_Lean_Elab_Extra_0__Lean_Elab_Term_getMonadForIn___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 = l_Lean_addTrace___at___private_Lean_Elab_Term_0__Lean_Elab_Term_tryCoe___spec__1(x_43, x_60, x_6, x_7, x_8, x_9, x_10, x_11, x_45); +x_62 = lean_ctor_get(x_61, 0); lean_inc(x_62); -lean_dec(x_60); -x_63 = l_Lean_Elab_Term_BinOp_elabBinRelCore___lambda__2(x_27, x_34, x_4, x_38, x_3, x_5, x_40, x_37, x_42, x_61, x_6, x_7, x_8, x_9, x_10, x_11, x_62); -return x_63; +x_63 = lean_ctor_get(x_61, 1); +lean_inc(x_63); +lean_dec(x_61); +x_64 = l_Lean_Elab_Term_BinOp_elabBinRelCore___lambda__2(x_27, x_34, x_4, x_39, x_3, x_5, x_41, x_38, x_43, x_62, x_6, x_7, x_8, x_9, x_10, x_11, x_63); +return x_64; } } else { -lean_object* x_64; -x_64 = lean_ctor_get(x_40, 0); -lean_inc(x_64); -if (lean_obj_tag(x_64) == 0) +lean_object* x_65; +x_65 = lean_ctor_get(x_41, 0); +lean_inc(x_65); +if (lean_obj_tag(x_65) == 0) { -lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; -x_65 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toExpr___closed__21; -x_66 = l_Lean_addTrace___at___private_Lean_Elab_Term_0__Lean_Elab_Term_tryCoe___spec__1(x_42, x_65, x_6, x_7, x_8, x_9, x_10, x_11, x_44); -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; +x_66 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toExpr___closed__21; +x_67 = l_Lean_addTrace___at___private_Lean_Elab_Term_0__Lean_Elab_Term_tryCoe___spec__1(x_43, x_66, x_6, x_7, x_8, x_9, x_10, x_11, x_45); +x_68 = lean_ctor_get(x_67, 0); lean_inc(x_68); -lean_dec(x_66); -x_69 = l_Lean_Elab_Term_BinOp_elabBinRelCore___lambda__2(x_27, x_34, x_4, x_38, x_3, x_5, x_40, x_37, x_42, x_67, x_6, x_7, x_8, x_9, x_10, x_11, x_68); -return x_69; +x_69 = lean_ctor_get(x_67, 1); +lean_inc(x_69); +lean_dec(x_67); +x_70 = l_Lean_Elab_Term_BinOp_elabBinRelCore___lambda__2(x_27, x_34, x_4, x_39, x_3, x_5, x_41, x_38, x_43, x_68, x_6, x_7, x_8, x_9, x_10, x_11, x_69); +return x_70; } 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; -x_70 = lean_ctor_get(x_64, 0); -lean_inc(x_70); -lean_dec(x_64); -x_71 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_71, 0, x_70); -x_72 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toExpr___closed__19; -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___private_Lean_Elab_Extra_0__Lean_Elab_Term_getMonadForIn___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 = l_Lean_addTrace___at___private_Lean_Elab_Term_0__Lean_Elab_Term_tryCoe___spec__1(x_42, x_75, x_6, x_7, x_8, x_9, x_10, x_11, x_44); -x_77 = lean_ctor_get(x_76, 0); -lean_inc(x_77); -x_78 = lean_ctor_get(x_76, 1); +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; +x_71 = lean_ctor_get(x_65, 0); +lean_inc(x_71); +lean_dec(x_65); +x_72 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_72, 0, x_71); +x_73 = l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toExpr___closed__19; +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_Elab_Extra_0__Lean_Elab_Term_getMonadForIn___closed__6; +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_addTrace___at___private_Lean_Elab_Term_0__Lean_Elab_Term_tryCoe___spec__1(x_43, x_76, x_6, x_7, x_8, x_9, x_10, x_11, x_45); +x_78 = lean_ctor_get(x_77, 0); lean_inc(x_78); -lean_dec(x_76); -x_79 = l_Lean_Elab_Term_BinOp_elabBinRelCore___lambda__2(x_27, x_34, x_4, x_38, x_3, x_5, x_40, x_37, x_42, x_77, x_6, x_7, x_8, x_9, x_10, x_11, x_78); -return x_79; +x_79 = lean_ctor_get(x_77, 1); +lean_inc(x_79); +lean_dec(x_77); +x_80 = l_Lean_Elab_Term_BinOp_elabBinRelCore___lambda__2(x_27, x_34, x_4, x_39, x_3, x_5, x_41, x_38, x_43, x_78, x_6, x_7, x_8, x_9, x_10, x_11, x_79); +return x_80; } } } @@ -12133,8 +12859,8 @@ return x_79; } else { -uint8_t x_91; -lean_dec(x_37); +uint8_t x_92; +lean_dec(x_38); lean_dec(x_34); lean_dec(x_27); lean_dec(x_11); @@ -12145,29 +12871,29 @@ lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_3); -x_91 = !lean_is_exclusive(x_39); -if (x_91 == 0) +x_92 = !lean_is_exclusive(x_40); +if (x_92 == 0) { -return x_39; +return x_40; } else { -lean_object* x_92; lean_object* x_93; lean_object* x_94; -x_92 = lean_ctor_get(x_39, 0); -x_93 = lean_ctor_get(x_39, 1); +lean_object* x_93; lean_object* x_94; lean_object* x_95; +x_93 = lean_ctor_get(x_40, 0); +x_94 = lean_ctor_get(x_40, 1); +lean_inc(x_94); lean_inc(x_93); -lean_inc(x_92); -lean_dec(x_39); -x_94 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_94, 0, x_92); -lean_ctor_set(x_94, 1, x_93); -return x_94; +lean_dec(x_40); +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; } } } else { -uint8_t x_95; +uint8_t x_96; lean_dec(x_27); lean_dec(x_11); lean_dec(x_10); @@ -12178,29 +12904,29 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_3); lean_dec(x_2); -x_95 = !lean_is_exclusive(x_33); -if (x_95 == 0) +x_96 = !lean_is_exclusive(x_33); +if (x_96 == 0) { return x_33; } else { -lean_object* x_96; lean_object* x_97; lean_object* x_98; -x_96 = lean_ctor_get(x_33, 0); -x_97 = lean_ctor_get(x_33, 1); +lean_object* x_97; lean_object* x_98; lean_object* x_99; +x_97 = lean_ctor_get(x_33, 0); +x_98 = lean_ctor_get(x_33, 1); +lean_inc(x_98); lean_inc(x_97); -lean_inc(x_96); lean_dec(x_33); -x_98 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_98, 0, x_96); -lean_ctor_set(x_98, 1, x_97); -return x_98; +x_99 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_99, 0, x_97); +lean_ctor_set(x_99, 1, x_98); +return x_99; } } } else { -uint8_t x_99; +uint8_t x_100; lean_dec(x_23); lean_dec(x_22); lean_dec(x_21); @@ -12221,23 +12947,23 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_3); lean_dec(x_2); -x_99 = !lean_is_exclusive(x_26); -if (x_99 == 0) +x_100 = !lean_is_exclusive(x_26); +if (x_100 == 0) { return x_26; } else { -lean_object* x_100; lean_object* x_101; lean_object* x_102; -x_100 = lean_ctor_get(x_26, 0); -x_101 = lean_ctor_get(x_26, 1); +lean_object* x_101; lean_object* x_102; lean_object* x_103; +x_101 = lean_ctor_get(x_26, 0); +x_102 = lean_ctor_get(x_26, 1); +lean_inc(x_102); lean_inc(x_101); -lean_inc(x_100); lean_dec(x_26); -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; +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; } } } @@ -12468,7 +13194,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_BinOp_elabBinRel_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(380u); +x_1 = lean_unsigned_to_nat(418u); x_2 = lean_unsigned_to_nat(26u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -12480,7 +13206,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_BinOp_elabBinRel_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(380u); +x_1 = lean_unsigned_to_nat(418u); x_2 = lean_unsigned_to_nat(75u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -12508,7 +13234,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_BinOp_elabBinRel_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(380u); +x_1 = lean_unsigned_to_nat(418u); x_2 = lean_unsigned_to_nat(30u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -12520,7 +13246,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_BinOp_elabBinRel_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(380u); +x_1 = lean_unsigned_to_nat(418u); x_2 = lean_unsigned_to_nat(40u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -12635,7 +13361,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_BinOp_elabBinRelNoProp_d _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(382u); +x_1 = lean_unsigned_to_nat(420u); x_2 = lean_unsigned_to_nat(34u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -12647,7 +13373,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_BinOp_elabBinRelNoProp_d _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(382u); +x_1 = lean_unsigned_to_nat(420u); x_2 = lean_unsigned_to_nat(88u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -12675,7 +13401,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_BinOp_elabBinRelNoProp_d _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(382u); +x_1 = lean_unsigned_to_nat(420u); x_2 = lean_unsigned_to_nat(38u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -12687,7 +13413,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_BinOp_elabBinRelNoProp_d _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(382u); +x_1 = lean_unsigned_to_nat(420u); x_2 = lean_unsigned_to_nat(54u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -12996,7 +13722,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_BinOp_elabDefaultOrNonem _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(385u); +x_1 = lean_unsigned_to_nat(423u); x_2 = lean_unsigned_to_nat(0u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -13008,7 +13734,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_BinOp_elabDefaultOrNonem _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(400u); +x_1 = lean_unsigned_to_nat(438u); x_2 = lean_unsigned_to_nat(34u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -13036,7 +13762,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_BinOp_elabDefaultOrNonem _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(385u); +x_1 = lean_unsigned_to_nat(423u); x_2 = lean_unsigned_to_nat(4u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -13048,7 +13774,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_BinOp_elabDefaultOrNonem _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(385u); +x_1 = lean_unsigned_to_nat(423u); x_2 = lean_unsigned_to_nat(25u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -13094,7 +13820,7 @@ x_4 = l_Lean_addBuiltinDeclarationRanges(x_2, x_3, x_1); return x_4; } } -LEAN_EXPORT lean_object* l_Lean_Elab_Term_BinOp_initFn____x40_Lean_Elab_Extra___hyg_5697_(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Lean_Elab_Term_BinOp_initFn____x40_Lean_Elab_Extra___hyg_6514_(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; @@ -13136,6 +13862,7 @@ return x_10; } lean_object* initialize_Init(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Elab_App(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Elab_BuiltinNotation(uint8_t builtin, lean_object*); static bool _G_initialized = false; LEAN_EXPORT lean_object* initialize_Lean_Elab_Extra(uint8_t builtin, lean_object* w) { lean_object * res; @@ -13147,6 +13874,9 @@ lean_dec_ref(res); res = initialize_Lean_Elab_App(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); +res = initialize_Lean_Elab_BuiltinNotation(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); l___private_Lean_Elab_Extra_0__Lean_Elab_Term_getMonadForIn___closed__1 = _init_l___private_Lean_Elab_Extra_0__Lean_Elab_Term_getMonadForIn___closed__1(); lean_mark_persistent(l___private_Lean_Elab_Extra_0__Lean_Elab_Term_getMonadForIn___closed__1); l___private_Lean_Elab_Extra_0__Lean_Elab_Term_getMonadForIn___closed__2 = _init_l___private_Lean_Elab_Extra_0__Lean_Elab_Term_getMonadForIn___closed__2(); @@ -13353,12 +14083,6 @@ l_Lean_throwUnknownConstant___at___private_Lean_Elab_Extra_0__Lean_Elab_Term_Bin lean_mark_persistent(l_Lean_throwUnknownConstant___at___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_processOp___spec__1___closed__4); l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_processOp___closed__1 = _init_l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_processOp___closed__1(); lean_mark_persistent(l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_processOp___closed__1); -l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree___lambda__1___closed__1 = _init_l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree___lambda__1___closed__1(); -lean_mark_persistent(l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree___lambda__1___closed__1); -l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree___lambda__1___closed__2 = _init_l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree___lambda__1___closed__2(); -lean_mark_persistent(l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree___lambda__1___closed__2); -l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree___closed__1 = _init_l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree___closed__1(); -lean_mark_persistent(l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree___closed__1); l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_hasCoe___closed__1 = _init_l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_hasCoe___closed__1(); lean_mark_persistent(l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_hasCoe___closed__1); l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_hasCoe___closed__2 = _init_l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_hasCoe___closed__2(); @@ -13634,7 +14358,7 @@ lean_mark_persistent(l___regBuiltin_Lean_Elab_Term_BinOp_elabDefaultOrNonempty_d res = l___regBuiltin_Lean_Elab_Term_BinOp_elabDefaultOrNonempty_declRange(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = l_Lean_Elab_Term_BinOp_initFn____x40_Lean_Elab_Extra___hyg_5697_(lean_io_mk_world()); +res = l_Lean_Elab_Term_BinOp_initFn____x40_Lean_Elab_Extra___hyg_6514_(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/Elab/GenInjective.c b/stage0/stdlib/Lean/Elab/GenInjective.c index dd203a62d7..6fc5af78d2 100644 --- a/stage0/stdlib/Lean/Elab/GenInjective.c +++ b/stage0/stdlib/Lean/Elab/GenInjective.c @@ -14,87 +14,113 @@ extern "C" { #endif static lean_object* l___regBuiltin_Lean_Elab_Command_elabGenInjectiveTheorems___closed__12; -LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__8(lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__6___closed__3; +static lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__7___closed__2; static lean_object* l___regBuiltin_Lean_Elab_Command_elabGenInjectiveTheorems___closed__11; lean_object* l_Lean_stringToMessageData(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabGenInjectiveTheorems___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* lean_mk_empty_array_with_capacity(lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Name_str___override(lean_object*, lean_object*); lean_object* l_List_filterTRAux___at_Lean_resolveGlobalConstCore___spec__1(lean_object*, lean_object*); lean_object* l_Lean_Elab_Command_liftTermElabM___rarg(lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__5(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_mapTRAux___at_Lean_resolveGlobalConstCore___spec__2(lean_object*, lean_object*); extern lean_object* l_Std_Format_defWidth; +static lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__3___closed__1; +LEAN_EXPORT lean_object* l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Elab_Command_commandElabAttribute; lean_object* l_List_filterMap___at_Lean_resolveGlobalConst___spec__1(lean_object*); +static lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__3___closed__2; LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabGenInjectiveTheorems___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Command_elabGenInjectiveTheorems_declRange___closed__2; static lean_object* l___regBuiltin_Lean_Elab_Command_elabGenInjectiveTheorems_declRange___closed__1; +LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__7___closed__1; static lean_object* l___regBuiltin_Lean_Elab_Command_elabGenInjectiveTheorems_declRange___closed__7; -LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* lean_environment_find(lean_object*, lean_object*); lean_object* l_Lean_Meta_mkInjectiveTheorems(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_st_ref_get(lean_object*, lean_object*); -static lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__6___closed__4; lean_object* lean_string_append(lean_object*, lean_object*); -static lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__6___closed__2; -LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabGenInjectiveTheorems___boxed(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*); -static lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__6___closed__1; -static lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__2___closed__1; +LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_getConstInfo___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__12___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Command_elabGenInjectiveTheorems___closed__2; +LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__5___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Command_elabGenInjectiveTheorems___closed__4; static lean_object* l___regBuiltin_Lean_Elab_Command_elabGenInjectiveTheorems_declRange___closed__5; -LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__4(lean_object*, lean_object*, lean_object*, lean_object*); +extern lean_object* l_Lean_LocalContext_empty; +LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__5___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_mapTRAux___at_Lean_resolveGlobalConstNoOverload___spec__1(lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Command_elabGenInjectiveTheorems_declRange___closed__3; +static lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__7___closed__3; +lean_object* l_Lean_ConstantInfo_levelParams(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__3___closed__3; +lean_object* lean_st_ref_take(lean_object*, lean_object*); lean_object* l_Lean_throwError___at_Lean_Elab_Command_expandDeclId___spec__12(lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__2___closed__2; static lean_object* l___regBuiltin_Lean_Elab_Command_elabGenInjectiveTheorems___closed__9; static lean_object* l___regBuiltin_Lean_Elab_Command_elabGenInjectiveTheorems___closed__8; +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__9(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_mkConstWithLevelParams___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__11___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__5(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoTree___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__15___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_replaceRef(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__4___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Command_elabGenInjectiveTheorems___closed__1; lean_object* lean_format_pretty(lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Command_elabGenInjectiveTheorems_declRange___closed__6; lean_object* l_Lean_addBuiltinDeclarationRanges(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_addMessageContextPartial___at_Lean_Elab_Command_instAddMessageContextCommandElabM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__6(lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__4___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__2___closed__3; +LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__2___closed__1; static lean_object* l___regBuiltin_Lean_Elab_Command_elabGenInjectiveTheorems___closed__14; lean_object* l_Lean_ResolveName_resolveGlobalName(lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_addConstInfo___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__10___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__14___closed__3; +static lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__2___closed__2; static lean_object* l___regBuiltin_Lean_Elab_Command_elabGenInjectiveTheorems_declRange___closed__4; +LEAN_EXPORT lean_object* l_Lean_Elab_addConstInfo___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__10(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_Lean_Expr_const___override(lean_object*, lean_object*); lean_object* l_Lean_Elab_addMacroStack___at_Lean_Elab_Command_instAddErrorMessageContextCommandElabM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Command_elabGenInjectiveTheorems___closed__6; static lean_object* l___regBuiltin_Lean_Elab_Command_elabGenInjectiveTheorems___closed__13; -static lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__1___closed__2; lean_object* l_Lean_throwError___at_Lean_Elab_Command_expandDeclId___spec__4(lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__2(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_List_mapTRAux___at_Lean_mkConstWithLevelParams___spec__1(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__14(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Command_getRef(lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__1___closed__3; -static lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__1___closed__1; +lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__13(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__14___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__6(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_mkConstWithLevelParams___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__11(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__3(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Command_elabGenInjectiveTheorems___closed__10; +static lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__14___closed__2; +static lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__14___closed__1; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Command_elabGenInjectiveTheorems_declRange(lean_object*); -LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__2(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_getArg(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__13___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__7___closed__4; +LEAN_EXPORT lean_object* l_Lean_getConstInfo___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__12(lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_List_isEmpty___rarg(lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Command_elabGenInjectiveTheorems___closed__15; lean_object* l_Lean_Elab_Command_getScope___rarg(lean_object*, lean_object*); -static lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__2___closed__3; lean_object* l_List_toString___at_Lean_resolveGlobalConstNoOverloadCore___spec__2(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoTree___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__15(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Command_elabGenInjectiveTheorems___closed__7; LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabGenInjectiveTheorems(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_formatStxAux(lean_object*, uint8_t, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__7(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Command_elabGenInjectiveTheorems___closed__5; lean_object* l_Lean_Elab_getBetterRef(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Command_elabGenInjectiveTheorems(lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Command_elabGenInjectiveTheorems___closed__3; -LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__4(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; lean_object* x_9; uint8_t x_10; @@ -148,7 +174,7 @@ return x_21; } } } -LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__5(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__6(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_11; lean_object* x_12; lean_object* x_13; uint8_t x_14; @@ -202,7 +228,7 @@ return x_22; } } } -static lean_object* _init_l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__6___closed__1() { +static lean_object* _init_l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__7___closed__1() { _start: { lean_object* x_1; @@ -210,16 +236,16 @@ x_1 = lean_mk_string_from_bytes("unknown constant '", 18); return x_1; } } -static lean_object* _init_l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__6___closed__2() { +static lean_object* _init_l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__7___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__6___closed__1; +x_1 = l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__7___closed__1; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -static lean_object* _init_l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__6___closed__3() { +static lean_object* _init_l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__7___closed__3() { _start: { lean_object* x_1; @@ -227,16 +253,16 @@ x_1 = lean_mk_string_from_bytes("'", 1); return x_1; } } -static lean_object* _init_l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__6___closed__4() { +static lean_object* _init_l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__7___closed__4() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__6___closed__3; +x_1 = l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__7___closed__3; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__6(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__7(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_11; lean_object* x_12; @@ -244,11 +270,11 @@ x_5 = lean_box(0); x_6 = l_Lean_Expr_const___override(x_1, x_5); x_7 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_7, 0, x_6); -x_8 = l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__6___closed__2; +x_8 = l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__7___closed__2; x_9 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_9, 0, x_8); lean_ctor_set(x_9, 1, x_7); -x_10 = l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__6___closed__4; +x_10 = l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__7___closed__4; x_11 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_11, 0, x_9); lean_ctor_set(x_11, 1, x_10); @@ -256,7 +282,7 @@ x_12 = l_Lean_throwError___at_Lean_Elab_Command_expandDeclId___spec__4(x_11, x_2 return x_12; } } -LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__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_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__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) { _start: { lean_object* x_7; lean_object* x_8; @@ -267,12 +293,12 @@ lean_ctor_set(x_8, 1, x_6); return x_8; } } -LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__5(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; uint8_t x_10; lean_inc(x_1); -x_5 = l_Lean_resolveGlobalName___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__5(x_1, x_2, x_3, x_4); +x_5 = l_Lean_resolveGlobalName___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__6(x_1, x_2, x_3, x_4); x_6 = lean_ctor_get(x_5, 0); lean_inc(x_6); x_7 = lean_ctor_get(x_5, 1); @@ -286,7 +312,7 @@ if (x_10 == 0) lean_object* x_11; lean_object* x_12; lean_dec(x_1); x_11 = lean_box(0); -x_12 = l_Lean_resolveGlobalConstCore___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__4___lambda__1(x_9, x_8, x_11, x_2, x_3, x_7); +x_12 = l_Lean_resolveGlobalConstCore___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__5___lambda__1(x_9, x_8, x_11, x_2, x_3, x_7); lean_dec(x_3); lean_dec(x_2); return x_12; @@ -295,7 +321,7 @@ else { lean_object* x_13; uint8_t x_14; lean_dec(x_9); -x_13 = l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__6(x_1, x_2, x_3, x_7); +x_13 = l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__7(x_1, x_2, x_3, x_7); lean_dec(x_3); x_14 = !lean_is_exclusive(x_13); if (x_14 == 0) @@ -318,7 +344,7 @@ return x_17; } } } -static lean_object* _init_l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__2___closed__1() { +static lean_object* _init_l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__3___closed__1() { _start: { lean_object* x_1; @@ -326,27 +352,27 @@ x_1 = lean_mk_string_from_bytes("expected identifier", 19); return x_1; } } -static lean_object* _init_l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__2___closed__2() { +static lean_object* _init_l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__3___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__2___closed__1; +x_1 = l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__3___closed__1; 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_resolveGlobalConst___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__2___closed__3() { +static lean_object* _init_l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__3___closed__3() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__2___closed__2; +x_1 = l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__3___closed__2; x_2 = lean_alloc_ctor(0, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -LEAN_EXPORT lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { if (lean_obj_tag(x_1) == 3) @@ -390,7 +416,7 @@ lean_object* x_15; lean_object* x_16; x_15 = lean_ctor_get(x_2, 6); lean_dec(x_15); lean_ctor_set(x_2, 6, x_13); -x_16 = l_Lean_resolveGlobalConstCore___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__4(x_5, x_2, x_3, x_12); +x_16 = l_Lean_resolveGlobalConstCore___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__5(x_5, x_2, x_3, x_12); return x_16; } else @@ -420,7 +446,7 @@ lean_ctor_set(x_24, 4, x_21); lean_ctor_set(x_24, 5, x_22); lean_ctor_set(x_24, 6, x_13); lean_ctor_set(x_24, 7, x_23); -x_25 = l_Lean_resolveGlobalConstCore___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__4(x_5, x_24, x_3, x_12); +x_25 = l_Lean_resolveGlobalConstCore___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__5(x_5, x_24, x_3, x_12); return x_25; } } @@ -428,15 +454,15 @@ return x_25; else { lean_object* x_26; lean_object* x_27; -x_26 = l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__2___closed__3; -x_27 = l_Lean_throwErrorAt___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__3(x_1, x_26, x_2, x_3, x_4); +x_26 = l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__3___closed__3; +x_27 = l_Lean_throwErrorAt___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__4(x_1, x_26, x_2, x_3, x_4); lean_dec(x_3); lean_dec(x_1); return x_27; } } } -LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__8(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__9(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_11; lean_object* x_12; lean_object* x_13; uint8_t x_14; @@ -490,7 +516,7 @@ return x_20; } } } -LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__7(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__8(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; lean_object* x_9; uint8_t x_10; @@ -510,7 +536,7 @@ lean_object* x_11; lean_object* x_12; x_11 = lean_ctor_get(x_3, 6); lean_dec(x_11); lean_ctor_set(x_3, 6, x_9); -x_12 = l_Lean_throwError___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__8(x_2, x_3, x_4, x_8); +x_12 = l_Lean_throwError___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__9(x_2, x_3, x_4, x_8); lean_dec(x_4); return x_12; } @@ -541,13 +567,13 @@ lean_ctor_set(x_20, 4, x_17); lean_ctor_set(x_20, 5, x_18); lean_ctor_set(x_20, 6, x_9); lean_ctor_set(x_20, 7, x_19); -x_21 = l_Lean_throwError___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__8(x_2, x_20, x_4, x_8); +x_21 = l_Lean_throwError___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__9(x_2, x_20, x_4, x_8); lean_dec(x_4); return x_21; } } } -static lean_object* _init_l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__1___closed__1() { +static lean_object* _init_l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__2___closed__1() { _start: { lean_object* x_1; @@ -555,7 +581,7 @@ x_1 = lean_mk_string_from_bytes("ambiguous identifier '", 22); return x_1; } } -static lean_object* _init_l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__1___closed__2() { +static lean_object* _init_l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__2___closed__2() { _start: { lean_object* x_1; @@ -563,7 +589,7 @@ x_1 = lean_mk_string_from_bytes("', possible interpretations: ", 29); return x_1; } } -static lean_object* _init_l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__1___closed__3() { +static lean_object* _init_l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__2___closed__3() { _start: { lean_object* x_1; @@ -571,14 +597,14 @@ x_1 = lean_mk_string_from_bytes("", 0); return x_1; } } -LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { lean_object* x_5; lean_inc(x_3); lean_inc(x_2); lean_inc(x_1); -x_5 = l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__2(x_1, x_2, x_3, x_4); +x_5 = l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__3(x_1, x_2, x_3, x_4); if (lean_obj_tag(x_5) == 0) { lean_object* x_6; @@ -597,23 +623,23 @@ lean_inc(x_1); x_11 = l_Lean_Syntax_formatStxAux(x_8, x_9, x_10, x_1); x_12 = l_Std_Format_defWidth; x_13 = lean_format_pretty(x_11, x_12); -x_14 = l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__1___closed__1; +x_14 = l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__2___closed__1; x_15 = lean_string_append(x_14, x_13); lean_dec(x_13); -x_16 = l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__1___closed__2; +x_16 = l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__2___closed__2; x_17 = lean_string_append(x_15, x_16); x_18 = lean_box(0); x_19 = l_List_mapTRAux___at_Lean_resolveGlobalConstNoOverload___spec__1(x_6, x_18); x_20 = l_List_toString___at_Lean_resolveGlobalConstNoOverloadCore___spec__2(x_19); x_21 = lean_string_append(x_17, x_20); lean_dec(x_20); -x_22 = l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__1___closed__3; +x_22 = l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__2___closed__3; x_23 = lean_string_append(x_21, x_22); x_24 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_24, 0, x_23); x_25 = lean_alloc_ctor(0, 1, 0); lean_ctor_set(x_25, 0, x_24); -x_26 = l_Lean_throwErrorAt___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__7(x_1, x_25, x_2, x_3, x_7); +x_26 = l_Lean_throwErrorAt___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__8(x_1, x_25, x_2, x_3, x_7); return x_26; } else @@ -668,23 +694,23 @@ lean_inc(x_1); x_38 = l_Lean_Syntax_formatStxAux(x_35, x_36, x_37, x_1); x_39 = l_Std_Format_defWidth; x_40 = lean_format_pretty(x_38, x_39); -x_41 = l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__1___closed__1; +x_41 = l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__2___closed__1; x_42 = lean_string_append(x_41, x_40); lean_dec(x_40); -x_43 = l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__1___closed__2; +x_43 = l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__2___closed__2; x_44 = lean_string_append(x_42, x_43); x_45 = lean_box(0); x_46 = l_List_mapTRAux___at_Lean_resolveGlobalConstNoOverload___spec__1(x_6, x_45); x_47 = l_List_toString___at_Lean_resolveGlobalConstNoOverloadCore___spec__2(x_46); x_48 = lean_string_append(x_44, x_47); lean_dec(x_47); -x_49 = l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__1___closed__3; +x_49 = l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__2___closed__3; x_50 = lean_string_append(x_48, x_49); x_51 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_51, 0, x_50); x_52 = lean_alloc_ctor(0, 1, 0); lean_ctor_set(x_52, 0, x_51); -x_53 = l_Lean_throwErrorAt___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__7(x_1, x_52, x_2, x_3, x_34); +x_53 = l_Lean_throwErrorAt___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__8(x_1, x_52, x_2, x_3, x_34); return x_53; } } @@ -716,6 +742,720 @@ return x_57; } } } +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__13(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_11; lean_object* x_12; lean_object* x_13; uint8_t x_14; +x_5 = l_Lean_Elab_Command_getRef(x_2, x_3, x_4); +x_6 = lean_ctor_get(x_5, 0); +lean_inc(x_6); +x_7 = lean_ctor_get(x_5, 1); +lean_inc(x_7); +lean_dec(x_5); +x_8 = lean_ctor_get(x_2, 4); +lean_inc(x_8); +lean_inc(x_8); +x_9 = l_Lean_Elab_getBetterRef(x_6, x_8); +lean_dec(x_6); +x_10 = l_Lean_addMessageContextPartial___at_Lean_Elab_Command_instAddMessageContextCommandElabM___spec__1(x_1, x_2, x_3, x_7); +x_11 = lean_ctor_get(x_10, 0); +lean_inc(x_11); +x_12 = lean_ctor_get(x_10, 1); +lean_inc(x_12); +lean_dec(x_10); +x_13 = l_Lean_Elab_addMacroStack___at_Lean_Elab_Command_instAddErrorMessageContextCommandElabM___spec__1(x_11, x_8, x_2, x_3, x_12); +lean_dec(x_2); +lean_dec(x_8); +x_14 = !lean_is_exclusive(x_13); +if (x_14 == 0) +{ +lean_object* x_15; lean_object* x_16; +x_15 = lean_ctor_get(x_13, 0); +x_16 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_16, 0, x_9); +lean_ctor_set(x_16, 1, x_15); +lean_ctor_set_tag(x_13, 1); +lean_ctor_set(x_13, 0, x_16); +return x_13; +} +else +{ +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_17 = lean_ctor_get(x_13, 0); +x_18 = lean_ctor_get(x_13, 1); +lean_inc(x_18); +lean_inc(x_17); +lean_dec(x_13); +x_19 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_19, 0, x_9); +lean_ctor_set(x_19, 1, x_17); +x_20 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_20, 0, x_19); +lean_ctor_set(x_20, 1, x_18); +return x_20; +} +} +} +LEAN_EXPORT lean_object* l_Lean_getConstInfo___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__12(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_st_ref_get(x_3, x_4); +x_6 = !lean_is_exclusive(x_5); +if (x_6 == 0) +{ +lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; +x_7 = lean_ctor_get(x_5, 0); +x_8 = lean_ctor_get(x_5, 1); +x_9 = lean_ctor_get(x_7, 0); +lean_inc(x_9); +lean_dec(x_7); +lean_inc(x_1); +x_10 = lean_environment_find(x_9, x_1); +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_18; +lean_free_object(x_5); +x_11 = lean_box(0); +x_12 = l_Lean_Expr_const___override(x_1, x_11); +x_13 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_13, 0, x_12); +x_14 = l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__7___closed__2; +x_15 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_15, 0, x_14); +lean_ctor_set(x_15, 1, x_13); +x_16 = l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__7___closed__4; +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_throwError___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__13(x_17, x_2, x_3, x_8); +return x_18; +} +else +{ +lean_object* x_19; +lean_dec(x_2); +lean_dec(x_1); +x_19 = lean_ctor_get(x_10, 0); +lean_inc(x_19); +lean_dec(x_10); +lean_ctor_set(x_5, 0, x_19); +return x_5; +} +} +else +{ +lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; +x_20 = lean_ctor_get(x_5, 0); +x_21 = lean_ctor_get(x_5, 1); +lean_inc(x_21); +lean_inc(x_20); +lean_dec(x_5); +x_22 = lean_ctor_get(x_20, 0); +lean_inc(x_22); +lean_dec(x_20); +lean_inc(x_1); +x_23 = lean_environment_find(x_22, x_1); +if (lean_obj_tag(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_30; lean_object* x_31; +x_24 = lean_box(0); +x_25 = l_Lean_Expr_const___override(x_1, x_24); +x_26 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_26, 0, x_25); +x_27 = l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__7___closed__2; +x_28 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_28, 0, x_27); +lean_ctor_set(x_28, 1, x_26); +x_29 = l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__7___closed__4; +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 = l_Lean_throwError___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__13(x_30, x_2, x_3, x_21); +return x_31; +} +else +{ +lean_object* x_32; lean_object* x_33; +lean_dec(x_2); +lean_dec(x_1); +x_32 = lean_ctor_get(x_23, 0); +lean_inc(x_32); +lean_dec(x_23); +x_33 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_33, 0, x_32); +lean_ctor_set(x_33, 1, x_21); +return x_33; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_mkConstWithLevelParams___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__11(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; +lean_inc(x_1); +x_5 = l_Lean_getConstInfo___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__12(x_1, x_2, x_3, x_4); +if (lean_obj_tag(x_5) == 0) +{ +uint8_t x_6; +x_6 = !lean_is_exclusive(x_5); +if (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_8 = l_Lean_ConstantInfo_levelParams(x_7); +lean_dec(x_7); +x_9 = lean_box(0); +x_10 = l_List_mapTRAux___at_Lean_mkConstWithLevelParams___spec__1(x_8, x_9); +x_11 = l_Lean_Expr_const___override(x_1, x_10); +lean_ctor_set(x_5, 0, x_11); +return x_5; +} +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; lean_object* x_18; +x_12 = lean_ctor_get(x_5, 0); +x_13 = lean_ctor_get(x_5, 1); +lean_inc(x_13); +lean_inc(x_12); +lean_dec(x_5); +x_14 = l_Lean_ConstantInfo_levelParams(x_12); +lean_dec(x_12); +x_15 = lean_box(0); +x_16 = l_List_mapTRAux___at_Lean_mkConstWithLevelParams___spec__1(x_14, x_15); +x_17 = l_Lean_Expr_const___override(x_1, x_16); +x_18 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_18, 0, x_17); +lean_ctor_set(x_18, 1, x_13); +return x_18; +} +} +else +{ +uint8_t x_19; +lean_dec(x_1); +x_19 = !lean_is_exclusive(x_5); +if (x_19 == 0) +{ +return x_5; +} +else +{ +lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_20 = lean_ctor_get(x_5, 0); +x_21 = lean_ctor_get(x_5, 1); +lean_inc(x_21); +lean_inc(x_20); +lean_dec(x_5); +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_EXPORT lean_object* l_Lean_Elab_pushInfoTree___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__15(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; uint8_t x_8; +x_5 = lean_st_ref_get(x_3, x_4); +x_6 = lean_ctor_get(x_5, 0); +lean_inc(x_6); +x_7 = lean_ctor_get(x_6, 7); +lean_inc(x_7); +lean_dec(x_6); +x_8 = lean_ctor_get_uint8(x_7, sizeof(void*)*2); +lean_dec(x_7); +if (x_8 == 0) +{ +uint8_t x_9; +lean_dec(x_1); +x_9 = !lean_is_exclusive(x_5); +if (x_9 == 0) +{ +lean_object* x_10; lean_object* x_11; +x_10 = lean_ctor_get(x_5, 0); +lean_dec(x_10); +x_11 = lean_box(0); +lean_ctor_set(x_5, 0, x_11); +return x_5; +} +else +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; +x_12 = lean_ctor_get(x_5, 1); +lean_inc(x_12); +lean_dec(x_5); +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_12); +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; +x_15 = lean_ctor_get(x_5, 1); +lean_inc(x_15); +lean_dec(x_5); +x_16 = lean_st_ref_take(x_3, x_15); +x_17 = lean_ctor_get(x_16, 0); +lean_inc(x_17); +x_18 = lean_ctor_get(x_17, 7); +lean_inc(x_18); +x_19 = lean_ctor_get(x_16, 1); +lean_inc(x_19); +lean_dec(x_16); +x_20 = !lean_is_exclusive(x_17); +if (x_20 == 0) +{ +lean_object* x_21; uint8_t x_22; +x_21 = lean_ctor_get(x_17, 7); +lean_dec(x_21); +x_22 = !lean_is_exclusive(x_18); +if (x_22 == 0) +{ +lean_object* x_23; lean_object* x_24; lean_object* x_25; uint8_t x_26; +x_23 = lean_ctor_get(x_18, 1); +x_24 = l_Std_PersistentArray_push___rarg(x_23, x_1); +lean_ctor_set(x_18, 1, x_24); +x_25 = lean_st_ref_set(x_3, x_17, x_19); +x_26 = !lean_is_exclusive(x_25); +if (x_26 == 0) +{ +lean_object* x_27; lean_object* x_28; +x_27 = lean_ctor_get(x_25, 0); +lean_dec(x_27); +x_28 = lean_box(0); +lean_ctor_set(x_25, 0, x_28); +return x_25; +} +else +{ +lean_object* x_29; lean_object* x_30; lean_object* x_31; +x_29 = lean_ctor_get(x_25, 1); +lean_inc(x_29); +lean_dec(x_25); +x_30 = lean_box(0); +x_31 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_31, 0, x_30); +lean_ctor_set(x_31, 1, x_29); +return x_31; +} +} +else +{ +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; lean_object* x_41; +x_32 = lean_ctor_get_uint8(x_18, sizeof(void*)*2); +x_33 = lean_ctor_get(x_18, 0); +x_34 = lean_ctor_get(x_18, 1); +lean_inc(x_34); +lean_inc(x_33); +lean_dec(x_18); +x_35 = l_Std_PersistentArray_push___rarg(x_34, x_1); +x_36 = lean_alloc_ctor(0, 2, 1); +lean_ctor_set(x_36, 0, x_33); +lean_ctor_set(x_36, 1, x_35); +lean_ctor_set_uint8(x_36, sizeof(void*)*2, x_32); +lean_ctor_set(x_17, 7, x_36); +x_37 = lean_st_ref_set(x_3, x_17, x_19); +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); +} +x_40 = lean_box(0); +if (lean_is_scalar(x_39)) { + x_41 = lean_alloc_ctor(0, 2, 0); +} else { + x_41 = x_39; +} +lean_ctor_set(x_41, 0, x_40); +lean_ctor_set(x_41, 1, x_38); +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; lean_object* x_49; uint8_t 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; +x_42 = lean_ctor_get(x_17, 0); +x_43 = lean_ctor_get(x_17, 1); +x_44 = lean_ctor_get(x_17, 2); +x_45 = lean_ctor_get(x_17, 3); +x_46 = lean_ctor_get(x_17, 4); +x_47 = lean_ctor_get(x_17, 5); +x_48 = lean_ctor_get(x_17, 6); +x_49 = lean_ctor_get(x_17, 8); +lean_inc(x_49); +lean_inc(x_48); +lean_inc(x_47); +lean_inc(x_46); +lean_inc(x_45); +lean_inc(x_44); +lean_inc(x_43); +lean_inc(x_42); +lean_dec(x_17); +x_50 = lean_ctor_get_uint8(x_18, sizeof(void*)*2); +x_51 = lean_ctor_get(x_18, 0); +lean_inc(x_51); +x_52 = lean_ctor_get(x_18, 1); +lean_inc(x_52); +if (lean_is_exclusive(x_18)) { + lean_ctor_release(x_18, 0); + lean_ctor_release(x_18, 1); + x_53 = x_18; +} else { + lean_dec_ref(x_18); + x_53 = lean_box(0); +} +x_54 = l_Std_PersistentArray_push___rarg(x_52, x_1); +if (lean_is_scalar(x_53)) { + x_55 = lean_alloc_ctor(0, 2, 1); +} else { + x_55 = x_53; +} +lean_ctor_set(x_55, 0, x_51); +lean_ctor_set(x_55, 1, x_54); +lean_ctor_set_uint8(x_55, sizeof(void*)*2, x_50); +x_56 = lean_alloc_ctor(0, 9, 0); +lean_ctor_set(x_56, 0, x_42); +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_46); +lean_ctor_set(x_56, 5, x_47); +lean_ctor_set(x_56, 6, x_48); +lean_ctor_set(x_56, 7, x_55); +lean_ctor_set(x_56, 8, x_49); +x_57 = lean_st_ref_set(x_3, x_56, x_19); +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); +} +x_60 = lean_box(0); +if (lean_is_scalar(x_59)) { + x_61 = lean_alloc_ctor(0, 2, 0); +} else { + x_61 = x_59; +} +lean_ctor_set(x_61, 0, x_60); +lean_ctor_set(x_61, 1, x_58); +return x_61; +} +} +} +} +static lean_object* _init_l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__14___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = lean_unsigned_to_nat(32u); +x_2 = lean_mk_empty_array_with_capacity(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__14___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__14___closed__1; +x_2 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__14___closed__3() { +_start: +{ +size_t x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; +x_1 = 5; +x_2 = l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__14___closed__2; +x_3 = l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__14___closed__1; +x_4 = lean_unsigned_to_nat(0u); +x_5 = lean_alloc_ctor(0, 4, sizeof(size_t)*1); +lean_ctor_set(x_5, 0, x_2); +lean_ctor_set(x_5, 1, x_3); +lean_ctor_set(x_5, 2, x_4); +lean_ctor_set(x_5, 3, x_4); +lean_ctor_set_usize(x_5, 4, x_1); +return x_5; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__14(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; uint8_t x_8; +x_5 = lean_st_ref_get(x_3, x_4); +x_6 = lean_ctor_get(x_5, 0); +lean_inc(x_6); +x_7 = lean_ctor_get(x_6, 7); +lean_inc(x_7); +lean_dec(x_6); +x_8 = lean_ctor_get_uint8(x_7, sizeof(void*)*2); +lean_dec(x_7); +if (x_8 == 0) +{ +uint8_t x_9; +lean_dec(x_1); +x_9 = !lean_is_exclusive(x_5); +if (x_9 == 0) +{ +lean_object* x_10; lean_object* x_11; +x_10 = lean_ctor_get(x_5, 0); +lean_dec(x_10); +x_11 = lean_box(0); +lean_ctor_set(x_5, 0, x_11); +return x_5; +} +else +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; +x_12 = lean_ctor_get(x_5, 1); +lean_inc(x_12); +lean_dec(x_5); +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_12); +return x_14; +} +} +else +{ +lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; +x_15 = lean_ctor_get(x_5, 1); +lean_inc(x_15); +lean_dec(x_5); +x_16 = l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__14___closed__3; +x_17 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_17, 0, x_1); +lean_ctor_set(x_17, 1, x_16); +x_18 = l_Lean_Elab_pushInfoTree___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__15(x_17, x_2, x_3, x_15); +return x_18; +} +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_addConstInfo___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__10(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_inc(x_4); +x_7 = l_Lean_mkConstWithLevelParams___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__11(x_2, x_4, x_5, x_6); +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; uint8_t x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; +x_8 = lean_ctor_get(x_7, 0); +lean_inc(x_8); +x_9 = lean_ctor_get(x_7, 1); +lean_inc(x_9); +lean_dec(x_7); +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_1); +x_12 = l_Lean_LocalContext_empty; +x_13 = 0; +x_14 = lean_alloc_ctor(0, 4, 1); +lean_ctor_set(x_14, 0, x_11); +lean_ctor_set(x_14, 1, x_12); +lean_ctor_set(x_14, 2, x_3); +lean_ctor_set(x_14, 3, x_8); +lean_ctor_set_uint8(x_14, sizeof(void*)*4, x_13); +x_15 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_15, 0, x_14); +x_16 = l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__14(x_15, x_4, x_5, x_9); +lean_dec(x_4); +return x_16; +} +else +{ +uint8_t x_17; +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_1); +x_17 = !lean_is_exclusive(x_7); +if (x_17 == 0) +{ +return x_7; +} +else +{ +lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_18 = lean_ctor_get(x_7, 0); +x_19 = lean_ctor_get(x_7, 1); +lean_inc(x_19); +lean_inc(x_18); +lean_dec(x_7); +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_EXPORT lean_object* l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__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_6; +x_6 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_6, 0, x_1); +lean_ctor_set(x_6, 1, x_5); +return x_6; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__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_6; +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_1); +x_6 = l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__2(x_1, x_3, x_4, x_5); +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; uint8_t x_12; +x_7 = lean_ctor_get(x_6, 0); +lean_inc(x_7); +x_8 = lean_ctor_get(x_6, 1); +lean_inc(x_8); +lean_dec(x_6); +x_9 = lean_st_ref_get(x_4, x_8); +x_10 = lean_ctor_get(x_9, 0); +lean_inc(x_10); +x_11 = lean_ctor_get(x_10, 7); +lean_inc(x_11); +lean_dec(x_10); +x_12 = lean_ctor_get_uint8(x_11, sizeof(void*)*2); +lean_dec(x_11); +if (x_12 == 0) +{ +uint8_t x_13; +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_13 = !lean_is_exclusive(x_9); +if (x_13 == 0) +{ +lean_object* x_14; +x_14 = lean_ctor_get(x_9, 0); +lean_dec(x_14); +lean_ctor_set(x_9, 0, x_7); +return x_9; +} +else +{ +lean_object* x_15; lean_object* x_16; +x_15 = lean_ctor_get(x_9, 1); +lean_inc(x_15); +lean_dec(x_9); +x_16 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_16, 0, x_7); +lean_ctor_set(x_16, 1, x_15); +return x_16; +} +} +else +{ +lean_object* x_17; lean_object* x_18; +x_17 = lean_ctor_get(x_9, 1); +lean_inc(x_17); +lean_dec(x_9); +lean_inc(x_7); +x_18 = l_Lean_Elab_addConstInfo___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__10(x_1, x_7, x_2, x_3, x_4, x_17); +lean_dec(x_4); +if (lean_obj_tag(x_18) == 0) +{ +uint8_t x_19; +x_19 = !lean_is_exclusive(x_18); +if (x_19 == 0) +{ +lean_object* x_20; +x_20 = lean_ctor_get(x_18, 0); +lean_dec(x_20); +lean_ctor_set(x_18, 0, x_7); +return x_18; +} +else +{ +lean_object* x_21; lean_object* x_22; +x_21 = lean_ctor_get(x_18, 1); +lean_inc(x_21); +lean_dec(x_18); +x_22 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_22, 0, x_7); +lean_ctor_set(x_22, 1, x_21); +return x_22; +} +} +else +{ +uint8_t x_23; +lean_dec(x_7); +x_23 = !lean_is_exclusive(x_18); +if (x_23 == 0) +{ +return x_18; +} +else +{ +lean_object* x_24; lean_object* x_25; lean_object* x_26; +x_24 = lean_ctor_get(x_18, 0); +x_25 = lean_ctor_get(x_18, 1); +lean_inc(x_25); +lean_inc(x_24); +lean_dec(x_18); +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; +} +} +} +} +else +{ +uint8_t x_27; +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_27 = !lean_is_exclusive(x_6); +if (x_27 == 0) +{ +return x_6; +} +else +{ +lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_28 = lean_ctor_get(x_6, 0); +x_29 = lean_ctor_get(x_6, 1); +lean_inc(x_29); +lean_inc(x_28); +lean_dec(x_6); +x_30 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_30, 0, x_28); +lean_ctor_set(x_30, 1, x_29); +return x_30; +} +} +} +} LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabGenInjectiveTheorems___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: { @@ -727,101 +1467,169 @@ return x_9; LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabGenInjectiveTheorems(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; lean_object* x_7; lean_object* x_8; x_5 = lean_unsigned_to_nat(1u); x_6 = l_Lean_Syntax_getArg(x_1, x_5); +x_7 = lean_box(0); lean_inc(x_3); lean_inc(x_2); -x_7 = l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__1(x_6, x_2, x_3, x_4); -if (lean_obj_tag(x_7) == 0) +x_8 = l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__1(x_6, x_7, x_2, x_3, x_4); +if (lean_obj_tag(x_8) == 0) { -lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; -x_8 = lean_ctor_get(x_7, 0); -lean_inc(x_8); -x_9 = lean_ctor_get(x_7, 1); +lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_9 = lean_ctor_get(x_8, 0); lean_inc(x_9); -lean_dec(x_7); -x_10 = lean_alloc_closure((void*)(l_Lean_Elab_Command_elabGenInjectiveTheorems___lambda__1___boxed), 8, 1); -lean_closure_set(x_10, 0, x_8); -x_11 = l_Lean_Elab_Command_liftTermElabM___rarg(x_10, x_2, x_3, x_9); +x_10 = lean_ctor_get(x_8, 1); +lean_inc(x_10); +lean_dec(x_8); +x_11 = lean_alloc_closure((void*)(l_Lean_Elab_Command_elabGenInjectiveTheorems___lambda__1___boxed), 8, 1); +lean_closure_set(x_11, 0, x_9); +x_12 = l_Lean_Elab_Command_liftTermElabM___rarg(x_11, x_2, x_3, x_10); lean_dec(x_3); -return x_11; +return x_12; } else { -uint8_t x_12; +uint8_t x_13; lean_dec(x_3); lean_dec(x_2); -x_12 = !lean_is_exclusive(x_7); -if (x_12 == 0) +x_13 = !lean_is_exclusive(x_8); +if (x_13 == 0) { -return x_7; +return x_8; } else { -lean_object* x_13; lean_object* x_14; lean_object* x_15; -x_13 = lean_ctor_get(x_7, 0); -x_14 = lean_ctor_get(x_7, 1); +lean_object* x_14; lean_object* x_15; lean_object* x_16; +x_14 = lean_ctor_get(x_8, 0); +x_15 = lean_ctor_get(x_8, 1); +lean_inc(x_15); lean_inc(x_14); -lean_inc(x_13); -lean_dec(x_7); -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_dec(x_8); +x_16 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_16, 0, x_14); +lean_ctor_set(x_16, 1, x_15); +return x_16; } } } } -LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__4___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_throwErrorAt___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__3(x_1, x_2, x_3, x_4, x_5); +x_6 = l_Lean_throwErrorAt___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__4(x_1, x_2, x_3, x_4, x_5); lean_dec(x_4); lean_dec(x_1); return x_6; } } -LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__5___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_Lean_Elab_Command_elabGenInjectiveTheorems___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_Lean_resolveGlobalName___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__5(x_1, x_2, x_3, x_4); +x_5 = l_Lean_resolveGlobalName___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__6(x_1, x_2, x_3, x_4); lean_dec(x_3); lean_dec(x_2); return x_5; } } -LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__6___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__7___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_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__6(x_1, x_2, x_3, x_4); +x_5 = l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__7(x_1, x_2, x_3, x_4); lean_dec(x_3); return x_5; } } -LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__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_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__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) { _start: { lean_object* x_7; -x_7 = l_Lean_resolveGlobalConstCore___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__4___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6); +x_7 = l_Lean_resolveGlobalConstCore___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__5___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); return x_7; } } -LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__8___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Command_elabGenInjectiveTheorems___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_Lean_throwError___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__8(x_1, x_2, x_3, x_4); +x_5 = l_Lean_throwError___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__9(x_1, x_2, x_3, x_4); lean_dec(x_3); return x_5; } } +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__13___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_throwError___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__13(x_1, x_2, x_3, x_4); +lean_dec(x_3); +return x_5; +} +} +LEAN_EXPORT lean_object* l_Lean_getConstInfo___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__12___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_getConstInfo___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__12(x_1, x_2, x_3, x_4); +lean_dec(x_3); +return x_5; +} +} +LEAN_EXPORT lean_object* l_Lean_mkConstWithLevelParams___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__11___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_mkConstWithLevelParams___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__11(x_1, x_2, x_3, x_4); +lean_dec(x_3); +return x_5; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoTree___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__15___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_Elab_pushInfoTree___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__15(x_1, x_2, x_3, x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_5; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__14___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_Elab_pushInfoLeaf___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__14(x_1, x_2, x_3, x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_5; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_addConstInfo___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__10___boxed(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_addConstInfo___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__10(x_1, x_2, x_3, x_4, x_5, x_6); +lean_dec(x_5); +return x_7; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_Elab_Command_elabGenInjectiveTheorems___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) { +_start: +{ +lean_object* x_6; +x_6 = l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__1___lambda__1(x_1, x_2, x_3, x_4, x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_6; +} +} LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabGenInjectiveTheorems___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: { @@ -1106,26 +1914,32 @@ lean_dec_ref(res); res = initialize_Lean_Meta_Injective(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__6___closed__1 = _init_l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__6___closed__1(); -lean_mark_persistent(l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__6___closed__1); -l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__6___closed__2 = _init_l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__6___closed__2(); -lean_mark_persistent(l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__6___closed__2); -l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__6___closed__3 = _init_l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__6___closed__3(); -lean_mark_persistent(l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__6___closed__3); -l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__6___closed__4 = _init_l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__6___closed__4(); -lean_mark_persistent(l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__6___closed__4); -l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__2___closed__1 = _init_l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__2___closed__1(); -lean_mark_persistent(l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__2___closed__1); -l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__2___closed__2 = _init_l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__2___closed__2(); -lean_mark_persistent(l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__2___closed__2); -l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__2___closed__3 = _init_l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__2___closed__3(); -lean_mark_persistent(l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__2___closed__3); -l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__1___closed__1 = _init_l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__1___closed__1(); -lean_mark_persistent(l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__1___closed__1); -l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__1___closed__2 = _init_l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__1___closed__2(); -lean_mark_persistent(l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__1___closed__2); -l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__1___closed__3 = _init_l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__1___closed__3(); -lean_mark_persistent(l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__1___closed__3); +l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__7___closed__1 = _init_l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__7___closed__1(); +lean_mark_persistent(l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__7___closed__1); +l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__7___closed__2 = _init_l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__7___closed__2(); +lean_mark_persistent(l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__7___closed__2); +l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__7___closed__3 = _init_l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__7___closed__3(); +lean_mark_persistent(l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__7___closed__3); +l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__7___closed__4 = _init_l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__7___closed__4(); +lean_mark_persistent(l_Lean_throwUnknownConstant___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__7___closed__4); +l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__3___closed__1 = _init_l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__3___closed__1(); +lean_mark_persistent(l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__3___closed__1); +l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__3___closed__2 = _init_l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__3___closed__2(); +lean_mark_persistent(l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__3___closed__2); +l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__3___closed__3 = _init_l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__3___closed__3(); +lean_mark_persistent(l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__3___closed__3); +l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__2___closed__1 = _init_l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__2___closed__1(); +lean_mark_persistent(l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__2___closed__1); +l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__2___closed__2 = _init_l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__2___closed__2(); +lean_mark_persistent(l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__2___closed__2); +l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__2___closed__3 = _init_l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__2___closed__3(); +lean_mark_persistent(l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__2___closed__3); +l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__14___closed__1 = _init_l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__14___closed__1(); +lean_mark_persistent(l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__14___closed__1); +l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__14___closed__2 = _init_l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__14___closed__2(); +lean_mark_persistent(l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__14___closed__2); +l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__14___closed__3 = _init_l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__14___closed__3(); +lean_mark_persistent(l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Command_elabGenInjectiveTheorems___spec__14___closed__3); l___regBuiltin_Lean_Elab_Command_elabGenInjectiveTheorems___closed__1 = _init_l___regBuiltin_Lean_Elab_Command_elabGenInjectiveTheorems___closed__1(); lean_mark_persistent(l___regBuiltin_Lean_Elab_Command_elabGenInjectiveTheorems___closed__1); l___regBuiltin_Lean_Elab_Command_elabGenInjectiveTheorems___closed__2 = _init_l___regBuiltin_Lean_Elab_Command_elabGenInjectiveTheorems___closed__2(); diff --git a/stage0/stdlib/Lean/Elab/Match.c b/stage0/stdlib/Lean/Elab/Match.c index 281bbd1719..3e1825ae52 100644 --- a/stage0/stdlib/Lean/Elab/Match.c +++ b/stage0/stdlib/Lean/Elab/Match.c @@ -459,6 +459,7 @@ static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lea LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__2(lean_object*, size_t, size_t, lean_object*); static lean_object* l_Lean_Meta_transform___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchTypeAndDiscrs_elabDiscrs___spec__1___closed__2; LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_topSort_visit(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_RBNode_insert___at___private_Lean_Meta_FunInfo_0__Lean_Meta_getFunInfoAux___spec__1(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_precheckMatch(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_isNamedPattern_x3f(lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchTypeAndDiscrs_elabDiscrs___spec__8___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -484,7 +485,6 @@ LEAN_EXPORT lean_object* l_Lean_Meta_withLetDecl___at_Lean_Elab_Term_ToDepElimPa LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_tryPostponeIfDiscrTypeIsMVar___spec__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_elabNoMatch___closed__2; lean_object* lean_st_mk_ref(lean_object*, lean_object*); -lean_object* l_Std_RBNode_insert___at_Lean_Meta_ToHide_moveToHiddeProp___spec__1(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_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_EXPORT lean_object* l_Lean_Meta_transform_visit_visitLet___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchTypeAndDiscrs_elabDiscrs___spec__6___lambda__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*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchTypeAndDiscrs_elabDiscrsWitMatchType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -22226,7 +22226,7 @@ lean_inc(x_30); lean_dec(x_26); x_31 = lean_box(0); lean_inc(x_11); -x_32 = l_Std_RBNode_insert___at_Lean_Meta_ToHide_moveToHiddeProp___spec__1(x_28, x_11, x_31); +x_32 = l_Std_RBNode_insert___at___private_Lean_Meta_FunInfo_0__Lean_Meta_getFunInfoAux___spec__1(x_28, x_11, x_31); x_33 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_33, 0, x_32); lean_ctor_set(x_33, 1, x_29); @@ -22392,7 +22392,7 @@ lean_inc(x_76); lean_dec(x_72); x_77 = lean_box(0); lean_inc(x_11); -x_78 = l_Std_RBNode_insert___at_Lean_Meta_ToHide_moveToHiddeProp___spec__1(x_74, x_11, x_77); +x_78 = l_Std_RBNode_insert___at___private_Lean_Meta_FunInfo_0__Lean_Meta_getFunInfoAux___spec__1(x_74, x_11, x_77); x_79 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_79, 0, x_78); lean_ctor_set(x_79, 1, x_75); @@ -43845,7 +43845,7 @@ lean_dec(x_21); x_32 = lean_array_push(x_3, x_18); x_33 = l_Lean_Expr_fvarId_x21(x_28); x_34 = lean_box(0); -x_35 = l_Std_RBNode_insert___at_Lean_Meta_ToHide_moveToHiddeProp___spec__1(x_4, x_33, x_34); +x_35 = l_Std_RBNode_insert___at___private_Lean_Meta_FunInfo_0__Lean_Meta_getFunInfoAux___spec__1(x_4, x_33, x_34); x_2 = x_19; x_3 = x_32; x_4 = x_35; diff --git a/stage0/stdlib/Lean/Elab/Mixfix.c b/stage0/stdlib/Lean/Elab/Mixfix.c index 0b4297cd33..8fad70f7ae 100644 --- a/stage0/stdlib/Lean/Elab/Mixfix.c +++ b/stage0/stdlib/Lean/Elab/Mixfix.c @@ -13,34 +13,34 @@ #ifdef __cplusplus extern "C" { #endif -static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__12___closed__4; +static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__13___closed__5; lean_object* lean_mk_empty_array_with_capacity(lean_object*); lean_object* l_Lean_Name_str___override(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__1___closed__11; static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__5___closed__6; +static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__13___closed__7; lean_object* l_Array_append___rarg(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__1___closed__19; static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__5___closed__3; static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__5___closed__1; static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__1___closed__1; static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__11___closed__7; -static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__12___closed__9; -LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___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*); -static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__12___closed__8; -LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___lambda__10(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___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_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___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_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___lambda__10(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___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* l_Lean_MonadRef_mkInfoFromRefPos___at___aux__Init__Notation______macroRules__precMax__1___spec__1(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__1___closed__12; lean_object* lean_array_push(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___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_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___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*); +static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__1___closed__26; lean_object* lean_string_utf8_byte_size(lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___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_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___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_KeyedDeclsAttribute_addBuiltin___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___lambda__13(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__1___closed__6; -LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___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_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___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_nat_add(lean_object*, lean_object*); -static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__5___closed__9; -LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___lambda__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_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___lambda__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*); static lean_object* l_Lean_Elab_Command_expandMixfix___closed__1; static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__1___closed__21; static lean_object* l___regBuiltin_Lean_Elab_Command_expandMixfix___closed__5; @@ -49,88 +49,94 @@ static lean_object* l___regBuiltin_Lean_Elab_Command_expandMixfix___closed__3; static lean_object* l___regBuiltin_Lean_Elab_Command_expandMixfix_declRange___closed__1; static lean_object* l___regBuiltin_Lean_Elab_Command_expandMixfix___closed__7; static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__1___closed__13; -static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__12___closed__10; -LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___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_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___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*); static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__1___closed__23; uint8_t l_Lean_Syntax_matchesNull(lean_object*, lean_object*); +static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__13___closed__10; static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__5___closed__2; static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__1___closed__22; static lean_object* l___regBuiltin_Lean_Elab_Command_expandMixfix_declRange___closed__7; static lean_object* l___regBuiltin_Lean_Elab_Command_expandMixfix___closed__2; static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__5___closed__5; -static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__12___closed__5; static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__1___closed__2; static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__1___closed__4; static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__1___closed__9; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Command_expandMixfix_declRange(lean_object*); +static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__13___closed__4; +static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__1___closed__27; +static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__13___closed__9; lean_object* l_Nat_repr(lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___lambda__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___lambda__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__1___closed__17; static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__1___closed__8; static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__5___closed__4; lean_object* l_Lean_addBuiltinDeclarationRanges(lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__12___closed__3; static lean_object* l___regBuiltin_Lean_Elab_Command_expandMixfix___closed__1; static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__1___closed__15; static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__1___closed__5; static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__1___closed__14; +static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__1___closed__28; static lean_object* l___regBuiltin_Lean_Elab_Command_expandMixfix___closed__6; static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__1___closed__18; -LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___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_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___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* l_Lean_addMacroScope(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___lambda__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___lambda__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__1___closed__3; -LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___lambda__12(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___lambda__12(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix_withAttrKindGlobal(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__1___closed__10; lean_object* l_Lean_evalPrec(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___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_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___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* l_Lean_Syntax_mkNumLit(lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Command_expandMixfix_declRange___closed__6; extern lean_object* l_Lean_Elab_macroAttribute; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Command_expandMixfix(lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___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_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___lambda__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_setArg(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___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*); -static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__12___closed__7; -LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___lambda__11(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___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* l_Lean_Syntax_getArgs(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___lambda__11(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___lambda__12___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__11___closed__2; -LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___lambda__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_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___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*); -static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__12___closed__1; +LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___lambda__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*); +LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___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*); +static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__1___closed__25; static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__11___closed__1; -LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___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_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___lambda__11___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___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_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___lambda__11___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__11___closed__3; uint8_t l_Lean_Syntax_isNone(lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___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*); +LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___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*, lean_object*); +static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__13___closed__8; static lean_object* l___regBuiltin_Lean_Elab_Command_expandMixfix_declRange___closed__3; -static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__12___closed__2; static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__11___closed__5; static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__5___closed__7; +static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__13___closed__6; uint8_t l_Lean_Syntax_isOfKind(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__11___closed__4; static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__11___closed__6; extern lean_object* l_Lean_Elab_mkAttrKindGlobal; lean_object* l_Lean_Syntax_getArg(lean_object*, lean_object*); +static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__13___closed__1; static lean_object* l___regBuiltin_Lean_Elab_Command_expandMixfix_declRange___closed__5; -LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___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_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___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*); static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__1___closed__24; static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__1___closed__20; static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__11___closed__8; -static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__12___closed__6; +static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__13___closed__3; static lean_object* l___regBuiltin_Lean_Elab_Command_expandMixfix_declRange___closed__4; static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__1___closed__16; static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__1___closed__7; static lean_object* l___regBuiltin_Lean_Elab_Command_expandMixfix_declRange___closed__2; static lean_object* l___regBuiltin_Lean_Elab_Command_expandMixfix___closed__4; -LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___lambda__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_Command_expandMixfix___lambda__13___closed__2; +LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___lambda__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*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix_withAttrKindGlobal(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_unsigned_to_nat(1u); +x_5 = lean_unsigned_to_nat(2u); x_6 = l_Lean_Syntax_getArg(x_1, x_5); x_7 = l_Lean_Elab_mkAttrKindGlobal; x_8 = l_Lean_Syntax_setArg(x_1, x_5, x_7); @@ -317,7 +323,7 @@ static lean_object* _init_l_Lean_Elab_Command_expandMixfix___lambda__1___closed_ _start: { lean_object* x_1; lean_object* x_2; -x_1 = lean_unsigned_to_nat(9u); +x_1 = lean_unsigned_to_nat(10u); x_2 = lean_mk_empty_array_with_capacity(x_1); return x_2; } @@ -396,773 +402,920 @@ x_1 = lean_mk_string_from_bytes("name", 4); return x_1; } } -LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +static lean_object* _init_l_Lean_Elab_Command_expandMixfix___lambda__1___closed__25() { _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_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; -x_13 = lean_unsigned_to_nat(6u); -x_14 = l_Lean_Syntax_getArg(x_1, x_13); -x_15 = lean_unsigned_to_nat(8u); -x_16 = l_Lean_Syntax_getArg(x_1, x_15); -lean_inc(x_11); -x_17 = l_Lean_MonadRef_mkInfoFromRefPos___at___aux__Init__Notation______macroRules__precMax__1___spec__1(x_11, x_12); -x_18 = lean_ctor_get(x_17, 0); -lean_inc(x_18); -x_19 = lean_ctor_get(x_17, 1); -lean_inc(x_19); -if (lean_is_exclusive(x_17)) { - lean_ctor_release(x_17, 0); - lean_ctor_release(x_17, 1); - x_20 = x_17; -} else { - lean_dec_ref(x_17); - x_20 = lean_box(0); +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("attributes", 10); +return x_1; } -x_21 = lean_ctor_get(x_11, 2); -lean_inc(x_21); -x_22 = lean_ctor_get(x_11, 1); +} +static lean_object* _init_l_Lean_Elab_Command_expandMixfix___lambda__1___closed__26() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("@[", 2); +return x_1; +} +} +static lean_object* _init_l_Lean_Elab_Command_expandMixfix___lambda__1___closed__27() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("]", 1); +return x_1; +} +} +static lean_object* _init_l_Lean_Elab_Command_expandMixfix___lambda__1___closed__28() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = lean_unsigned_to_nat(3u); +x_2 = lean_mk_empty_array_with_capacity(x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +_start: +{ +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_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; +x_14 = lean_unsigned_to_nat(7u); +x_15 = l_Lean_Syntax_getArg(x_1, x_14); +x_16 = lean_unsigned_to_nat(9u); +x_17 = l_Lean_Syntax_getArg(x_1, x_16); +lean_inc(x_12); +x_18 = l_Lean_MonadRef_mkInfoFromRefPos___at___aux__Init__Notation______macroRules__precMax__1___spec__1(x_12, x_13); +x_19 = lean_ctor_get(x_18, 0); +lean_inc(x_19); +x_20 = lean_ctor_get(x_18, 1); +lean_inc(x_20); +if (lean_is_exclusive(x_18)) { + lean_ctor_release(x_18, 0); + lean_ctor_release(x_18, 1); + x_21 = x_18; +} else { + lean_dec_ref(x_18); + x_21 = lean_box(0); +} +x_22 = lean_ctor_get(x_12, 2); lean_inc(x_22); -lean_dec(x_11); -x_23 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__1; +x_23 = lean_ctor_get(x_12, 1); +lean_inc(x_23); +lean_dec(x_12); +x_24 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__1; lean_inc(x_2); -x_24 = l_Lean_Name_str___override(x_2, x_23); -x_25 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__3; -x_26 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__4; -lean_inc(x_18); -x_27 = lean_alloc_ctor(1, 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_Lean_Elab_Command_expandMixfix___lambda__1___closed__5; -x_29 = lean_array_push(x_28, x_27); -lean_inc(x_18); -x_30 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_30, 0, x_18); -lean_ctor_set(x_30, 1, x_3); -lean_ctor_set(x_30, 2, x_29); -lean_inc(x_18); -x_31 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_31, 0, x_18); -lean_ctor_set(x_31, 1, x_23); -x_32 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__6; -lean_inc(x_18); -x_33 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_33, 0, x_18); -lean_ctor_set(x_33, 1, x_32); -x_34 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__7; -x_35 = lean_array_push(x_34, x_33); -x_36 = lean_array_push(x_35, x_4); -lean_inc(x_18); -x_37 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_37, 0, x_18); -lean_ctor_set(x_37, 1, x_5); -lean_ctor_set(x_37, 2, x_36); -x_38 = lean_array_push(x_28, x_37); -lean_inc(x_18); -x_39 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_39, 0, x_18); -lean_ctor_set(x_39, 1, x_25); -lean_ctor_set(x_39, 2, x_38); -x_40 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__8; +x_25 = l_Lean_Name_str___override(x_2, x_24); +x_26 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__3; +x_27 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__4; +lean_inc(x_19); +x_28 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_28, 0, x_19); +lean_ctor_set(x_28, 1, x_26); +lean_ctor_set(x_28, 2, x_27); +x_29 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__5; +x_30 = lean_array_push(x_29, x_28); +lean_inc(x_19); +x_31 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_31, 0, x_19); +lean_ctor_set(x_31, 1, x_3); +lean_ctor_set(x_31, 2, x_30); +lean_inc(x_19); +x_32 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_32, 0, x_19); +lean_ctor_set(x_32, 1, x_24); +x_33 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__6; +lean_inc(x_19); +x_34 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_34, 0, x_19); +lean_ctor_set(x_34, 1, x_33); +x_35 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__7; +x_36 = lean_array_push(x_35, x_34); +x_37 = lean_array_push(x_36, x_4); +lean_inc(x_19); +x_38 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_38, 0, x_19); +lean_ctor_set(x_38, 1, x_5); +lean_ctor_set(x_38, 2, x_37); +x_39 = lean_array_push(x_29, x_38); +lean_inc(x_19); +x_40 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_40, 0, x_19); +lean_ctor_set(x_40, 1, x_26); +lean_ctor_set(x_40, 2, x_39); +x_41 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__8; lean_inc(x_2); -x_41 = l_Lean_Name_str___override(x_2, x_40); -x_42 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__12; -x_43 = l_Lean_addMacroScope(x_22, x_42, x_21); -x_44 = lean_box(0); -x_45 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__11; -lean_inc(x_18); -x_46 = lean_alloc_ctor(3, 4, 0); -lean_ctor_set(x_46, 0, x_18); -lean_ctor_set(x_46, 1, x_45); -lean_ctor_set(x_46, 2, x_43); -lean_ctor_set(x_46, 3, x_44); -lean_inc(x_46); -x_47 = lean_array_push(x_34, x_46); -lean_inc(x_39); -x_48 = lean_array_push(x_47, x_39); -lean_inc(x_18); -x_49 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_49, 0, x_18); -lean_ctor_set(x_49, 1, x_41); -lean_ctor_set(x_49, 2, x_48); -x_50 = lean_array_push(x_34, x_49); -x_51 = lean_array_push(x_50, x_14); -lean_inc(x_18); -x_52 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_52, 0, x_18); -lean_ctor_set(x_52, 1, x_25); -lean_ctor_set(x_52, 2, x_51); -x_53 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__13; -lean_inc(x_18); -x_54 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_54, 0, x_18); -lean_ctor_set(x_54, 1, x_53); -x_55 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__14; -x_56 = l_Lean_Name_str___override(x_6, x_55); -x_57 = lean_array_push(x_28, x_46); -lean_inc(x_18); -x_58 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_58, 0, x_18); -lean_ctor_set(x_58, 1, x_25); -lean_ctor_set(x_58, 2, x_57); -x_59 = lean_array_push(x_34, x_16); -x_60 = lean_array_push(x_59, x_58); -lean_inc(x_18); -x_61 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_61, 0, x_18); -lean_ctor_set(x_61, 1, x_56); -lean_ctor_set(x_61, 2, x_60); +x_42 = l_Lean_Name_str___override(x_2, x_41); +x_43 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__12; +x_44 = l_Lean_addMacroScope(x_23, x_43, x_22); +x_45 = lean_box(0); +x_46 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__11; +lean_inc(x_19); +x_47 = lean_alloc_ctor(3, 4, 0); +lean_ctor_set(x_47, 0, x_19); +lean_ctor_set(x_47, 1, x_46); +lean_ctor_set(x_47, 2, x_44); +lean_ctor_set(x_47, 3, x_45); +lean_inc(x_47); +x_48 = lean_array_push(x_35, x_47); +lean_inc(x_40); +x_49 = lean_array_push(x_48, x_40); +lean_inc(x_19); +x_50 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_50, 0, x_19); +lean_ctor_set(x_50, 1, x_42); +lean_ctor_set(x_50, 2, x_49); +x_51 = lean_array_push(x_35, x_50); +x_52 = lean_array_push(x_51, x_15); +lean_inc(x_19); +x_53 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_53, 0, x_19); +lean_ctor_set(x_53, 1, x_26); +lean_ctor_set(x_53, 2, x_52); +x_54 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__13; +lean_inc(x_19); +x_55 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_55, 0, x_19); +lean_ctor_set(x_55, 1, x_54); +x_56 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__14; +lean_inc(x_6); +x_57 = l_Lean_Name_str___override(x_6, x_56); +x_58 = lean_array_push(x_29, x_47); +lean_inc(x_19); +x_59 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_59, 0, x_19); +lean_ctor_set(x_59, 1, x_26); +lean_ctor_set(x_59, 2, x_58); +x_60 = lean_array_push(x_35, x_17); +x_61 = lean_array_push(x_60, x_59); +lean_inc(x_19); +x_62 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_62, 0, x_19); +lean_ctor_set(x_62, 1, x_57); +lean_ctor_set(x_62, 2, x_61); +if (lean_obj_tag(x_9) == 0) +{ +x_63 = x_27; +goto block_150; +} +else +{ +lean_object* x_151; lean_object* x_152; +x_151 = lean_ctor_get(x_9, 0); +lean_inc(x_151); +lean_dec(x_9); +x_152 = lean_array_push(x_29, x_151); +x_63 = x_152; +goto block_150; +} +block_150: +{ +lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; +x_64 = l_Array_append___rarg(x_27, x_63); +lean_inc(x_19); +x_65 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_65, 0, x_19); +lean_ctor_set(x_65, 1, x_26); +lean_ctor_set(x_65, 2, x_64); +x_66 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__15; +x_67 = lean_array_push(x_66, x_65); if (lean_obj_tag(x_8) == 0) { -x_62 = x_26; -goto block_129; +lean_dec(x_6); +x_68 = x_27; +goto block_134; } else { -lean_object* x_130; lean_object* x_131; -x_130 = lean_ctor_get(x_8, 0); -lean_inc(x_130); +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; lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; +x_135 = lean_ctor_get(x_8, 0); +lean_inc(x_135); lean_dec(x_8); -x_131 = lean_array_push(x_28, x_130); -x_62 = x_131; -goto block_129; +x_136 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__25; +x_137 = l_Lean_Name_str___override(x_6, x_136); +x_138 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__26; +lean_inc(x_19); +x_139 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_139, 0, x_19); +lean_ctor_set(x_139, 1, x_138); +x_140 = l_Array_append___rarg(x_27, x_135); +lean_inc(x_19); +x_141 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_141, 0, x_19); +lean_ctor_set(x_141, 1, x_26); +lean_ctor_set(x_141, 2, x_140); +x_142 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__27; +lean_inc(x_19); +x_143 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_143, 0, x_19); +lean_ctor_set(x_143, 1, x_142); +x_144 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__28; +x_145 = lean_array_push(x_144, x_139); +x_146 = lean_array_push(x_145, x_141); +x_147 = lean_array_push(x_146, x_143); +lean_inc(x_19); +x_148 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_148, 0, x_19); +lean_ctor_set(x_148, 1, x_137); +lean_ctor_set(x_148, 2, x_147); +x_149 = lean_array_push(x_29, x_148); +x_68 = x_149; +goto block_134; } -block_129: +block_134: { -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_63 = l_Array_append___rarg(x_26, x_62); -lean_inc(x_18); -x_64 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_64, 0, x_18); -lean_ctor_set(x_64, 1, x_25); -lean_ctor_set(x_64, 2, x_63); -x_65 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__15; -x_66 = lean_array_push(x_65, x_64); -x_67 = lean_array_push(x_66, x_30); -x_68 = lean_array_push(x_67, x_31); -x_69 = lean_array_push(x_68, x_39); +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; +x_69 = l_Array_append___rarg(x_27, x_68); +lean_inc(x_19); +x_70 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_70, 0, x_19); +lean_ctor_set(x_70, 1, x_26); +lean_ctor_set(x_70, 2, x_69); +x_71 = lean_array_push(x_67, x_70); +x_72 = lean_array_push(x_71, x_31); +x_73 = lean_array_push(x_72, x_32); +x_74 = lean_array_push(x_73, x_40); if (lean_obj_tag(x_7) == 0) { -x_70 = x_26; -goto block_109; +x_75 = x_27; +goto block_114; } 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; 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; -x_110 = lean_ctor_get(x_7, 0); -lean_inc(x_110); +lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133; +x_115 = lean_ctor_get(x_7, 0); +lean_inc(x_115); lean_dec(x_7); -x_111 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__23; +x_116 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__23; lean_inc(x_2); -x_112 = l_Lean_Name_str___override(x_2, x_111); -x_113 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__18; -lean_inc(x_18); -x_114 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_114, 0, x_18); -lean_ctor_set(x_114, 1, x_113); -x_115 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__24; -lean_inc(x_18); -x_116 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_116, 0, x_18); -lean_ctor_set(x_116, 1, x_115); -x_117 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__20; -lean_inc(x_18); -x_118 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_118, 0, x_18); -lean_ctor_set(x_118, 1, x_117); -x_119 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__21; -lean_inc(x_18); -x_120 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_120, 0, x_18); -lean_ctor_set(x_120, 1, x_119); -x_121 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__22; -x_122 = lean_array_push(x_121, x_114); -x_123 = lean_array_push(x_122, x_116); -x_124 = lean_array_push(x_123, x_118); -x_125 = lean_array_push(x_124, x_110); -x_126 = lean_array_push(x_125, x_120); -lean_inc(x_18); -x_127 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_127, 0, x_18); -lean_ctor_set(x_127, 1, x_112); -lean_ctor_set(x_127, 2, x_126); -x_128 = lean_array_push(x_28, x_127); -x_70 = x_128; -goto block_109; +x_117 = l_Lean_Name_str___override(x_2, x_116); +x_118 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__18; +lean_inc(x_19); +x_119 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_119, 0, x_19); +lean_ctor_set(x_119, 1, x_118); +x_120 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__24; +lean_inc(x_19); +x_121 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_121, 0, x_19); +lean_ctor_set(x_121, 1, x_120); +x_122 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__20; +lean_inc(x_19); +x_123 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_123, 0, x_19); +lean_ctor_set(x_123, 1, x_122); +x_124 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__21; +lean_inc(x_19); +x_125 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_125, 0, x_19); +lean_ctor_set(x_125, 1, x_124); +x_126 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__22; +x_127 = lean_array_push(x_126, x_119); +x_128 = lean_array_push(x_127, x_121); +x_129 = lean_array_push(x_128, x_123); +x_130 = lean_array_push(x_129, x_115); +x_131 = lean_array_push(x_130, x_125); +lean_inc(x_19); +x_132 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_132, 0, x_19); +lean_ctor_set(x_132, 1, x_117); +lean_ctor_set(x_132, 2, x_131); +x_133 = lean_array_push(x_29, x_132); +x_75 = x_133; +goto block_114; } -block_109: +block_114: { -lean_object* x_71; lean_object* x_72; lean_object* x_73; -x_71 = l_Array_append___rarg(x_26, x_70); -lean_inc(x_18); -x_72 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_72, 0, x_18); -lean_ctor_set(x_72, 1, x_25); -lean_ctor_set(x_72, 2, x_71); -x_73 = lean_array_push(x_69, x_72); -if (lean_obj_tag(x_10) == 0) +lean_object* x_76; lean_object* x_77; lean_object* x_78; +x_76 = l_Array_append___rarg(x_27, x_75); +lean_inc(x_19); +x_77 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_77, 0, x_19); +lean_ctor_set(x_77, 1, x_26); +lean_ctor_set(x_77, 2, x_76); +x_78 = lean_array_push(x_74, x_77); +if (lean_obj_tag(x_11) == 0) { -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_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_2); -x_74 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__16; -lean_inc(x_18); -x_75 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_75, 0, x_18); -lean_ctor_set(x_75, 1, x_25); -lean_ctor_set(x_75, 2, x_74); -x_76 = lean_array_push(x_73, x_75); -x_77 = lean_array_push(x_76, x_52); -x_78 = lean_array_push(x_77, x_54); -x_79 = lean_array_push(x_78, x_61); +x_79 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__16; +lean_inc(x_19); x_80 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_80, 0, x_18); -lean_ctor_set(x_80, 1, x_24); +lean_ctor_set(x_80, 0, x_19); +lean_ctor_set(x_80, 1, x_26); lean_ctor_set(x_80, 2, x_79); -if (lean_is_scalar(x_20)) { - x_81 = lean_alloc_ctor(0, 2, 0); +x_81 = lean_array_push(x_78, x_80); +x_82 = lean_array_push(x_81, x_53); +x_83 = lean_array_push(x_82, x_55); +x_84 = lean_array_push(x_83, x_62); +x_85 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_85, 0, x_19); +lean_ctor_set(x_85, 1, x_25); +lean_ctor_set(x_85, 2, x_84); +if (lean_is_scalar(x_21)) { + x_86 = lean_alloc_ctor(0, 2, 0); } else { - x_81 = x_20; + x_86 = x_21; } -lean_ctor_set(x_81, 0, x_80); -lean_ctor_set(x_81, 1, x_19); -return x_81; +lean_ctor_set(x_86, 0, x_85); +lean_ctor_set(x_86, 1, x_20); +return x_86; } else { -lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; -x_82 = lean_ctor_get(x_10, 0); -lean_inc(x_82); -lean_dec(x_10); -x_83 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__17; -x_84 = l_Lean_Name_str___override(x_2, x_83); -x_85 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__18; -lean_inc(x_18); -x_86 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_86, 0, x_18); -lean_ctor_set(x_86, 1, x_85); -x_87 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__19; -lean_inc(x_18); -x_88 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_88, 0, x_18); -lean_ctor_set(x_88, 1, x_87); -x_89 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__20; -lean_inc(x_18); -x_90 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_90, 0, x_18); -lean_ctor_set(x_90, 1, x_89); -x_91 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__21; -lean_inc(x_18); -x_92 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_92, 0, x_18); -lean_ctor_set(x_92, 1, x_91); -x_93 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__22; -x_94 = lean_array_push(x_93, x_86); -x_95 = lean_array_push(x_94, x_88); -x_96 = lean_array_push(x_95, x_90); -x_97 = lean_array_push(x_96, x_82); -x_98 = lean_array_push(x_97, x_92); -lean_inc(x_18); -x_99 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_99, 0, x_18); -lean_ctor_set(x_99, 1, x_84); -lean_ctor_set(x_99, 2, x_98); -x_100 = lean_array_push(x_28, x_99); -x_101 = l_Array_append___rarg(x_26, x_100); -lean_inc(x_18); -x_102 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_102, 0, x_18); -lean_ctor_set(x_102, 1, x_25); -lean_ctor_set(x_102, 2, x_101); -x_103 = lean_array_push(x_73, x_102); -x_104 = lean_array_push(x_103, x_52); -x_105 = lean_array_push(x_104, x_54); -x_106 = lean_array_push(x_105, x_61); +lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; +x_87 = lean_ctor_get(x_11, 0); +lean_inc(x_87); +lean_dec(x_11); +x_88 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__17; +x_89 = l_Lean_Name_str___override(x_2, x_88); +x_90 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__18; +lean_inc(x_19); +x_91 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_91, 0, x_19); +lean_ctor_set(x_91, 1, x_90); +x_92 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__19; +lean_inc(x_19); +x_93 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_93, 0, x_19); +lean_ctor_set(x_93, 1, x_92); +x_94 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__20; +lean_inc(x_19); +x_95 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_95, 0, x_19); +lean_ctor_set(x_95, 1, x_94); +x_96 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__21; +lean_inc(x_19); +x_97 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_97, 0, x_19); +lean_ctor_set(x_97, 1, x_96); +x_98 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__22; +x_99 = lean_array_push(x_98, x_91); +x_100 = lean_array_push(x_99, x_93); +x_101 = lean_array_push(x_100, x_95); +x_102 = lean_array_push(x_101, x_87); +x_103 = lean_array_push(x_102, x_97); +lean_inc(x_19); +x_104 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_104, 0, x_19); +lean_ctor_set(x_104, 1, x_89); +lean_ctor_set(x_104, 2, x_103); +x_105 = lean_array_push(x_29, x_104); +x_106 = l_Array_append___rarg(x_27, x_105); +lean_inc(x_19); x_107 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_107, 0, x_18); -lean_ctor_set(x_107, 1, x_24); +lean_ctor_set(x_107, 0, x_19); +lean_ctor_set(x_107, 1, x_26); lean_ctor_set(x_107, 2, x_106); -if (lean_is_scalar(x_20)) { - x_108 = lean_alloc_ctor(0, 2, 0); +x_108 = lean_array_push(x_78, x_107); +x_109 = lean_array_push(x_108, x_53); +x_110 = lean_array_push(x_109, x_55); +x_111 = lean_array_push(x_110, x_62); +x_112 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_112, 0, x_19); +lean_ctor_set(x_112, 1, x_25); +lean_ctor_set(x_112, 2, x_111); +if (lean_is_scalar(x_21)) { + x_113 = lean_alloc_ctor(0, 2, 0); } else { - x_108 = x_20; + x_113 = x_21; } -lean_ctor_set(x_108, 0, x_107); -lean_ctor_set(x_108, 1, x_19); -return x_108; +lean_ctor_set(x_113, 0, x_112); +lean_ctor_set(x_113, 1, x_20); +return x_113; } } } } } -LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___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_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___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) { _start: { -lean_object* x_12; lean_object* x_13; uint8_t x_14; -lean_dec(x_8); -x_12 = lean_unsigned_to_nat(5u); -x_13 = l_Lean_Syntax_getArg(x_1, x_12); -x_14 = l_Lean_Syntax_isNone(x_13); -if (x_14 == 0) -{ -lean_object* x_15; uint8_t x_16; -x_15 = lean_unsigned_to_nat(1u); -lean_inc(x_13); -x_16 = l_Lean_Syntax_matchesNull(x_13, x_15); -if (x_16 == 0) -{ -lean_object* x_17; lean_object* x_18; -lean_dec(x_13); -lean_dec(x_10); +lean_object* x_13; lean_object* x_14; uint8_t x_15; 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_17 = lean_box(1); -x_18 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_18, 0, x_17); -lean_ctor_set(x_18, 1, x_11); -return x_18; -} -else -{ -lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; uint8_t x_23; -x_19 = lean_unsigned_to_nat(0u); -x_20 = l_Lean_Syntax_getArg(x_13, x_19); -lean_dec(x_13); -x_21 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__17; -lean_inc(x_2); -x_22 = l_Lean_Name_str___override(x_2, x_21); -lean_inc(x_20); -x_23 = l_Lean_Syntax_isOfKind(x_20, x_22); -lean_dec(x_22); -if (x_23 == 0) -{ -lean_object* x_24; lean_object* x_25; -lean_dec(x_20); -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_24 = lean_box(1); -x_25 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_25, 0, x_24); -lean_ctor_set(x_25, 1, x_11); -return x_25; -} -else -{ -lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_26 = lean_unsigned_to_nat(3u); -x_27 = l_Lean_Syntax_getArg(x_20, x_26); -lean_dec(x_20); -x_28 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_28, 0, x_27); -x_29 = lean_box(0); -x_30 = l_Lean_Elab_Command_expandMixfix___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_9, x_7, x_29, x_28, x_10, x_11); -return x_30; -} -} -} -else -{ -lean_object* x_31; lean_object* x_32; lean_object* x_33; -lean_dec(x_13); -x_31 = lean_box(0); -x_32 = lean_box(0); -x_33 = l_Lean_Elab_Command_expandMixfix___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_9, x_7, x_32, x_31, x_10, x_11); -return x_33; -} -} -} -LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___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* x_10, lean_object* x_11, lean_object* x_12) { -_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_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; x_13 = lean_unsigned_to_nat(6u); x_14 = l_Lean_Syntax_getArg(x_1, x_13); -x_15 = lean_unsigned_to_nat(8u); -x_16 = l_Lean_Syntax_getArg(x_1, x_15); -lean_inc(x_11); -x_17 = l_Lean_MonadRef_mkInfoFromRefPos___at___aux__Init__Notation______macroRules__precMax__1___spec__1(x_11, x_12); -x_18 = lean_ctor_get(x_17, 0); -lean_inc(x_18); -x_19 = lean_ctor_get(x_17, 1); -lean_inc(x_19); -if (lean_is_exclusive(x_17)) { - lean_ctor_release(x_17, 0); - lean_ctor_release(x_17, 1); - x_20 = x_17; -} else { - lean_dec_ref(x_17); - x_20 = lean_box(0); -} -x_21 = lean_ctor_get(x_11, 2); -lean_inc(x_21); -x_22 = lean_ctor_get(x_11, 1); -lean_inc(x_22); +x_15 = l_Lean_Syntax_isNone(x_14); +if (x_15 == 0) +{ +lean_object* x_16; uint8_t x_17; +x_16 = lean_unsigned_to_nat(1u); +lean_inc(x_14); +x_17 = l_Lean_Syntax_matchesNull(x_14, x_16); +if (x_17 == 0) +{ +lean_object* x_18; lean_object* x_19; +lean_dec(x_14); lean_dec(x_11); -x_23 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__1; -lean_inc(x_2); -x_24 = l_Lean_Name_str___override(x_2, x_23); -x_25 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__3; -x_26 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__4; -lean_inc(x_18); -x_27 = lean_alloc_ctor(1, 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_Lean_Elab_Command_expandMixfix___lambda__1___closed__5; -x_29 = lean_array_push(x_28, x_27); -lean_inc(x_18); -x_30 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_30, 0, x_18); -lean_ctor_set(x_30, 1, x_3); -lean_ctor_set(x_30, 2, x_29); -lean_inc(x_18); -x_31 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_31, 0, x_18); -lean_ctor_set(x_31, 1, x_23); -x_32 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__6; -lean_inc(x_18); -x_33 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_33, 0, x_18); -lean_ctor_set(x_33, 1, x_32); -x_34 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__7; -x_35 = lean_array_push(x_34, x_33); -x_36 = lean_array_push(x_35, x_4); -lean_inc(x_18); -x_37 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_37, 0, x_18); -lean_ctor_set(x_37, 1, x_5); -lean_ctor_set(x_37, 2, x_36); -x_38 = lean_array_push(x_28, x_37); -lean_inc(x_18); -x_39 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_39, 0, x_18); -lean_ctor_set(x_39, 1, x_25); -lean_ctor_set(x_39, 2, x_38); -x_40 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__8; -lean_inc(x_2); -x_41 = l_Lean_Name_str___override(x_2, x_40); -x_42 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__12; -x_43 = l_Lean_addMacroScope(x_22, x_42, x_21); -x_44 = lean_box(0); -x_45 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__11; -lean_inc(x_18); -x_46 = lean_alloc_ctor(3, 4, 0); -lean_ctor_set(x_46, 0, x_18); -lean_ctor_set(x_46, 1, x_45); -lean_ctor_set(x_46, 2, x_43); -lean_ctor_set(x_46, 3, x_44); -lean_inc(x_46); -x_47 = lean_array_push(x_34, x_46); -lean_inc(x_39); -x_48 = lean_array_push(x_47, x_39); -lean_inc(x_18); -x_49 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_49, 0, x_18); -lean_ctor_set(x_49, 1, x_41); -lean_ctor_set(x_49, 2, x_48); -x_50 = lean_array_push(x_34, x_14); -x_51 = lean_array_push(x_50, x_49); -lean_inc(x_18); -x_52 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_52, 0, x_18); -lean_ctor_set(x_52, 1, x_25); -lean_ctor_set(x_52, 2, x_51); -x_53 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__13; -lean_inc(x_18); -x_54 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_54, 0, x_18); -lean_ctor_set(x_54, 1, x_53); -x_55 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__14; -x_56 = l_Lean_Name_str___override(x_6, x_55); -x_57 = lean_array_push(x_28, x_46); -lean_inc(x_18); -x_58 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_58, 0, x_18); -lean_ctor_set(x_58, 1, x_25); -lean_ctor_set(x_58, 2, x_57); -x_59 = lean_array_push(x_34, x_16); -x_60 = lean_array_push(x_59, x_58); -lean_inc(x_18); -x_61 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_61, 0, x_18); -lean_ctor_set(x_61, 1, x_56); -lean_ctor_set(x_61, 2, x_60); -if (lean_obj_tag(x_8) == 0) -{ -x_62 = x_26; -goto block_129; -} -else -{ -lean_object* x_130; lean_object* x_131; -x_130 = lean_ctor_get(x_8, 0); -lean_inc(x_130); -lean_dec(x_8); -x_131 = lean_array_push(x_28, x_130); -x_62 = x_131; -goto block_129; -} -block_129: -{ -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_63 = l_Array_append___rarg(x_26, x_62); -lean_inc(x_18); -x_64 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_64, 0, x_18); -lean_ctor_set(x_64, 1, x_25); -lean_ctor_set(x_64, 2, x_63); -x_65 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__15; -x_66 = lean_array_push(x_65, x_64); -x_67 = lean_array_push(x_66, x_30); -x_68 = lean_array_push(x_67, x_31); -x_69 = lean_array_push(x_68, x_39); -if (lean_obj_tag(x_7) == 0) -{ -x_70 = x_26; -goto block_109; -} -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; 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; -x_110 = lean_ctor_get(x_7, 0); -lean_inc(x_110); -lean_dec(x_7); -x_111 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__23; -lean_inc(x_2); -x_112 = l_Lean_Name_str___override(x_2, x_111); -x_113 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__18; -lean_inc(x_18); -x_114 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_114, 0, x_18); -lean_ctor_set(x_114, 1, x_113); -x_115 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__24; -lean_inc(x_18); -x_116 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_116, 0, x_18); -lean_ctor_set(x_116, 1, x_115); -x_117 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__20; -lean_inc(x_18); -x_118 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_118, 0, x_18); -lean_ctor_set(x_118, 1, x_117); -x_119 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__21; -lean_inc(x_18); -x_120 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_120, 0, x_18); -lean_ctor_set(x_120, 1, x_119); -x_121 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__22; -x_122 = lean_array_push(x_121, x_114); -x_123 = lean_array_push(x_122, x_116); -x_124 = lean_array_push(x_123, x_118); -x_125 = lean_array_push(x_124, x_110); -x_126 = lean_array_push(x_125, x_120); -lean_inc(x_18); -x_127 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_127, 0, x_18); -lean_ctor_set(x_127, 1, x_112); -lean_ctor_set(x_127, 2, x_126); -x_128 = lean_array_push(x_28, x_127); -x_70 = x_128; -goto block_109; -} -block_109: -{ -lean_object* x_71; lean_object* x_72; lean_object* x_73; -x_71 = l_Array_append___rarg(x_26, x_70); -lean_inc(x_18); -x_72 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_72, 0, x_18); -lean_ctor_set(x_72, 1, x_25); -lean_ctor_set(x_72, 2, x_71); -x_73 = lean_array_push(x_69, x_72); -if (lean_obj_tag(x_10) == 0) -{ -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_dec(x_2); -x_74 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__16; -lean_inc(x_18); -x_75 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_75, 0, x_18); -lean_ctor_set(x_75, 1, x_25); -lean_ctor_set(x_75, 2, x_74); -x_76 = lean_array_push(x_73, x_75); -x_77 = lean_array_push(x_76, x_52); -x_78 = lean_array_push(x_77, x_54); -x_79 = lean_array_push(x_78, x_61); -x_80 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_80, 0, x_18); -lean_ctor_set(x_80, 1, x_24); -lean_ctor_set(x_80, 2, x_79); -if (lean_is_scalar(x_20)) { - x_81 = lean_alloc_ctor(0, 2, 0); -} else { - x_81 = x_20; -} -lean_ctor_set(x_81, 0, x_80); -lean_ctor_set(x_81, 1, x_19); -return x_81; -} -else -{ -lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; -x_82 = lean_ctor_get(x_10, 0); -lean_inc(x_82); lean_dec(x_10); -x_83 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__17; -x_84 = l_Lean_Name_str___override(x_2, x_83); -x_85 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__18; -lean_inc(x_18); -x_86 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_86, 0, x_18); -lean_ctor_set(x_86, 1, x_85); -x_87 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__19; -lean_inc(x_18); -x_88 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_88, 0, x_18); -lean_ctor_set(x_88, 1, x_87); -x_89 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__20; -lean_inc(x_18); -x_90 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_90, 0, x_18); -lean_ctor_set(x_90, 1, x_89); -x_91 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__21; -lean_inc(x_18); -x_92 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_92, 0, x_18); -lean_ctor_set(x_92, 1, x_91); -x_93 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__22; -x_94 = lean_array_push(x_93, x_86); -x_95 = lean_array_push(x_94, x_88); -x_96 = lean_array_push(x_95, x_90); -x_97 = lean_array_push(x_96, x_82); -x_98 = lean_array_push(x_97, x_92); -lean_inc(x_18); -x_99 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_99, 0, x_18); -lean_ctor_set(x_99, 1, x_84); -lean_ctor_set(x_99, 2, x_98); -x_100 = lean_array_push(x_28, x_99); -x_101 = l_Array_append___rarg(x_26, x_100); -lean_inc(x_18); -x_102 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_102, 0, x_18); -lean_ctor_set(x_102, 1, x_25); -lean_ctor_set(x_102, 2, x_101); -x_103 = lean_array_push(x_73, x_102); -x_104 = lean_array_push(x_103, x_52); -x_105 = lean_array_push(x_104, x_54); -x_106 = lean_array_push(x_105, x_61); -x_107 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_107, 0, x_18); -lean_ctor_set(x_107, 1, x_24); -lean_ctor_set(x_107, 2, x_106); -if (lean_is_scalar(x_20)) { - x_108 = lean_alloc_ctor(0, 2, 0); -} else { - x_108 = x_20; +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_18 = lean_box(1); +x_19 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_19, 0, x_18); +lean_ctor_set(x_19, 1, x_12); +return x_19; } -lean_ctor_set(x_108, 0, x_107); -lean_ctor_set(x_108, 1, x_19); -return x_108; +else +{ +lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; +x_20 = lean_unsigned_to_nat(0u); +x_21 = l_Lean_Syntax_getArg(x_14, x_20); +lean_dec(x_14); +x_22 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__17; +lean_inc(x_2); +x_23 = l_Lean_Name_str___override(x_2, x_22); +lean_inc(x_21); +x_24 = l_Lean_Syntax_isOfKind(x_21, x_23); +lean_dec(x_23); +if (x_24 == 0) +{ +lean_object* x_25; lean_object* x_26; +lean_dec(x_21); +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_25 = lean_box(1); +x_26 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_26, 0, x_25); +lean_ctor_set(x_26, 1, 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; +x_27 = lean_unsigned_to_nat(3u); +x_28 = l_Lean_Syntax_getArg(x_21, x_27); +lean_dec(x_21); +x_29 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_29, 0, x_28); +x_30 = lean_box(0); +x_31 = l_Lean_Elab_Command_expandMixfix___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_10, x_7, x_8, x_30, x_29, x_11, x_12); +return x_31; } } } +else +{ +lean_object* x_32; lean_object* x_33; lean_object* x_34; +lean_dec(x_14); +x_32 = lean_box(0); +x_33 = lean_box(0); +x_34 = l_Lean_Elab_Command_expandMixfix___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_10, x_7, x_8, x_33, x_32, x_11, x_12); +return x_34; } } -LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___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* x_10, lean_object* x_11) { +} +LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___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* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { _start: { -lean_object* x_12; lean_object* x_13; uint8_t x_14; -lean_dec(x_8); -x_12 = lean_unsigned_to_nat(5u); -x_13 = l_Lean_Syntax_getArg(x_1, x_12); -x_14 = l_Lean_Syntax_isNone(x_13); -if (x_14 == 0) -{ -lean_object* x_15; uint8_t x_16; -x_15 = lean_unsigned_to_nat(1u); -lean_inc(x_13); -x_16 = l_Lean_Syntax_matchesNull(x_13, x_15); -if (x_16 == 0) -{ -lean_object* x_17; lean_object* x_18; -lean_dec(x_13); -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_17 = lean_box(1); -x_18 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_18, 0, x_17); -lean_ctor_set(x_18, 1, x_11); -return x_18; -} -else -{ -lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; uint8_t x_23; -x_19 = lean_unsigned_to_nat(0u); -x_20 = l_Lean_Syntax_getArg(x_13, x_19); -lean_dec(x_13); -x_21 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__17; -lean_inc(x_2); -x_22 = l_Lean_Name_str___override(x_2, x_21); +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_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; +x_14 = lean_unsigned_to_nat(7u); +x_15 = l_Lean_Syntax_getArg(x_1, x_14); +x_16 = lean_unsigned_to_nat(9u); +x_17 = l_Lean_Syntax_getArg(x_1, x_16); +lean_inc(x_12); +x_18 = l_Lean_MonadRef_mkInfoFromRefPos___at___aux__Init__Notation______macroRules__precMax__1___spec__1(x_12, x_13); +x_19 = lean_ctor_get(x_18, 0); +lean_inc(x_19); +x_20 = lean_ctor_get(x_18, 1); lean_inc(x_20); -x_23 = l_Lean_Syntax_isOfKind(x_20, x_22); -lean_dec(x_22); -if (x_23 == 0) +if (lean_is_exclusive(x_18)) { + lean_ctor_release(x_18, 0); + lean_ctor_release(x_18, 1); + x_21 = x_18; +} else { + lean_dec_ref(x_18); + x_21 = lean_box(0); +} +x_22 = lean_ctor_get(x_12, 2); +lean_inc(x_22); +x_23 = lean_ctor_get(x_12, 1); +lean_inc(x_23); +lean_dec(x_12); +x_24 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__1; +lean_inc(x_2); +x_25 = l_Lean_Name_str___override(x_2, x_24); +x_26 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__3; +x_27 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__4; +lean_inc(x_19); +x_28 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_28, 0, x_19); +lean_ctor_set(x_28, 1, x_26); +lean_ctor_set(x_28, 2, x_27); +x_29 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__5; +x_30 = lean_array_push(x_29, x_28); +lean_inc(x_19); +x_31 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_31, 0, x_19); +lean_ctor_set(x_31, 1, x_3); +lean_ctor_set(x_31, 2, x_30); +lean_inc(x_19); +x_32 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_32, 0, x_19); +lean_ctor_set(x_32, 1, x_24); +x_33 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__6; +lean_inc(x_19); +x_34 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_34, 0, x_19); +lean_ctor_set(x_34, 1, x_33); +x_35 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__7; +x_36 = lean_array_push(x_35, x_34); +x_37 = lean_array_push(x_36, x_4); +lean_inc(x_19); +x_38 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_38, 0, x_19); +lean_ctor_set(x_38, 1, x_5); +lean_ctor_set(x_38, 2, x_37); +x_39 = lean_array_push(x_29, x_38); +lean_inc(x_19); +x_40 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_40, 0, x_19); +lean_ctor_set(x_40, 1, x_26); +lean_ctor_set(x_40, 2, x_39); +x_41 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__8; +lean_inc(x_2); +x_42 = l_Lean_Name_str___override(x_2, x_41); +x_43 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__12; +x_44 = l_Lean_addMacroScope(x_23, x_43, x_22); +x_45 = lean_box(0); +x_46 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__11; +lean_inc(x_19); +x_47 = lean_alloc_ctor(3, 4, 0); +lean_ctor_set(x_47, 0, x_19); +lean_ctor_set(x_47, 1, x_46); +lean_ctor_set(x_47, 2, x_44); +lean_ctor_set(x_47, 3, x_45); +lean_inc(x_47); +x_48 = lean_array_push(x_35, x_47); +lean_inc(x_40); +x_49 = lean_array_push(x_48, x_40); +lean_inc(x_19); +x_50 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_50, 0, x_19); +lean_ctor_set(x_50, 1, x_42); +lean_ctor_set(x_50, 2, x_49); +x_51 = lean_array_push(x_35, x_15); +x_52 = lean_array_push(x_51, x_50); +lean_inc(x_19); +x_53 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_53, 0, x_19); +lean_ctor_set(x_53, 1, x_26); +lean_ctor_set(x_53, 2, x_52); +x_54 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__13; +lean_inc(x_19); +x_55 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_55, 0, x_19); +lean_ctor_set(x_55, 1, x_54); +x_56 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__14; +lean_inc(x_6); +x_57 = l_Lean_Name_str___override(x_6, x_56); +x_58 = lean_array_push(x_29, x_47); +lean_inc(x_19); +x_59 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_59, 0, x_19); +lean_ctor_set(x_59, 1, x_26); +lean_ctor_set(x_59, 2, x_58); +x_60 = lean_array_push(x_35, x_17); +x_61 = lean_array_push(x_60, x_59); +lean_inc(x_19); +x_62 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_62, 0, x_19); +lean_ctor_set(x_62, 1, x_57); +lean_ctor_set(x_62, 2, x_61); +if (lean_obj_tag(x_9) == 0) { -lean_object* x_24; lean_object* x_25; -lean_dec(x_20); -lean_dec(x_10); +x_63 = x_27; +goto block_150; +} +else +{ +lean_object* x_151; lean_object* x_152; +x_151 = lean_ctor_get(x_9, 0); +lean_inc(x_151); lean_dec(x_9); +x_152 = lean_array_push(x_29, x_151); +x_63 = x_152; +goto block_150; +} +block_150: +{ +lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; +x_64 = l_Array_append___rarg(x_27, x_63); +lean_inc(x_19); +x_65 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_65, 0, x_19); +lean_ctor_set(x_65, 1, x_26); +lean_ctor_set(x_65, 2, x_64); +x_66 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__15; +x_67 = lean_array_push(x_66, x_65); +if (lean_obj_tag(x_8) == 0) +{ +lean_dec(x_6); +x_68 = x_27; +goto block_134; +} +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; 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_135 = lean_ctor_get(x_8, 0); +lean_inc(x_135); +lean_dec(x_8); +x_136 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__25; +x_137 = l_Lean_Name_str___override(x_6, x_136); +x_138 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__26; +lean_inc(x_19); +x_139 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_139, 0, x_19); +lean_ctor_set(x_139, 1, x_138); +x_140 = l_Array_append___rarg(x_27, x_135); +lean_inc(x_19); +x_141 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_141, 0, x_19); +lean_ctor_set(x_141, 1, x_26); +lean_ctor_set(x_141, 2, x_140); +x_142 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__27; +lean_inc(x_19); +x_143 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_143, 0, x_19); +lean_ctor_set(x_143, 1, x_142); +x_144 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__28; +x_145 = lean_array_push(x_144, x_139); +x_146 = lean_array_push(x_145, x_141); +x_147 = lean_array_push(x_146, x_143); +lean_inc(x_19); +x_148 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_148, 0, x_19); +lean_ctor_set(x_148, 1, x_137); +lean_ctor_set(x_148, 2, x_147); +x_149 = lean_array_push(x_29, x_148); +x_68 = x_149; +goto block_134; +} +block_134: +{ +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; +x_69 = l_Array_append___rarg(x_27, x_68); +lean_inc(x_19); +x_70 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_70, 0, x_19); +lean_ctor_set(x_70, 1, x_26); +lean_ctor_set(x_70, 2, x_69); +x_71 = lean_array_push(x_67, x_70); +x_72 = lean_array_push(x_71, x_31); +x_73 = lean_array_push(x_72, x_32); +x_74 = lean_array_push(x_73, x_40); +if (lean_obj_tag(x_7) == 0) +{ +x_75 = x_27; +goto block_114; +} +else +{ +lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133; +x_115 = lean_ctor_get(x_7, 0); +lean_inc(x_115); +lean_dec(x_7); +x_116 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__23; +lean_inc(x_2); +x_117 = l_Lean_Name_str___override(x_2, x_116); +x_118 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__18; +lean_inc(x_19); +x_119 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_119, 0, x_19); +lean_ctor_set(x_119, 1, x_118); +x_120 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__24; +lean_inc(x_19); +x_121 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_121, 0, x_19); +lean_ctor_set(x_121, 1, x_120); +x_122 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__20; +lean_inc(x_19); +x_123 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_123, 0, x_19); +lean_ctor_set(x_123, 1, x_122); +x_124 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__21; +lean_inc(x_19); +x_125 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_125, 0, x_19); +lean_ctor_set(x_125, 1, x_124); +x_126 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__22; +x_127 = lean_array_push(x_126, x_119); +x_128 = lean_array_push(x_127, x_121); +x_129 = lean_array_push(x_128, x_123); +x_130 = lean_array_push(x_129, x_115); +x_131 = lean_array_push(x_130, x_125); +lean_inc(x_19); +x_132 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_132, 0, x_19); +lean_ctor_set(x_132, 1, x_117); +lean_ctor_set(x_132, 2, x_131); +x_133 = lean_array_push(x_29, x_132); +x_75 = x_133; +goto block_114; +} +block_114: +{ +lean_object* x_76; lean_object* x_77; lean_object* x_78; +x_76 = l_Array_append___rarg(x_27, x_75); +lean_inc(x_19); +x_77 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_77, 0, x_19); +lean_ctor_set(x_77, 1, x_26); +lean_ctor_set(x_77, 2, x_76); +x_78 = lean_array_push(x_74, x_77); +if (lean_obj_tag(x_11) == 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; lean_object* x_85; lean_object* x_86; +lean_dec(x_2); +x_79 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__16; +lean_inc(x_19); +x_80 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_80, 0, x_19); +lean_ctor_set(x_80, 1, x_26); +lean_ctor_set(x_80, 2, x_79); +x_81 = lean_array_push(x_78, x_80); +x_82 = lean_array_push(x_81, x_53); +x_83 = lean_array_push(x_82, x_55); +x_84 = lean_array_push(x_83, x_62); +x_85 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_85, 0, x_19); +lean_ctor_set(x_85, 1, x_25); +lean_ctor_set(x_85, 2, x_84); +if (lean_is_scalar(x_21)) { + x_86 = lean_alloc_ctor(0, 2, 0); +} else { + x_86 = x_21; +} +lean_ctor_set(x_86, 0, x_85); +lean_ctor_set(x_86, 1, x_20); +return x_86; +} +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; lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; +x_87 = lean_ctor_get(x_11, 0); +lean_inc(x_87); +lean_dec(x_11); +x_88 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__17; +x_89 = l_Lean_Name_str___override(x_2, x_88); +x_90 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__18; +lean_inc(x_19); +x_91 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_91, 0, x_19); +lean_ctor_set(x_91, 1, x_90); +x_92 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__19; +lean_inc(x_19); +x_93 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_93, 0, x_19); +lean_ctor_set(x_93, 1, x_92); +x_94 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__20; +lean_inc(x_19); +x_95 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_95, 0, x_19); +lean_ctor_set(x_95, 1, x_94); +x_96 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__21; +lean_inc(x_19); +x_97 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_97, 0, x_19); +lean_ctor_set(x_97, 1, x_96); +x_98 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__22; +x_99 = lean_array_push(x_98, x_91); +x_100 = lean_array_push(x_99, x_93); +x_101 = lean_array_push(x_100, x_95); +x_102 = lean_array_push(x_101, x_87); +x_103 = lean_array_push(x_102, x_97); +lean_inc(x_19); +x_104 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_104, 0, x_19); +lean_ctor_set(x_104, 1, x_89); +lean_ctor_set(x_104, 2, x_103); +x_105 = lean_array_push(x_29, x_104); +x_106 = l_Array_append___rarg(x_27, x_105); +lean_inc(x_19); +x_107 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_107, 0, x_19); +lean_ctor_set(x_107, 1, x_26); +lean_ctor_set(x_107, 2, x_106); +x_108 = lean_array_push(x_78, x_107); +x_109 = lean_array_push(x_108, x_53); +x_110 = lean_array_push(x_109, x_55); +x_111 = lean_array_push(x_110, x_62); +x_112 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_112, 0, x_19); +lean_ctor_set(x_112, 1, x_25); +lean_ctor_set(x_112, 2, x_111); +if (lean_is_scalar(x_21)) { + x_113 = lean_alloc_ctor(0, 2, 0); +} else { + x_113 = x_21; +} +lean_ctor_set(x_113, 0, x_112); +lean_ctor_set(x_113, 1, x_20); +return x_113; +} +} +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___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* x_10, lean_object* x_11, lean_object* x_12) { +_start: +{ +lean_object* x_13; lean_object* x_14; uint8_t x_15; +lean_dec(x_9); +x_13 = lean_unsigned_to_nat(6u); +x_14 = l_Lean_Syntax_getArg(x_1, x_13); +x_15 = l_Lean_Syntax_isNone(x_14); +if (x_15 == 0) +{ +lean_object* x_16; uint8_t x_17; +x_16 = lean_unsigned_to_nat(1u); +lean_inc(x_14); +x_17 = l_Lean_Syntax_matchesNull(x_14, x_16); +if (x_17 == 0) +{ +lean_object* x_18; lean_object* x_19; +lean_dec(x_14); +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_24 = lean_box(1); -x_25 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_25, 0, x_24); -lean_ctor_set(x_25, 1, x_11); -return x_25; +x_18 = lean_box(1); +x_19 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_19, 0, x_18); +lean_ctor_set(x_19, 1, x_12); +return x_19; } else { -lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_26 = lean_unsigned_to_nat(3u); -x_27 = l_Lean_Syntax_getArg(x_20, x_26); -lean_dec(x_20); -x_28 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_28, 0, x_27); -x_29 = lean_box(0); -x_30 = l_Lean_Elab_Command_expandMixfix___lambda__3(x_1, x_2, x_3, x_4, x_5, x_6, x_9, x_7, x_29, x_28, x_10, x_11); -return x_30; +lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; +x_20 = lean_unsigned_to_nat(0u); +x_21 = l_Lean_Syntax_getArg(x_14, x_20); +lean_dec(x_14); +x_22 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__17; +lean_inc(x_2); +x_23 = l_Lean_Name_str___override(x_2, x_22); +lean_inc(x_21); +x_24 = l_Lean_Syntax_isOfKind(x_21, x_23); +lean_dec(x_23); +if (x_24 == 0) +{ +lean_object* x_25; lean_object* x_26; +lean_dec(x_21); +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_25 = lean_box(1); +x_26 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_26, 0, x_25); +lean_ctor_set(x_26, 1, 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; +x_27 = lean_unsigned_to_nat(3u); +x_28 = l_Lean_Syntax_getArg(x_21, x_27); +lean_dec(x_21); +x_29 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_29, 0, x_28); +x_30 = lean_box(0); +x_31 = l_Lean_Elab_Command_expandMixfix___lambda__3(x_1, x_2, x_3, x_4, x_5, x_6, x_10, x_7, x_8, x_30, x_29, x_11, x_12); +return x_31; } } } else { -lean_object* x_31; lean_object* x_32; lean_object* x_33; -lean_dec(x_13); -x_31 = lean_box(0); +lean_object* x_32; lean_object* x_33; lean_object* x_34; +lean_dec(x_14); x_32 = lean_box(0); -x_33 = l_Lean_Elab_Command_expandMixfix___lambda__3(x_1, x_2, x_3, x_4, x_5, x_6, x_9, x_7, x_32, x_31, x_10, x_11); -return x_33; +x_33 = lean_box(0); +x_34 = l_Lean_Elab_Command_expandMixfix___lambda__3(x_1, x_2, x_3, x_4, x_5, x_6, x_10, x_7, x_8, x_33, x_32, x_11, x_12); +return x_34; } } } @@ -1248,1313 +1401,463 @@ x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Command_expandMixfix___lambda__5___closed__9() { +LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___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, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = lean_unsigned_to_nat(3u); -x_2 = lean_mk_empty_array_with_capacity(x_1); -return x_2; -} -} -LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___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, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { -_start: -{ -lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; -x_13 = lean_unsigned_to_nat(6u); -x_14 = l_Lean_Syntax_getArg(x_1, x_13); -x_15 = lean_unsigned_to_nat(8u); -x_16 = l_Lean_Syntax_getArg(x_1, x_15); -lean_inc(x_11); +lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; +x_14 = lean_unsigned_to_nat(7u); +x_15 = l_Lean_Syntax_getArg(x_1, x_14); +x_16 = lean_unsigned_to_nat(9u); +x_17 = l_Lean_Syntax_getArg(x_1, x_16); +lean_inc(x_12); lean_inc(x_2); -x_17 = l_Lean_evalPrec(x_2, x_11, x_12); -if (lean_obj_tag(x_17) == 0) +x_18 = l_Lean_evalPrec(x_2, x_12, x_13); +if (lean_obj_tag(x_18) == 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; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; 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_18 = lean_ctor_get(x_17, 0); -lean_inc(x_18); -x_19 = lean_ctor_get(x_17, 1); +lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; 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_19 = lean_ctor_get(x_18, 0); lean_inc(x_19); -lean_dec(x_17); -x_20 = lean_unsigned_to_nat(1u); -x_21 = lean_nat_add(x_18, x_20); -lean_dec(x_18); -x_22 = l_Nat_repr(x_21); -x_23 = lean_box(2); -x_24 = l_Lean_Syntax_mkNumLit(x_22, x_23); -lean_inc(x_11); -x_25 = l_Lean_MonadRef_mkInfoFromRefPos___at___aux__Init__Notation______macroRules__precMax__1___spec__1(x_11, x_19); -x_26 = lean_ctor_get(x_25, 0); -lean_inc(x_26); -x_27 = lean_ctor_get(x_25, 1); -lean_inc(x_27); -if (lean_is_exclusive(x_25)) { - lean_ctor_release(x_25, 0); - lean_ctor_release(x_25, 1); - x_28 = x_25; -} else { - lean_dec_ref(x_25); - x_28 = lean_box(0); -} -x_29 = lean_ctor_get(x_11, 2); -lean_inc(x_29); -x_30 = lean_ctor_get(x_11, 1); -lean_inc(x_30); -lean_dec(x_11); -x_31 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__1; -lean_inc(x_3); -x_32 = l_Lean_Name_str___override(x_3, x_31); -x_33 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__3; -x_34 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__4; -lean_inc(x_26); -x_35 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_35, 0, x_26); -lean_ctor_set(x_35, 1, x_33); -lean_ctor_set(x_35, 2, x_34); -x_36 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__5; -x_37 = lean_array_push(x_36, x_35); -lean_inc(x_26); -x_38 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_38, 0, x_26); -lean_ctor_set(x_38, 1, x_4); -lean_ctor_set(x_38, 2, x_37); -lean_inc(x_26); -x_39 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_39, 0, x_26); -lean_ctor_set(x_39, 1, x_31); -x_40 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__6; -lean_inc(x_26); -x_41 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_41, 0, x_26); -lean_ctor_set(x_41, 1, x_40); -x_42 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__7; -x_43 = lean_array_push(x_42, x_41); -lean_inc(x_43); -x_44 = lean_array_push(x_43, x_2); -lean_inc(x_5); -lean_inc(x_26); -x_45 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_45, 0, x_26); -lean_ctor_set(x_45, 1, x_5); -lean_ctor_set(x_45, 2, x_44); -x_46 = lean_array_push(x_36, x_45); -lean_inc(x_26); -x_47 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_47, 0, x_26); -lean_ctor_set(x_47, 1, x_33); -lean_ctor_set(x_47, 2, x_46); -x_48 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__8; -lean_inc(x_3); -x_49 = l_Lean_Name_str___override(x_3, x_48); -x_50 = l_Lean_Elab_Command_expandMixfix___lambda__5___closed__4; -lean_inc(x_29); -lean_inc(x_30); -x_51 = l_Lean_addMacroScope(x_30, x_50, x_29); -x_52 = lean_box(0); -x_53 = l_Lean_Elab_Command_expandMixfix___lambda__5___closed__3; -lean_inc(x_26); -x_54 = lean_alloc_ctor(3, 4, 0); -lean_ctor_set(x_54, 0, x_26); -lean_ctor_set(x_54, 1, x_53); -lean_ctor_set(x_54, 2, x_51); -lean_ctor_set(x_54, 3, x_52); -x_55 = lean_array_push(x_43, x_24); -lean_inc(x_26); -x_56 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_56, 0, x_26); -lean_ctor_set(x_56, 1, x_5); -lean_ctor_set(x_56, 2, x_55); -x_57 = lean_array_push(x_36, x_56); -lean_inc(x_26); -x_58 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_58, 0, x_26); -lean_ctor_set(x_58, 1, x_33); -lean_ctor_set(x_58, 2, x_57); -x_59 = lean_array_push(x_42, x_54); -lean_inc(x_59); -x_60 = lean_array_push(x_59, x_58); -lean_inc(x_49); -lean_inc(x_26); -x_61 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_61, 0, x_26); -lean_ctor_set(x_61, 1, x_49); -lean_ctor_set(x_61, 2, x_60); -x_62 = l_Lean_Elab_Command_expandMixfix___lambda__5___closed__8; -x_63 = l_Lean_addMacroScope(x_30, x_62, x_29); -x_64 = l_Lean_Elab_Command_expandMixfix___lambda__5___closed__7; -lean_inc(x_26); -x_65 = lean_alloc_ctor(3, 4, 0); -lean_ctor_set(x_65, 0, x_26); -lean_ctor_set(x_65, 1, x_64); -lean_ctor_set(x_65, 2, x_63); -lean_ctor_set(x_65, 3, x_52); -lean_inc(x_65); -x_66 = lean_array_push(x_42, x_65); -lean_inc(x_47); -x_67 = lean_array_push(x_66, x_47); -lean_inc(x_26); -x_68 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_68, 0, x_26); -lean_ctor_set(x_68, 1, x_49); -lean_ctor_set(x_68, 2, x_67); -x_69 = l_Lean_Elab_Command_expandMixfix___lambda__5___closed__9; -x_70 = lean_array_push(x_69, x_61); -x_71 = lean_array_push(x_70, x_14); -x_72 = lean_array_push(x_71, x_68); -lean_inc(x_26); -x_73 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_73, 0, x_26); -lean_ctor_set(x_73, 1, x_33); -lean_ctor_set(x_73, 2, x_72); -x_74 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__13; -lean_inc(x_26); -x_75 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_75, 0, x_26); -lean_ctor_set(x_75, 1, x_74); -x_76 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__14; -x_77 = l_Lean_Name_str___override(x_6, x_76); -x_78 = lean_array_push(x_59, x_65); -lean_inc(x_26); -x_79 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_79, 0, x_26); -lean_ctor_set(x_79, 1, x_33); -lean_ctor_set(x_79, 2, x_78); -x_80 = lean_array_push(x_42, x_16); -x_81 = lean_array_push(x_80, x_79); -lean_inc(x_26); -x_82 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_82, 0, x_26); -lean_ctor_set(x_82, 1, x_77); -lean_ctor_set(x_82, 2, x_81); -if (lean_obj_tag(x_8) == 0) -{ -x_83 = x_34; -goto block_150; -} -else -{ -lean_object* x_151; lean_object* x_152; -x_151 = lean_ctor_get(x_8, 0); -lean_inc(x_151); -lean_dec(x_8); -x_152 = lean_array_push(x_36, x_151); -x_83 = x_152; -goto block_150; -} -block_150: -{ -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; -x_84 = l_Array_append___rarg(x_34, x_83); -lean_inc(x_26); -x_85 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_85, 0, x_26); -lean_ctor_set(x_85, 1, x_33); -lean_ctor_set(x_85, 2, x_84); -x_86 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__15; -x_87 = lean_array_push(x_86, x_85); -x_88 = lean_array_push(x_87, x_38); -x_89 = lean_array_push(x_88, x_39); -x_90 = lean_array_push(x_89, x_47); -if (lean_obj_tag(x_7) == 0) -{ -x_91 = x_34; -goto block_130; -} -else -{ -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; lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; -x_131 = lean_ctor_get(x_7, 0); -lean_inc(x_131); -lean_dec(x_7); -x_132 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__23; -lean_inc(x_3); -x_133 = l_Lean_Name_str___override(x_3, x_132); -x_134 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__18; -lean_inc(x_26); -x_135 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_135, 0, x_26); -lean_ctor_set(x_135, 1, x_134); -x_136 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__24; -lean_inc(x_26); -x_137 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_137, 0, x_26); -lean_ctor_set(x_137, 1, x_136); -x_138 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__20; -lean_inc(x_26); -x_139 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_139, 0, x_26); -lean_ctor_set(x_139, 1, x_138); -x_140 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__21; -lean_inc(x_26); -x_141 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_141, 0, x_26); -lean_ctor_set(x_141, 1, x_140); -x_142 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__22; -x_143 = lean_array_push(x_142, x_135); -x_144 = lean_array_push(x_143, x_137); -x_145 = lean_array_push(x_144, x_139); -x_146 = lean_array_push(x_145, x_131); -x_147 = lean_array_push(x_146, x_141); -lean_inc(x_26); -x_148 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_148, 0, x_26); -lean_ctor_set(x_148, 1, x_133); -lean_ctor_set(x_148, 2, x_147); -x_149 = lean_array_push(x_36, x_148); -x_91 = x_149; -goto block_130; -} -block_130: -{ -lean_object* x_92; lean_object* x_93; lean_object* x_94; -x_92 = l_Array_append___rarg(x_34, x_91); -lean_inc(x_26); -x_93 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_93, 0, x_26); -lean_ctor_set(x_93, 1, x_33); -lean_ctor_set(x_93, 2, x_92); -x_94 = lean_array_push(x_90, x_93); -if (lean_obj_tag(x_10) == 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_object* x_101; lean_object* x_102; -lean_dec(x_3); -x_95 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__16; -lean_inc(x_26); -x_96 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_96, 0, x_26); -lean_ctor_set(x_96, 1, x_33); -lean_ctor_set(x_96, 2, x_95); -x_97 = lean_array_push(x_94, x_96); -x_98 = lean_array_push(x_97, x_73); -x_99 = lean_array_push(x_98, x_75); -x_100 = lean_array_push(x_99, x_82); -x_101 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_101, 0, x_26); -lean_ctor_set(x_101, 1, x_32); -lean_ctor_set(x_101, 2, x_100); -if (lean_is_scalar(x_28)) { - x_102 = lean_alloc_ctor(0, 2, 0); -} else { - x_102 = x_28; -} -lean_ctor_set(x_102, 0, x_101); -lean_ctor_set(x_102, 1, x_27); -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_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129; -x_103 = lean_ctor_get(x_10, 0); -lean_inc(x_103); -lean_dec(x_10); -x_104 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__17; -x_105 = l_Lean_Name_str___override(x_3, x_104); -x_106 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__18; -lean_inc(x_26); -x_107 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_107, 0, x_26); -lean_ctor_set(x_107, 1, x_106); -x_108 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__19; -lean_inc(x_26); -x_109 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_109, 0, x_26); -lean_ctor_set(x_109, 1, x_108); -x_110 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__20; -lean_inc(x_26); -x_111 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_111, 0, x_26); -lean_ctor_set(x_111, 1, x_110); -x_112 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__21; -lean_inc(x_26); -x_113 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_113, 0, x_26); -lean_ctor_set(x_113, 1, x_112); -x_114 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__22; -x_115 = lean_array_push(x_114, x_107); -x_116 = lean_array_push(x_115, x_109); -x_117 = lean_array_push(x_116, x_111); -x_118 = lean_array_push(x_117, x_103); -x_119 = lean_array_push(x_118, x_113); -lean_inc(x_26); -x_120 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_120, 0, x_26); -lean_ctor_set(x_120, 1, x_105); -lean_ctor_set(x_120, 2, x_119); -x_121 = lean_array_push(x_36, x_120); -x_122 = l_Array_append___rarg(x_34, x_121); -lean_inc(x_26); -x_123 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_123, 0, x_26); -lean_ctor_set(x_123, 1, x_33); -lean_ctor_set(x_123, 2, x_122); -x_124 = lean_array_push(x_94, x_123); -x_125 = lean_array_push(x_124, x_73); -x_126 = lean_array_push(x_125, x_75); -x_127 = lean_array_push(x_126, x_82); -x_128 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_128, 0, x_26); -lean_ctor_set(x_128, 1, x_32); -lean_ctor_set(x_128, 2, x_127); -if (lean_is_scalar(x_28)) { - x_129 = lean_alloc_ctor(0, 2, 0); -} else { - x_129 = x_28; -} -lean_ctor_set(x_129, 0, x_128); -lean_ctor_set(x_129, 1, x_27); -return x_129; -} -} -} -} -else -{ -uint8_t x_153; -lean_dec(x_16); -lean_dec(x_14); -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_153 = !lean_is_exclusive(x_17); -if (x_153 == 0) -{ -return x_17; -} -else -{ -lean_object* x_154; lean_object* x_155; lean_object* x_156; -x_154 = lean_ctor_get(x_17, 0); -x_155 = lean_ctor_get(x_17, 1); -lean_inc(x_155); -lean_inc(x_154); -lean_dec(x_17); -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; -} -} -} -} -LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___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, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { -_start: -{ -lean_object* x_12; lean_object* x_13; uint8_t x_14; -lean_dec(x_8); -x_12 = lean_unsigned_to_nat(5u); -x_13 = l_Lean_Syntax_getArg(x_1, x_12); -x_14 = l_Lean_Syntax_isNone(x_13); -if (x_14 == 0) -{ -lean_object* x_15; uint8_t x_16; -x_15 = lean_unsigned_to_nat(1u); -lean_inc(x_13); -x_16 = l_Lean_Syntax_matchesNull(x_13, x_15); -if (x_16 == 0) -{ -lean_object* x_17; lean_object* x_18; -lean_dec(x_13); -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_17 = lean_box(1); -x_18 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_18, 0, x_17); -lean_ctor_set(x_18, 1, x_11); -return x_18; -} -else -{ -lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; uint8_t x_23; -x_19 = lean_unsigned_to_nat(0u); -x_20 = l_Lean_Syntax_getArg(x_13, x_19); -lean_dec(x_13); -x_21 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__17; -lean_inc(x_3); -x_22 = l_Lean_Name_str___override(x_3, x_21); +x_20 = lean_ctor_get(x_18, 1); lean_inc(x_20); -x_23 = l_Lean_Syntax_isOfKind(x_20, x_22); -lean_dec(x_22); -if (x_23 == 0) -{ -lean_object* x_24; lean_object* x_25; -lean_dec(x_20); -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_24 = lean_box(1); -x_25 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_25, 0, x_24); -lean_ctor_set(x_25, 1, x_11); -return x_25; -} -else -{ -lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_26 = lean_unsigned_to_nat(3u); -x_27 = l_Lean_Syntax_getArg(x_20, x_26); -lean_dec(x_20); -x_28 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_28, 0, x_27); -x_29 = lean_box(0); -x_30 = l_Lean_Elab_Command_expandMixfix___lambda__5(x_1, x_2, x_3, x_4, x_5, x_6, x_9, x_7, x_29, x_28, x_10, x_11); -return x_30; -} -} -} -else -{ -lean_object* x_31; lean_object* x_32; lean_object* x_33; -lean_dec(x_13); -x_31 = lean_box(0); -x_32 = lean_box(0); -x_33 = l_Lean_Elab_Command_expandMixfix___lambda__5(x_1, x_2, x_3, x_4, x_5, x_6, x_9, x_7, x_32, x_31, x_10, x_11); -return x_33; -} -} -} -LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___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, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { -_start: -{ -lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; -x_13 = lean_unsigned_to_nat(6u); -x_14 = l_Lean_Syntax_getArg(x_1, x_13); -x_15 = lean_unsigned_to_nat(8u); -x_16 = l_Lean_Syntax_getArg(x_1, x_15); -lean_inc(x_11); -lean_inc(x_2); -x_17 = l_Lean_evalPrec(x_2, x_11, x_12); -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; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; 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_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); -x_20 = lean_unsigned_to_nat(1u); -x_21 = lean_nat_add(x_18, x_20); lean_dec(x_18); -x_22 = l_Nat_repr(x_21); -x_23 = lean_box(2); -x_24 = l_Lean_Syntax_mkNumLit(x_22, x_23); -lean_inc(x_11); -x_25 = l_Lean_MonadRef_mkInfoFromRefPos___at___aux__Init__Notation______macroRules__precMax__1___spec__1(x_11, x_19); -x_26 = lean_ctor_get(x_25, 0); -lean_inc(x_26); -x_27 = lean_ctor_get(x_25, 1); +x_21 = lean_unsigned_to_nat(1u); +x_22 = lean_nat_add(x_19, x_21); +lean_dec(x_19); +x_23 = l_Nat_repr(x_22); +x_24 = lean_box(2); +x_25 = l_Lean_Syntax_mkNumLit(x_23, x_24); +lean_inc(x_12); +x_26 = l_Lean_MonadRef_mkInfoFromRefPos___at___aux__Init__Notation______macroRules__precMax__1___spec__1(x_12, x_20); +x_27 = lean_ctor_get(x_26, 0); lean_inc(x_27); -if (lean_is_exclusive(x_25)) { - lean_ctor_release(x_25, 0); - lean_ctor_release(x_25, 1); - x_28 = x_25; +x_28 = lean_ctor_get(x_26, 1); +lean_inc(x_28); +if (lean_is_exclusive(x_26)) { + lean_ctor_release(x_26, 0); + lean_ctor_release(x_26, 1); + x_29 = x_26; } else { - lean_dec_ref(x_25); - x_28 = lean_box(0); + lean_dec_ref(x_26); + x_29 = lean_box(0); } -x_29 = lean_ctor_get(x_11, 2); -lean_inc(x_29); -x_30 = lean_ctor_get(x_11, 1); +x_30 = lean_ctor_get(x_12, 2); lean_inc(x_30); -lean_dec(x_11); -x_31 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__1; +x_31 = lean_ctor_get(x_12, 1); +lean_inc(x_31); +lean_dec(x_12); +x_32 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__1; lean_inc(x_3); -x_32 = l_Lean_Name_str___override(x_3, x_31); -x_33 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__3; -x_34 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__4; -lean_inc(x_26); -x_35 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_35, 0, x_26); -lean_ctor_set(x_35, 1, x_33); -lean_ctor_set(x_35, 2, x_34); -x_36 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__5; -x_37 = lean_array_push(x_36, x_35); -lean_inc(x_26); -x_38 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_38, 0, x_26); -lean_ctor_set(x_38, 1, x_4); -lean_ctor_set(x_38, 2, x_37); -lean_inc(x_26); -x_39 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_39, 0, x_26); -lean_ctor_set(x_39, 1, x_31); -x_40 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__6; -lean_inc(x_26); -x_41 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_41, 0, x_26); -lean_ctor_set(x_41, 1, x_40); -x_42 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__7; -x_43 = lean_array_push(x_42, x_41); -lean_inc(x_43); -x_44 = lean_array_push(x_43, x_2); -lean_inc(x_5); -lean_inc(x_26); -x_45 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_45, 0, x_26); -lean_ctor_set(x_45, 1, x_5); -lean_ctor_set(x_45, 2, x_44); -x_46 = lean_array_push(x_36, x_45); -lean_inc(x_26); -x_47 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_47, 0, x_26); -lean_ctor_set(x_47, 1, x_33); -lean_ctor_set(x_47, 2, x_46); -x_48 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__8; -lean_inc(x_3); -x_49 = l_Lean_Name_str___override(x_3, x_48); -x_50 = l_Lean_Elab_Command_expandMixfix___lambda__5___closed__4; -lean_inc(x_29); -lean_inc(x_30); -x_51 = l_Lean_addMacroScope(x_30, x_50, x_29); -x_52 = lean_box(0); -x_53 = l_Lean_Elab_Command_expandMixfix___lambda__5___closed__3; -lean_inc(x_26); -x_54 = lean_alloc_ctor(3, 4, 0); -lean_ctor_set(x_54, 0, x_26); -lean_ctor_set(x_54, 1, x_53); -lean_ctor_set(x_54, 2, x_51); -lean_ctor_set(x_54, 3, x_52); -x_55 = lean_array_push(x_43, x_24); -lean_inc(x_26); -x_56 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_56, 0, x_26); -lean_ctor_set(x_56, 1, x_5); -lean_ctor_set(x_56, 2, x_55); -x_57 = lean_array_push(x_36, x_56); -lean_inc(x_26); -x_58 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_58, 0, x_26); -lean_ctor_set(x_58, 1, x_33); -lean_ctor_set(x_58, 2, x_57); -x_59 = lean_array_push(x_42, x_54); -lean_inc(x_58); -lean_inc(x_59); -x_60 = lean_array_push(x_59, x_58); -lean_inc(x_49); -lean_inc(x_26); -x_61 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_61, 0, x_26); -lean_ctor_set(x_61, 1, x_49); -lean_ctor_set(x_61, 2, x_60); -x_62 = l_Lean_Elab_Command_expandMixfix___lambda__5___closed__8; -x_63 = l_Lean_addMacroScope(x_30, x_62, x_29); -x_64 = l_Lean_Elab_Command_expandMixfix___lambda__5___closed__7; -lean_inc(x_26); -x_65 = lean_alloc_ctor(3, 4, 0); -lean_ctor_set(x_65, 0, x_26); -lean_ctor_set(x_65, 1, x_64); -lean_ctor_set(x_65, 2, x_63); -lean_ctor_set(x_65, 3, x_52); -lean_inc(x_65); -x_66 = lean_array_push(x_42, x_65); -x_67 = lean_array_push(x_66, x_58); -lean_inc(x_26); -x_68 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_68, 0, x_26); -lean_ctor_set(x_68, 1, x_49); -lean_ctor_set(x_68, 2, x_67); -x_69 = l_Lean_Elab_Command_expandMixfix___lambda__5___closed__9; -x_70 = lean_array_push(x_69, x_61); -x_71 = lean_array_push(x_70, x_14); -x_72 = lean_array_push(x_71, x_68); -lean_inc(x_26); -x_73 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_73, 0, x_26); -lean_ctor_set(x_73, 1, x_33); -lean_ctor_set(x_73, 2, x_72); -x_74 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__13; -lean_inc(x_26); -x_75 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_75, 0, x_26); -lean_ctor_set(x_75, 1, x_74); -x_76 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__14; -x_77 = l_Lean_Name_str___override(x_6, x_76); -x_78 = lean_array_push(x_59, x_65); -lean_inc(x_26); -x_79 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_79, 0, x_26); -lean_ctor_set(x_79, 1, x_33); -lean_ctor_set(x_79, 2, x_78); -x_80 = lean_array_push(x_42, x_16); -x_81 = lean_array_push(x_80, x_79); -lean_inc(x_26); -x_82 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_82, 0, x_26); -lean_ctor_set(x_82, 1, x_77); -lean_ctor_set(x_82, 2, x_81); -if (lean_obj_tag(x_8) == 0) -{ -x_83 = x_34; -goto block_150; -} -else -{ -lean_object* x_151; lean_object* x_152; -x_151 = lean_ctor_get(x_8, 0); -lean_inc(x_151); -lean_dec(x_8); -x_152 = lean_array_push(x_36, x_151); -x_83 = x_152; -goto block_150; -} -block_150: -{ -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; -x_84 = l_Array_append___rarg(x_34, x_83); -lean_inc(x_26); -x_85 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_85, 0, x_26); -lean_ctor_set(x_85, 1, x_33); -lean_ctor_set(x_85, 2, x_84); -x_86 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__15; -x_87 = lean_array_push(x_86, x_85); -x_88 = lean_array_push(x_87, x_38); -x_89 = lean_array_push(x_88, x_39); -x_90 = lean_array_push(x_89, x_47); -if (lean_obj_tag(x_7) == 0) -{ -x_91 = x_34; -goto block_130; -} -else -{ -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; lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; -x_131 = lean_ctor_get(x_7, 0); -lean_inc(x_131); -lean_dec(x_7); -x_132 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__23; -lean_inc(x_3); -x_133 = l_Lean_Name_str___override(x_3, x_132); -x_134 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__18; -lean_inc(x_26); -x_135 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_135, 0, x_26); -lean_ctor_set(x_135, 1, x_134); -x_136 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__24; -lean_inc(x_26); -x_137 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_137, 0, x_26); -lean_ctor_set(x_137, 1, x_136); -x_138 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__20; -lean_inc(x_26); -x_139 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_139, 0, x_26); -lean_ctor_set(x_139, 1, x_138); -x_140 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__21; -lean_inc(x_26); -x_141 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_141, 0, x_26); -lean_ctor_set(x_141, 1, x_140); -x_142 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__22; -x_143 = lean_array_push(x_142, x_135); -x_144 = lean_array_push(x_143, x_137); -x_145 = lean_array_push(x_144, x_139); -x_146 = lean_array_push(x_145, x_131); -x_147 = lean_array_push(x_146, x_141); -lean_inc(x_26); -x_148 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_148, 0, x_26); -lean_ctor_set(x_148, 1, x_133); -lean_ctor_set(x_148, 2, x_147); -x_149 = lean_array_push(x_36, x_148); -x_91 = x_149; -goto block_130; -} -block_130: -{ -lean_object* x_92; lean_object* x_93; lean_object* x_94; -x_92 = l_Array_append___rarg(x_34, x_91); -lean_inc(x_26); -x_93 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_93, 0, x_26); -lean_ctor_set(x_93, 1, x_33); -lean_ctor_set(x_93, 2, x_92); -x_94 = lean_array_push(x_90, x_93); -if (lean_obj_tag(x_10) == 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_object* x_101; lean_object* x_102; -lean_dec(x_3); -x_95 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__16; -lean_inc(x_26); -x_96 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_96, 0, x_26); -lean_ctor_set(x_96, 1, x_33); -lean_ctor_set(x_96, 2, x_95); -x_97 = lean_array_push(x_94, x_96); -x_98 = lean_array_push(x_97, x_73); -x_99 = lean_array_push(x_98, x_75); -x_100 = lean_array_push(x_99, x_82); -x_101 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_101, 0, x_26); -lean_ctor_set(x_101, 1, x_32); -lean_ctor_set(x_101, 2, x_100); -if (lean_is_scalar(x_28)) { - x_102 = lean_alloc_ctor(0, 2, 0); -} else { - x_102 = x_28; -} -lean_ctor_set(x_102, 0, x_101); -lean_ctor_set(x_102, 1, x_27); -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_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129; -x_103 = lean_ctor_get(x_10, 0); -lean_inc(x_103); -lean_dec(x_10); -x_104 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__17; -x_105 = l_Lean_Name_str___override(x_3, x_104); -x_106 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__18; -lean_inc(x_26); -x_107 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_107, 0, x_26); -lean_ctor_set(x_107, 1, x_106); -x_108 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__19; -lean_inc(x_26); -x_109 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_109, 0, x_26); -lean_ctor_set(x_109, 1, x_108); -x_110 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__20; -lean_inc(x_26); -x_111 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_111, 0, x_26); -lean_ctor_set(x_111, 1, x_110); -x_112 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__21; -lean_inc(x_26); -x_113 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_113, 0, x_26); -lean_ctor_set(x_113, 1, x_112); -x_114 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__22; -x_115 = lean_array_push(x_114, x_107); -x_116 = lean_array_push(x_115, x_109); -x_117 = lean_array_push(x_116, x_111); -x_118 = lean_array_push(x_117, x_103); -x_119 = lean_array_push(x_118, x_113); -lean_inc(x_26); -x_120 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_120, 0, x_26); -lean_ctor_set(x_120, 1, x_105); -lean_ctor_set(x_120, 2, x_119); -x_121 = lean_array_push(x_36, x_120); -x_122 = l_Array_append___rarg(x_34, x_121); -lean_inc(x_26); -x_123 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_123, 0, x_26); -lean_ctor_set(x_123, 1, x_33); -lean_ctor_set(x_123, 2, x_122); -x_124 = lean_array_push(x_94, x_123); -x_125 = lean_array_push(x_124, x_73); -x_126 = lean_array_push(x_125, x_75); -x_127 = lean_array_push(x_126, x_82); -x_128 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_128, 0, x_26); -lean_ctor_set(x_128, 1, x_32); -lean_ctor_set(x_128, 2, x_127); -if (lean_is_scalar(x_28)) { - x_129 = lean_alloc_ctor(0, 2, 0); -} else { - x_129 = x_28; -} -lean_ctor_set(x_129, 0, x_128); -lean_ctor_set(x_129, 1, x_27); -return x_129; -} -} -} -} -else -{ -uint8_t x_153; -lean_dec(x_16); -lean_dec(x_14); -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_153 = !lean_is_exclusive(x_17); -if (x_153 == 0) -{ -return x_17; -} -else -{ -lean_object* x_154; lean_object* x_155; lean_object* x_156; -x_154 = lean_ctor_get(x_17, 0); -x_155 = lean_ctor_get(x_17, 1); -lean_inc(x_155); -lean_inc(x_154); -lean_dec(x_17); -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; -} -} -} -} -LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___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* x_9, lean_object* x_10, lean_object* x_11) { -_start: -{ -lean_object* x_12; lean_object* x_13; uint8_t x_14; -lean_dec(x_8); -x_12 = lean_unsigned_to_nat(5u); -x_13 = l_Lean_Syntax_getArg(x_1, x_12); -x_14 = l_Lean_Syntax_isNone(x_13); -if (x_14 == 0) -{ -lean_object* x_15; uint8_t x_16; -x_15 = lean_unsigned_to_nat(1u); -lean_inc(x_13); -x_16 = l_Lean_Syntax_matchesNull(x_13, x_15); -if (x_16 == 0) -{ -lean_object* x_17; lean_object* x_18; -lean_dec(x_13); -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_17 = lean_box(1); -x_18 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_18, 0, x_17); -lean_ctor_set(x_18, 1, x_11); -return x_18; -} -else -{ -lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; uint8_t x_23; -x_19 = lean_unsigned_to_nat(0u); -x_20 = l_Lean_Syntax_getArg(x_13, x_19); -lean_dec(x_13); -x_21 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__17; -lean_inc(x_3); -x_22 = l_Lean_Name_str___override(x_3, x_21); -lean_inc(x_20); -x_23 = l_Lean_Syntax_isOfKind(x_20, x_22); -lean_dec(x_22); -if (x_23 == 0) -{ -lean_object* x_24; lean_object* x_25; -lean_dec(x_20); -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_24 = lean_box(1); -x_25 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_25, 0, x_24); -lean_ctor_set(x_25, 1, x_11); -return x_25; -} -else -{ -lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_26 = lean_unsigned_to_nat(3u); -x_27 = l_Lean_Syntax_getArg(x_20, x_26); -lean_dec(x_20); -x_28 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_28, 0, x_27); -x_29 = lean_box(0); -x_30 = l_Lean_Elab_Command_expandMixfix___lambda__7(x_1, x_2, x_3, x_4, x_5, x_6, x_9, x_7, x_29, x_28, x_10, x_11); -return x_30; -} -} -} -else -{ -lean_object* x_31; lean_object* x_32; lean_object* x_33; -lean_dec(x_13); -x_31 = lean_box(0); -x_32 = lean_box(0); -x_33 = l_Lean_Elab_Command_expandMixfix___lambda__7(x_1, x_2, x_3, x_4, x_5, x_6, x_9, x_7, x_32, x_31, x_10, x_11); -return x_33; -} -} -} -LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___lambda__9(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; -x_13 = lean_unsigned_to_nat(6u); -x_14 = l_Lean_Syntax_getArg(x_1, x_13); -x_15 = lean_unsigned_to_nat(8u); -x_16 = l_Lean_Syntax_getArg(x_1, x_15); -lean_inc(x_11); -lean_inc(x_2); -x_17 = l_Lean_evalPrec(x_2, x_11, x_12); -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; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; 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_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); -x_20 = lean_unsigned_to_nat(1u); -x_21 = lean_nat_add(x_18, x_20); -lean_dec(x_18); -x_22 = l_Nat_repr(x_21); -x_23 = lean_box(2); -x_24 = l_Lean_Syntax_mkNumLit(x_22, x_23); -lean_inc(x_11); -x_25 = l_Lean_MonadRef_mkInfoFromRefPos___at___aux__Init__Notation______macroRules__precMax__1___spec__1(x_11, x_19); -x_26 = lean_ctor_get(x_25, 0); -lean_inc(x_26); -x_27 = lean_ctor_get(x_25, 1); +x_33 = l_Lean_Name_str___override(x_3, x_32); +x_34 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__3; +x_35 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__4; lean_inc(x_27); -if (lean_is_exclusive(x_25)) { - lean_ctor_release(x_25, 0); - lean_ctor_release(x_25, 1); - x_28 = x_25; -} else { - lean_dec_ref(x_25); - x_28 = lean_box(0); -} -x_29 = lean_ctor_get(x_11, 2); -lean_inc(x_29); -x_30 = lean_ctor_get(x_11, 1); -lean_inc(x_30); -lean_dec(x_11); -x_31 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__1; -lean_inc(x_3); -x_32 = l_Lean_Name_str___override(x_3, x_31); -x_33 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__3; -x_34 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__4; -lean_inc(x_26); -x_35 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_35, 0, x_26); -lean_ctor_set(x_35, 1, x_33); -lean_ctor_set(x_35, 2, x_34); -x_36 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__5; -x_37 = lean_array_push(x_36, x_35); -lean_inc(x_26); -x_38 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_38, 0, x_26); -lean_ctor_set(x_38, 1, x_4); -lean_ctor_set(x_38, 2, x_37); -lean_inc(x_26); -x_39 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_39, 0, x_26); -lean_ctor_set(x_39, 1, x_31); -x_40 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__6; -lean_inc(x_26); -x_41 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_41, 0, x_26); -lean_ctor_set(x_41, 1, x_40); -x_42 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__7; -x_43 = lean_array_push(x_42, x_41); -lean_inc(x_43); -x_44 = lean_array_push(x_43, x_2); +x_36 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_36, 0, x_27); +lean_ctor_set(x_36, 1, x_34); +lean_ctor_set(x_36, 2, x_35); +x_37 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__5; +x_38 = lean_array_push(x_37, x_36); +lean_inc(x_27); +x_39 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_39, 0, x_27); +lean_ctor_set(x_39, 1, x_4); +lean_ctor_set(x_39, 2, x_38); +lean_inc(x_27); +x_40 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_40, 0, x_27); +lean_ctor_set(x_40, 1, x_32); +x_41 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__6; +lean_inc(x_27); +x_42 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_42, 0, x_27); +lean_ctor_set(x_42, 1, x_41); +x_43 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__7; +x_44 = lean_array_push(x_43, x_42); +lean_inc(x_44); +x_45 = lean_array_push(x_44, x_2); lean_inc(x_5); -lean_inc(x_26); -x_45 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_45, 0, x_26); -lean_ctor_set(x_45, 1, x_5); -lean_ctor_set(x_45, 2, x_44); -x_46 = lean_array_push(x_36, x_45); -lean_inc(x_26); -x_47 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_47, 0, x_26); -lean_ctor_set(x_47, 1, x_33); -lean_ctor_set(x_47, 2, x_46); -x_48 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__8; +lean_inc(x_27); +x_46 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_46, 0, x_27); +lean_ctor_set(x_46, 1, x_5); +lean_ctor_set(x_46, 2, x_45); +x_47 = lean_array_push(x_37, x_46); +lean_inc(x_27); +x_48 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_48, 0, x_27); +lean_ctor_set(x_48, 1, x_34); +lean_ctor_set(x_48, 2, x_47); +x_49 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__8; lean_inc(x_3); -x_49 = l_Lean_Name_str___override(x_3, x_48); -x_50 = l_Lean_Elab_Command_expandMixfix___lambda__5___closed__4; -lean_inc(x_29); +x_50 = l_Lean_Name_str___override(x_3, x_49); +x_51 = l_Lean_Elab_Command_expandMixfix___lambda__5___closed__4; lean_inc(x_30); -x_51 = l_Lean_addMacroScope(x_30, x_50, x_29); -x_52 = lean_box(0); -x_53 = l_Lean_Elab_Command_expandMixfix___lambda__5___closed__3; -lean_inc(x_26); -x_54 = lean_alloc_ctor(3, 4, 0); -lean_ctor_set(x_54, 0, x_26); -lean_ctor_set(x_54, 1, x_53); -lean_ctor_set(x_54, 2, x_51); -lean_ctor_set(x_54, 3, x_52); -x_55 = lean_array_push(x_42, x_54); -lean_inc(x_47); -lean_inc(x_55); -x_56 = lean_array_push(x_55, x_47); -lean_inc(x_49); -lean_inc(x_26); +lean_inc(x_31); +x_52 = l_Lean_addMacroScope(x_31, x_51, x_30); +x_53 = lean_box(0); +x_54 = l_Lean_Elab_Command_expandMixfix___lambda__5___closed__3; +lean_inc(x_27); +x_55 = lean_alloc_ctor(3, 4, 0); +lean_ctor_set(x_55, 0, x_27); +lean_ctor_set(x_55, 1, x_54); +lean_ctor_set(x_55, 2, x_52); +lean_ctor_set(x_55, 3, x_53); +x_56 = lean_array_push(x_44, x_25); +lean_inc(x_27); x_57 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_57, 0, x_26); -lean_ctor_set(x_57, 1, x_49); +lean_ctor_set(x_57, 0, x_27); +lean_ctor_set(x_57, 1, x_5); lean_ctor_set(x_57, 2, x_56); -x_58 = l_Lean_Elab_Command_expandMixfix___lambda__5___closed__8; -x_59 = l_Lean_addMacroScope(x_30, x_58, x_29); -x_60 = l_Lean_Elab_Command_expandMixfix___lambda__5___closed__7; -lean_inc(x_26); -x_61 = lean_alloc_ctor(3, 4, 0); -lean_ctor_set(x_61, 0, x_26); -lean_ctor_set(x_61, 1, x_60); -lean_ctor_set(x_61, 2, x_59); -lean_ctor_set(x_61, 3, x_52); -x_62 = lean_array_push(x_43, x_24); -lean_inc(x_26); -x_63 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_63, 0, x_26); -lean_ctor_set(x_63, 1, x_5); -lean_ctor_set(x_63, 2, x_62); -x_64 = lean_array_push(x_36, x_63); -lean_inc(x_26); -x_65 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_65, 0, x_26); -lean_ctor_set(x_65, 1, x_33); -lean_ctor_set(x_65, 2, x_64); -lean_inc(x_61); -x_66 = lean_array_push(x_42, x_61); -x_67 = lean_array_push(x_66, x_65); -lean_inc(x_26); -x_68 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_68, 0, x_26); -lean_ctor_set(x_68, 1, x_49); -lean_ctor_set(x_68, 2, x_67); -x_69 = l_Lean_Elab_Command_expandMixfix___lambda__5___closed__9; -x_70 = lean_array_push(x_69, x_57); -x_71 = lean_array_push(x_70, x_14); -x_72 = lean_array_push(x_71, x_68); -lean_inc(x_26); -x_73 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_73, 0, x_26); -lean_ctor_set(x_73, 1, x_33); -lean_ctor_set(x_73, 2, x_72); -x_74 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__13; -lean_inc(x_26); -x_75 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_75, 0, x_26); -lean_ctor_set(x_75, 1, x_74); -x_76 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__14; -x_77 = l_Lean_Name_str___override(x_6, x_76); -x_78 = lean_array_push(x_55, x_61); -lean_inc(x_26); -x_79 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_79, 0, x_26); -lean_ctor_set(x_79, 1, x_33); -lean_ctor_set(x_79, 2, x_78); -x_80 = lean_array_push(x_42, x_16); -x_81 = lean_array_push(x_80, x_79); -lean_inc(x_26); -x_82 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_82, 0, x_26); -lean_ctor_set(x_82, 1, x_77); -lean_ctor_set(x_82, 2, x_81); +x_58 = lean_array_push(x_37, x_57); +lean_inc(x_27); +x_59 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_59, 0, x_27); +lean_ctor_set(x_59, 1, x_34); +lean_ctor_set(x_59, 2, x_58); +x_60 = lean_array_push(x_43, x_55); +lean_inc(x_60); +x_61 = lean_array_push(x_60, x_59); +lean_inc(x_50); +lean_inc(x_27); +x_62 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_62, 0, x_27); +lean_ctor_set(x_62, 1, x_50); +lean_ctor_set(x_62, 2, x_61); +x_63 = l_Lean_Elab_Command_expandMixfix___lambda__5___closed__8; +x_64 = l_Lean_addMacroScope(x_31, x_63, x_30); +x_65 = l_Lean_Elab_Command_expandMixfix___lambda__5___closed__7; +lean_inc(x_27); +x_66 = lean_alloc_ctor(3, 4, 0); +lean_ctor_set(x_66, 0, x_27); +lean_ctor_set(x_66, 1, x_65); +lean_ctor_set(x_66, 2, x_64); +lean_ctor_set(x_66, 3, x_53); +lean_inc(x_66); +x_67 = lean_array_push(x_43, x_66); +lean_inc(x_48); +x_68 = lean_array_push(x_67, x_48); +lean_inc(x_27); +x_69 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_69, 0, x_27); +lean_ctor_set(x_69, 1, x_50); +lean_ctor_set(x_69, 2, x_68); +x_70 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__28; +x_71 = lean_array_push(x_70, x_62); +x_72 = lean_array_push(x_71, x_15); +x_73 = lean_array_push(x_72, x_69); +lean_inc(x_27); +x_74 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_74, 0, x_27); +lean_ctor_set(x_74, 1, x_34); +lean_ctor_set(x_74, 2, x_73); +x_75 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__13; +lean_inc(x_27); +x_76 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_76, 0, x_27); +lean_ctor_set(x_76, 1, x_75); +x_77 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__14; +lean_inc(x_6); +x_78 = l_Lean_Name_str___override(x_6, x_77); +x_79 = lean_array_push(x_60, x_66); +lean_inc(x_27); +x_80 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_80, 0, x_27); +lean_ctor_set(x_80, 1, x_34); +lean_ctor_set(x_80, 2, x_79); +x_81 = lean_array_push(x_43, x_17); +x_82 = lean_array_push(x_81, x_80); +lean_inc(x_27); +x_83 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_83, 0, x_27); +lean_ctor_set(x_83, 1, x_78); +lean_ctor_set(x_83, 2, x_82); +if (lean_obj_tag(x_9) == 0) +{ +x_84 = x_35; +goto block_170; +} +else +{ +lean_object* x_171; lean_object* x_172; +x_171 = lean_ctor_get(x_9, 0); +lean_inc(x_171); +lean_dec(x_9); +x_172 = lean_array_push(x_37, x_171); +x_84 = x_172; +goto block_170; +} +block_170: +{ +lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; +x_85 = l_Array_append___rarg(x_35, x_84); +lean_inc(x_27); +x_86 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_86, 0, x_27); +lean_ctor_set(x_86, 1, x_34); +lean_ctor_set(x_86, 2, x_85); +x_87 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__15; +x_88 = lean_array_push(x_87, x_86); if (lean_obj_tag(x_8) == 0) { -x_83 = x_34; -goto block_150; +lean_dec(x_6); +x_89 = x_35; +goto block_155; } else { -lean_object* x_151; lean_object* x_152; -x_151 = lean_ctor_get(x_8, 0); -lean_inc(x_151); +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; +x_156 = lean_ctor_get(x_8, 0); +lean_inc(x_156); lean_dec(x_8); -x_152 = lean_array_push(x_36, x_151); -x_83 = x_152; -goto block_150; +x_157 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__25; +x_158 = l_Lean_Name_str___override(x_6, x_157); +x_159 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__26; +lean_inc(x_27); +x_160 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_160, 0, x_27); +lean_ctor_set(x_160, 1, x_159); +x_161 = l_Array_append___rarg(x_35, x_156); +lean_inc(x_27); +x_162 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_162, 0, x_27); +lean_ctor_set(x_162, 1, x_34); +lean_ctor_set(x_162, 2, x_161); +x_163 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__27; +lean_inc(x_27); +x_164 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_164, 0, x_27); +lean_ctor_set(x_164, 1, x_163); +x_165 = lean_array_push(x_70, x_160); +x_166 = lean_array_push(x_165, x_162); +x_167 = lean_array_push(x_166, x_164); +lean_inc(x_27); +x_168 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_168, 0, x_27); +lean_ctor_set(x_168, 1, x_158); +lean_ctor_set(x_168, 2, x_167); +x_169 = lean_array_push(x_37, x_168); +x_89 = x_169; +goto block_155; } -block_150: +block_155: { -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; -x_84 = l_Array_append___rarg(x_34, x_83); -lean_inc(x_26); -x_85 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_85, 0, x_26); -lean_ctor_set(x_85, 1, x_33); -lean_ctor_set(x_85, 2, x_84); -x_86 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__15; -x_87 = lean_array_push(x_86, x_85); -x_88 = lean_array_push(x_87, x_38); -x_89 = lean_array_push(x_88, x_39); -x_90 = lean_array_push(x_89, x_47); +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 = l_Array_append___rarg(x_35, x_89); +lean_inc(x_27); +x_91 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_91, 0, x_27); +lean_ctor_set(x_91, 1, x_34); +lean_ctor_set(x_91, 2, x_90); +x_92 = lean_array_push(x_88, x_91); +x_93 = lean_array_push(x_92, x_39); +x_94 = lean_array_push(x_93, x_40); +x_95 = lean_array_push(x_94, x_48); if (lean_obj_tag(x_7) == 0) { -x_91 = x_34; -goto block_130; +x_96 = x_35; +goto block_135; } else { -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; lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; -x_131 = lean_ctor_get(x_7, 0); -lean_inc(x_131); +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; 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_136 = lean_ctor_get(x_7, 0); +lean_inc(x_136); lean_dec(x_7); -x_132 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__23; +x_137 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__23; lean_inc(x_3); -x_133 = l_Lean_Name_str___override(x_3, x_132); -x_134 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__18; -lean_inc(x_26); -x_135 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_135, 0, x_26); -lean_ctor_set(x_135, 1, x_134); -x_136 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__24; -lean_inc(x_26); -x_137 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_137, 0, x_26); -lean_ctor_set(x_137, 1, x_136); -x_138 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__20; -lean_inc(x_26); -x_139 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_139, 0, x_26); -lean_ctor_set(x_139, 1, x_138); -x_140 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__21; -lean_inc(x_26); -x_141 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_141, 0, x_26); -lean_ctor_set(x_141, 1, x_140); -x_142 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__22; -x_143 = lean_array_push(x_142, x_135); -x_144 = lean_array_push(x_143, x_137); -x_145 = lean_array_push(x_144, x_139); -x_146 = lean_array_push(x_145, x_131); -x_147 = lean_array_push(x_146, x_141); -lean_inc(x_26); -x_148 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_148, 0, x_26); -lean_ctor_set(x_148, 1, x_133); -lean_ctor_set(x_148, 2, x_147); -x_149 = lean_array_push(x_36, x_148); -x_91 = x_149; -goto block_130; +x_138 = l_Lean_Name_str___override(x_3, x_137); +x_139 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__18; +lean_inc(x_27); +x_140 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_140, 0, x_27); +lean_ctor_set(x_140, 1, x_139); +x_141 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__24; +lean_inc(x_27); +x_142 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_142, 0, x_27); +lean_ctor_set(x_142, 1, x_141); +x_143 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__20; +lean_inc(x_27); +x_144 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_144, 0, x_27); +lean_ctor_set(x_144, 1, x_143); +x_145 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__21; +lean_inc(x_27); +x_146 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_146, 0, x_27); +lean_ctor_set(x_146, 1, x_145); +x_147 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__22; +x_148 = lean_array_push(x_147, x_140); +x_149 = lean_array_push(x_148, x_142); +x_150 = lean_array_push(x_149, x_144); +x_151 = lean_array_push(x_150, x_136); +x_152 = lean_array_push(x_151, x_146); +lean_inc(x_27); +x_153 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_153, 0, x_27); +lean_ctor_set(x_153, 1, x_138); +lean_ctor_set(x_153, 2, x_152); +x_154 = lean_array_push(x_37, x_153); +x_96 = x_154; +goto block_135; } -block_130: +block_135: { -lean_object* x_92; lean_object* x_93; lean_object* x_94; -x_92 = l_Array_append___rarg(x_34, x_91); -lean_inc(x_26); -x_93 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_93, 0, x_26); -lean_ctor_set(x_93, 1, x_33); -lean_ctor_set(x_93, 2, x_92); -x_94 = lean_array_push(x_90, x_93); -if (lean_obj_tag(x_10) == 0) +lean_object* x_97; lean_object* x_98; lean_object* x_99; +x_97 = l_Array_append___rarg(x_35, x_96); +lean_inc(x_27); +x_98 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_98, 0, x_27); +lean_ctor_set(x_98, 1, x_34); +lean_ctor_set(x_98, 2, x_97); +x_99 = lean_array_push(x_95, x_98); +if (lean_obj_tag(x_11) == 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_object* x_101; lean_object* x_102; +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_dec(x_3); -x_95 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__16; -lean_inc(x_26); -x_96 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_96, 0, x_26); -lean_ctor_set(x_96, 1, x_33); -lean_ctor_set(x_96, 2, x_95); -x_97 = lean_array_push(x_94, x_96); -x_98 = lean_array_push(x_97, x_73); -x_99 = lean_array_push(x_98, x_75); -x_100 = lean_array_push(x_99, x_82); +x_100 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__16; +lean_inc(x_27); x_101 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_101, 0, x_26); -lean_ctor_set(x_101, 1, x_32); +lean_ctor_set(x_101, 0, x_27); +lean_ctor_set(x_101, 1, x_34); lean_ctor_set(x_101, 2, x_100); -if (lean_is_scalar(x_28)) { - x_102 = lean_alloc_ctor(0, 2, 0); +x_102 = lean_array_push(x_99, x_101); +x_103 = lean_array_push(x_102, x_74); +x_104 = lean_array_push(x_103, x_76); +x_105 = lean_array_push(x_104, x_83); +x_106 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_106, 0, x_27); +lean_ctor_set(x_106, 1, x_33); +lean_ctor_set(x_106, 2, x_105); +if (lean_is_scalar(x_29)) { + x_107 = lean_alloc_ctor(0, 2, 0); } else { - x_102 = x_28; + x_107 = x_29; } -lean_ctor_set(x_102, 0, x_101); -lean_ctor_set(x_102, 1, x_27); -return x_102; +lean_ctor_set(x_107, 0, x_106); +lean_ctor_set(x_107, 1, x_28); +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; 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_103 = lean_ctor_get(x_10, 0); -lean_inc(x_103); -lean_dec(x_10); -x_104 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__17; -x_105 = l_Lean_Name_str___override(x_3, x_104); -x_106 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__18; -lean_inc(x_26); -x_107 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_107, 0, x_26); -lean_ctor_set(x_107, 1, x_106); -x_108 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__19; -lean_inc(x_26); -x_109 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_109, 0, x_26); -lean_ctor_set(x_109, 1, x_108); -x_110 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__20; -lean_inc(x_26); -x_111 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_111, 0, x_26); -lean_ctor_set(x_111, 1, x_110); -x_112 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__21; -lean_inc(x_26); -x_113 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_113, 0, x_26); -lean_ctor_set(x_113, 1, x_112); -x_114 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__22; -x_115 = lean_array_push(x_114, x_107); -x_116 = lean_array_push(x_115, x_109); -x_117 = lean_array_push(x_116, x_111); -x_118 = lean_array_push(x_117, x_103); -x_119 = lean_array_push(x_118, x_113); -lean_inc(x_26); -x_120 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_120, 0, x_26); -lean_ctor_set(x_120, 1, x_105); -lean_ctor_set(x_120, 2, x_119); -x_121 = lean_array_push(x_36, x_120); -x_122 = l_Array_append___rarg(x_34, x_121); -lean_inc(x_26); -x_123 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_123, 0, x_26); -lean_ctor_set(x_123, 1, x_33); -lean_ctor_set(x_123, 2, x_122); -x_124 = lean_array_push(x_94, x_123); -x_125 = lean_array_push(x_124, x_73); -x_126 = lean_array_push(x_125, x_75); -x_127 = lean_array_push(x_126, x_82); +lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; +x_108 = lean_ctor_get(x_11, 0); +lean_inc(x_108); +lean_dec(x_11); +x_109 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__17; +x_110 = l_Lean_Name_str___override(x_3, x_109); +x_111 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__18; +lean_inc(x_27); +x_112 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_112, 0, x_27); +lean_ctor_set(x_112, 1, x_111); +x_113 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__19; +lean_inc(x_27); +x_114 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_114, 0, x_27); +lean_ctor_set(x_114, 1, x_113); +x_115 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__20; +lean_inc(x_27); +x_116 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_116, 0, x_27); +lean_ctor_set(x_116, 1, x_115); +x_117 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__21; +lean_inc(x_27); +x_118 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_118, 0, x_27); +lean_ctor_set(x_118, 1, x_117); +x_119 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__22; +x_120 = lean_array_push(x_119, x_112); +x_121 = lean_array_push(x_120, x_114); +x_122 = lean_array_push(x_121, x_116); +x_123 = lean_array_push(x_122, x_108); +x_124 = lean_array_push(x_123, x_118); +lean_inc(x_27); +x_125 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_125, 0, x_27); +lean_ctor_set(x_125, 1, x_110); +lean_ctor_set(x_125, 2, x_124); +x_126 = lean_array_push(x_37, x_125); +x_127 = l_Array_append___rarg(x_35, x_126); +lean_inc(x_27); x_128 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_128, 0, x_26); -lean_ctor_set(x_128, 1, x_32); +lean_ctor_set(x_128, 0, x_27); +lean_ctor_set(x_128, 1, x_34); lean_ctor_set(x_128, 2, x_127); -if (lean_is_scalar(x_28)) { - x_129 = lean_alloc_ctor(0, 2, 0); +x_129 = lean_array_push(x_99, x_128); +x_130 = lean_array_push(x_129, x_74); +x_131 = lean_array_push(x_130, x_76); +x_132 = lean_array_push(x_131, x_83); +x_133 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_133, 0, x_27); +lean_ctor_set(x_133, 1, x_33); +lean_ctor_set(x_133, 2, x_132); +if (lean_is_scalar(x_29)) { + x_134 = lean_alloc_ctor(0, 2, 0); } else { - x_129 = x_28; + x_134 = x_29; +} +lean_ctor_set(x_134, 0, x_133); +lean_ctor_set(x_134, 1, x_28); +return x_134; } -lean_ctor_set(x_129, 0, x_128); -lean_ctor_set(x_129, 1, x_27); -return x_129; } } } } else { -uint8_t x_153; -lean_dec(x_16); +uint8_t x_173; +lean_dec(x_17); +lean_dec(x_15); +lean_dec(x_12); +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_173 = !lean_is_exclusive(x_18); +if (x_173 == 0) +{ +return x_18; +} +else +{ +lean_object* x_174; lean_object* x_175; lean_object* x_176; +x_174 = lean_ctor_get(x_18, 0); +x_175 = lean_ctor_get(x_18, 1); +lean_inc(x_175); +lean_inc(x_174); +lean_dec(x_18); +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; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___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, 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; lean_object* x_14; uint8_t x_15; +lean_dec(x_9); +x_13 = lean_unsigned_to_nat(6u); +x_14 = l_Lean_Syntax_getArg(x_1, x_13); +x_15 = l_Lean_Syntax_isNone(x_14); +if (x_15 == 0) +{ +lean_object* x_16; uint8_t x_17; +x_16 = lean_unsigned_to_nat(1u); +lean_inc(x_14); +x_17 = l_Lean_Syntax_matchesNull(x_14, x_16); +if (x_17 == 0) +{ +lean_object* x_18; lean_object* x_19; lean_dec(x_14); lean_dec(x_11); lean_dec(x_10); @@ -2565,111 +1868,1123 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_153 = !lean_is_exclusive(x_17); -if (x_153 == 0) -{ -return x_17; +x_18 = lean_box(1); +x_19 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_19, 0, x_18); +lean_ctor_set(x_19, 1, x_12); +return x_19; } else { -lean_object* x_154; lean_object* x_155; lean_object* x_156; -x_154 = lean_ctor_get(x_17, 0); -x_155 = lean_ctor_get(x_17, 1); -lean_inc(x_155); -lean_inc(x_154); -lean_dec(x_17); -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; -} -} -} -} -LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___lambda__10(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; +x_20 = lean_unsigned_to_nat(0u); +x_21 = l_Lean_Syntax_getArg(x_14, x_20); +lean_dec(x_14); +x_22 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__17; +lean_inc(x_3); +x_23 = l_Lean_Name_str___override(x_3, x_22); +lean_inc(x_21); +x_24 = l_Lean_Syntax_isOfKind(x_21, x_23); +lean_dec(x_23); +if (x_24 == 0) { -lean_object* x_12; lean_object* x_13; uint8_t x_14; -lean_dec(x_8); -x_12 = lean_unsigned_to_nat(5u); -x_13 = l_Lean_Syntax_getArg(x_1, x_12); -x_14 = l_Lean_Syntax_isNone(x_13); -if (x_14 == 0) -{ -lean_object* x_15; uint8_t x_16; -x_15 = lean_unsigned_to_nat(1u); -lean_inc(x_13); -x_16 = l_Lean_Syntax_matchesNull(x_13, x_15); -if (x_16 == 0) -{ -lean_object* x_17; lean_object* x_18; -lean_dec(x_13); +lean_object* x_25; lean_object* x_26; +lean_dec(x_21); +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); lean_dec(x_2); -x_17 = lean_box(1); -x_18 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_18, 0, x_17); -lean_ctor_set(x_18, 1, x_11); +x_25 = lean_box(1); +x_26 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_26, 0, x_25); +lean_ctor_set(x_26, 1, 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; +x_27 = lean_unsigned_to_nat(3u); +x_28 = l_Lean_Syntax_getArg(x_21, x_27); +lean_dec(x_21); +x_29 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_29, 0, x_28); +x_30 = lean_box(0); +x_31 = l_Lean_Elab_Command_expandMixfix___lambda__5(x_1, x_2, x_3, x_4, x_5, x_6, x_10, x_7, x_8, x_30, x_29, x_11, x_12); +return x_31; +} +} +} +else +{ +lean_object* x_32; lean_object* x_33; lean_object* x_34; +lean_dec(x_14); +x_32 = lean_box(0); +x_33 = lean_box(0); +x_34 = l_Lean_Elab_Command_expandMixfix___lambda__5(x_1, x_2, x_3, x_4, x_5, x_6, x_10, x_7, x_8, x_33, x_32, x_11, x_12); +return x_34; +} +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___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, 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_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; +x_14 = lean_unsigned_to_nat(7u); +x_15 = l_Lean_Syntax_getArg(x_1, x_14); +x_16 = lean_unsigned_to_nat(9u); +x_17 = l_Lean_Syntax_getArg(x_1, x_16); +lean_inc(x_12); +lean_inc(x_2); +x_18 = l_Lean_evalPrec(x_2, x_12, x_13); +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; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; 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_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 = lean_unsigned_to_nat(1u); +x_22 = lean_nat_add(x_19, x_21); +lean_dec(x_19); +x_23 = l_Nat_repr(x_22); +x_24 = lean_box(2); +x_25 = l_Lean_Syntax_mkNumLit(x_23, x_24); +lean_inc(x_12); +x_26 = l_Lean_MonadRef_mkInfoFromRefPos___at___aux__Init__Notation______macroRules__precMax__1___spec__1(x_12, x_20); +x_27 = lean_ctor_get(x_26, 0); +lean_inc(x_27); +x_28 = lean_ctor_get(x_26, 1); +lean_inc(x_28); +if (lean_is_exclusive(x_26)) { + lean_ctor_release(x_26, 0); + lean_ctor_release(x_26, 1); + x_29 = x_26; +} else { + lean_dec_ref(x_26); + x_29 = lean_box(0); +} +x_30 = lean_ctor_get(x_12, 2); +lean_inc(x_30); +x_31 = lean_ctor_get(x_12, 1); +lean_inc(x_31); +lean_dec(x_12); +x_32 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__1; +lean_inc(x_3); +x_33 = l_Lean_Name_str___override(x_3, x_32); +x_34 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__3; +x_35 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__4; +lean_inc(x_27); +x_36 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_36, 0, x_27); +lean_ctor_set(x_36, 1, x_34); +lean_ctor_set(x_36, 2, x_35); +x_37 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__5; +x_38 = lean_array_push(x_37, x_36); +lean_inc(x_27); +x_39 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_39, 0, x_27); +lean_ctor_set(x_39, 1, x_4); +lean_ctor_set(x_39, 2, x_38); +lean_inc(x_27); +x_40 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_40, 0, x_27); +lean_ctor_set(x_40, 1, x_32); +x_41 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__6; +lean_inc(x_27); +x_42 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_42, 0, x_27); +lean_ctor_set(x_42, 1, x_41); +x_43 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__7; +x_44 = lean_array_push(x_43, x_42); +lean_inc(x_44); +x_45 = lean_array_push(x_44, x_2); +lean_inc(x_5); +lean_inc(x_27); +x_46 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_46, 0, x_27); +lean_ctor_set(x_46, 1, x_5); +lean_ctor_set(x_46, 2, x_45); +x_47 = lean_array_push(x_37, x_46); +lean_inc(x_27); +x_48 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_48, 0, x_27); +lean_ctor_set(x_48, 1, x_34); +lean_ctor_set(x_48, 2, x_47); +x_49 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__8; +lean_inc(x_3); +x_50 = l_Lean_Name_str___override(x_3, x_49); +x_51 = l_Lean_Elab_Command_expandMixfix___lambda__5___closed__4; +lean_inc(x_30); +lean_inc(x_31); +x_52 = l_Lean_addMacroScope(x_31, x_51, x_30); +x_53 = lean_box(0); +x_54 = l_Lean_Elab_Command_expandMixfix___lambda__5___closed__3; +lean_inc(x_27); +x_55 = lean_alloc_ctor(3, 4, 0); +lean_ctor_set(x_55, 0, x_27); +lean_ctor_set(x_55, 1, x_54); +lean_ctor_set(x_55, 2, x_52); +lean_ctor_set(x_55, 3, x_53); +x_56 = lean_array_push(x_44, x_25); +lean_inc(x_27); +x_57 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_57, 0, x_27); +lean_ctor_set(x_57, 1, x_5); +lean_ctor_set(x_57, 2, x_56); +x_58 = lean_array_push(x_37, x_57); +lean_inc(x_27); +x_59 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_59, 0, x_27); +lean_ctor_set(x_59, 1, x_34); +lean_ctor_set(x_59, 2, x_58); +x_60 = lean_array_push(x_43, x_55); +lean_inc(x_59); +lean_inc(x_60); +x_61 = lean_array_push(x_60, x_59); +lean_inc(x_50); +lean_inc(x_27); +x_62 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_62, 0, x_27); +lean_ctor_set(x_62, 1, x_50); +lean_ctor_set(x_62, 2, x_61); +x_63 = l_Lean_Elab_Command_expandMixfix___lambda__5___closed__8; +x_64 = l_Lean_addMacroScope(x_31, x_63, x_30); +x_65 = l_Lean_Elab_Command_expandMixfix___lambda__5___closed__7; +lean_inc(x_27); +x_66 = lean_alloc_ctor(3, 4, 0); +lean_ctor_set(x_66, 0, x_27); +lean_ctor_set(x_66, 1, x_65); +lean_ctor_set(x_66, 2, x_64); +lean_ctor_set(x_66, 3, x_53); +lean_inc(x_66); +x_67 = lean_array_push(x_43, x_66); +x_68 = lean_array_push(x_67, x_59); +lean_inc(x_27); +x_69 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_69, 0, x_27); +lean_ctor_set(x_69, 1, x_50); +lean_ctor_set(x_69, 2, x_68); +x_70 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__28; +x_71 = lean_array_push(x_70, x_62); +x_72 = lean_array_push(x_71, x_15); +x_73 = lean_array_push(x_72, x_69); +lean_inc(x_27); +x_74 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_74, 0, x_27); +lean_ctor_set(x_74, 1, x_34); +lean_ctor_set(x_74, 2, x_73); +x_75 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__13; +lean_inc(x_27); +x_76 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_76, 0, x_27); +lean_ctor_set(x_76, 1, x_75); +x_77 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__14; +lean_inc(x_6); +x_78 = l_Lean_Name_str___override(x_6, x_77); +x_79 = lean_array_push(x_60, x_66); +lean_inc(x_27); +x_80 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_80, 0, x_27); +lean_ctor_set(x_80, 1, x_34); +lean_ctor_set(x_80, 2, x_79); +x_81 = lean_array_push(x_43, x_17); +x_82 = lean_array_push(x_81, x_80); +lean_inc(x_27); +x_83 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_83, 0, x_27); +lean_ctor_set(x_83, 1, x_78); +lean_ctor_set(x_83, 2, x_82); +if (lean_obj_tag(x_9) == 0) +{ +x_84 = x_35; +goto block_170; +} +else +{ +lean_object* x_171; lean_object* x_172; +x_171 = lean_ctor_get(x_9, 0); +lean_inc(x_171); +lean_dec(x_9); +x_172 = lean_array_push(x_37, x_171); +x_84 = x_172; +goto block_170; +} +block_170: +{ +lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; +x_85 = l_Array_append___rarg(x_35, x_84); +lean_inc(x_27); +x_86 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_86, 0, x_27); +lean_ctor_set(x_86, 1, x_34); +lean_ctor_set(x_86, 2, x_85); +x_87 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__15; +x_88 = lean_array_push(x_87, x_86); +if (lean_obj_tag(x_8) == 0) +{ +lean_dec(x_6); +x_89 = x_35; +goto block_155; +} +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; lean_object* x_167; lean_object* x_168; lean_object* x_169; +x_156 = lean_ctor_get(x_8, 0); +lean_inc(x_156); +lean_dec(x_8); +x_157 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__25; +x_158 = l_Lean_Name_str___override(x_6, x_157); +x_159 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__26; +lean_inc(x_27); +x_160 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_160, 0, x_27); +lean_ctor_set(x_160, 1, x_159); +x_161 = l_Array_append___rarg(x_35, x_156); +lean_inc(x_27); +x_162 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_162, 0, x_27); +lean_ctor_set(x_162, 1, x_34); +lean_ctor_set(x_162, 2, x_161); +x_163 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__27; +lean_inc(x_27); +x_164 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_164, 0, x_27); +lean_ctor_set(x_164, 1, x_163); +x_165 = lean_array_push(x_70, x_160); +x_166 = lean_array_push(x_165, x_162); +x_167 = lean_array_push(x_166, x_164); +lean_inc(x_27); +x_168 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_168, 0, x_27); +lean_ctor_set(x_168, 1, x_158); +lean_ctor_set(x_168, 2, x_167); +x_169 = lean_array_push(x_37, x_168); +x_89 = x_169; +goto block_155; +} +block_155: +{ +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 = l_Array_append___rarg(x_35, x_89); +lean_inc(x_27); +x_91 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_91, 0, x_27); +lean_ctor_set(x_91, 1, x_34); +lean_ctor_set(x_91, 2, x_90); +x_92 = lean_array_push(x_88, x_91); +x_93 = lean_array_push(x_92, x_39); +x_94 = lean_array_push(x_93, x_40); +x_95 = lean_array_push(x_94, x_48); +if (lean_obj_tag(x_7) == 0) +{ +x_96 = x_35; +goto block_135; +} +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; 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_136 = lean_ctor_get(x_7, 0); +lean_inc(x_136); +lean_dec(x_7); +x_137 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__23; +lean_inc(x_3); +x_138 = l_Lean_Name_str___override(x_3, x_137); +x_139 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__18; +lean_inc(x_27); +x_140 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_140, 0, x_27); +lean_ctor_set(x_140, 1, x_139); +x_141 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__24; +lean_inc(x_27); +x_142 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_142, 0, x_27); +lean_ctor_set(x_142, 1, x_141); +x_143 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__20; +lean_inc(x_27); +x_144 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_144, 0, x_27); +lean_ctor_set(x_144, 1, x_143); +x_145 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__21; +lean_inc(x_27); +x_146 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_146, 0, x_27); +lean_ctor_set(x_146, 1, x_145); +x_147 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__22; +x_148 = lean_array_push(x_147, x_140); +x_149 = lean_array_push(x_148, x_142); +x_150 = lean_array_push(x_149, x_144); +x_151 = lean_array_push(x_150, x_136); +x_152 = lean_array_push(x_151, x_146); +lean_inc(x_27); +x_153 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_153, 0, x_27); +lean_ctor_set(x_153, 1, x_138); +lean_ctor_set(x_153, 2, x_152); +x_154 = lean_array_push(x_37, x_153); +x_96 = x_154; +goto block_135; +} +block_135: +{ +lean_object* x_97; lean_object* x_98; lean_object* x_99; +x_97 = l_Array_append___rarg(x_35, x_96); +lean_inc(x_27); +x_98 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_98, 0, x_27); +lean_ctor_set(x_98, 1, x_34); +lean_ctor_set(x_98, 2, x_97); +x_99 = lean_array_push(x_95, x_98); +if (lean_obj_tag(x_11) == 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; lean_object* x_106; lean_object* x_107; +lean_dec(x_3); +x_100 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__16; +lean_inc(x_27); +x_101 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_101, 0, x_27); +lean_ctor_set(x_101, 1, x_34); +lean_ctor_set(x_101, 2, x_100); +x_102 = lean_array_push(x_99, x_101); +x_103 = lean_array_push(x_102, x_74); +x_104 = lean_array_push(x_103, x_76); +x_105 = lean_array_push(x_104, x_83); +x_106 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_106, 0, x_27); +lean_ctor_set(x_106, 1, x_33); +lean_ctor_set(x_106, 2, x_105); +if (lean_is_scalar(x_29)) { + x_107 = lean_alloc_ctor(0, 2, 0); +} else { + x_107 = x_29; +} +lean_ctor_set(x_107, 0, x_106); +lean_ctor_set(x_107, 1, x_28); +return x_107; +} +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; lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; +x_108 = lean_ctor_get(x_11, 0); +lean_inc(x_108); +lean_dec(x_11); +x_109 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__17; +x_110 = l_Lean_Name_str___override(x_3, x_109); +x_111 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__18; +lean_inc(x_27); +x_112 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_112, 0, x_27); +lean_ctor_set(x_112, 1, x_111); +x_113 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__19; +lean_inc(x_27); +x_114 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_114, 0, x_27); +lean_ctor_set(x_114, 1, x_113); +x_115 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__20; +lean_inc(x_27); +x_116 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_116, 0, x_27); +lean_ctor_set(x_116, 1, x_115); +x_117 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__21; +lean_inc(x_27); +x_118 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_118, 0, x_27); +lean_ctor_set(x_118, 1, x_117); +x_119 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__22; +x_120 = lean_array_push(x_119, x_112); +x_121 = lean_array_push(x_120, x_114); +x_122 = lean_array_push(x_121, x_116); +x_123 = lean_array_push(x_122, x_108); +x_124 = lean_array_push(x_123, x_118); +lean_inc(x_27); +x_125 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_125, 0, x_27); +lean_ctor_set(x_125, 1, x_110); +lean_ctor_set(x_125, 2, x_124); +x_126 = lean_array_push(x_37, x_125); +x_127 = l_Array_append___rarg(x_35, x_126); +lean_inc(x_27); +x_128 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_128, 0, x_27); +lean_ctor_set(x_128, 1, x_34); +lean_ctor_set(x_128, 2, x_127); +x_129 = lean_array_push(x_99, x_128); +x_130 = lean_array_push(x_129, x_74); +x_131 = lean_array_push(x_130, x_76); +x_132 = lean_array_push(x_131, x_83); +x_133 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_133, 0, x_27); +lean_ctor_set(x_133, 1, x_33); +lean_ctor_set(x_133, 2, x_132); +if (lean_is_scalar(x_29)) { + x_134 = lean_alloc_ctor(0, 2, 0); +} else { + x_134 = x_29; +} +lean_ctor_set(x_134, 0, x_133); +lean_ctor_set(x_134, 1, x_28); +return x_134; +} +} +} +} +} +else +{ +uint8_t x_173; +lean_dec(x_17); +lean_dec(x_15); +lean_dec(x_12); +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_173 = !lean_is_exclusive(x_18); +if (x_173 == 0) +{ return x_18; } else { -lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; uint8_t x_23; -x_19 = lean_unsigned_to_nat(0u); -x_20 = l_Lean_Syntax_getArg(x_13, x_19); -lean_dec(x_13); -x_21 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__17; -lean_inc(x_3); -x_22 = l_Lean_Name_str___override(x_3, x_21); -lean_inc(x_20); -x_23 = l_Lean_Syntax_isOfKind(x_20, x_22); -lean_dec(x_22); -if (x_23 == 0) +lean_object* x_174; lean_object* x_175; lean_object* x_176; +x_174 = lean_ctor_get(x_18, 0); +x_175 = lean_ctor_get(x_18, 1); +lean_inc(x_175); +lean_inc(x_174); +lean_dec(x_18); +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; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___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* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +_start: { -lean_object* x_24; lean_object* x_25; -lean_dec(x_20); -lean_dec(x_10); +lean_object* x_13; lean_object* x_14; uint8_t x_15; lean_dec(x_9); +x_13 = lean_unsigned_to_nat(6u); +x_14 = l_Lean_Syntax_getArg(x_1, x_13); +x_15 = l_Lean_Syntax_isNone(x_14); +if (x_15 == 0) +{ +lean_object* x_16; uint8_t x_17; +x_16 = lean_unsigned_to_nat(1u); +lean_inc(x_14); +x_17 = l_Lean_Syntax_matchesNull(x_14, x_16); +if (x_17 == 0) +{ +lean_object* x_18; lean_object* x_19; +lean_dec(x_14); +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_24 = lean_box(1); -x_25 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_25, 0, x_24); -lean_ctor_set(x_25, 1, x_11); -return x_25; +x_18 = lean_box(1); +x_19 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_19, 0, x_18); +lean_ctor_set(x_19, 1, x_12); +return x_19; } else { -lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_26 = lean_unsigned_to_nat(3u); -x_27 = l_Lean_Syntax_getArg(x_20, x_26); -lean_dec(x_20); -x_28 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_28, 0, x_27); -x_29 = lean_box(0); -x_30 = l_Lean_Elab_Command_expandMixfix___lambda__9(x_1, x_2, x_3, x_4, x_5, x_6, x_9, x_7, x_29, x_28, x_10, x_11); -return x_30; +lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; +x_20 = lean_unsigned_to_nat(0u); +x_21 = l_Lean_Syntax_getArg(x_14, x_20); +lean_dec(x_14); +x_22 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__17; +lean_inc(x_3); +x_23 = l_Lean_Name_str___override(x_3, x_22); +lean_inc(x_21); +x_24 = l_Lean_Syntax_isOfKind(x_21, x_23); +lean_dec(x_23); +if (x_24 == 0) +{ +lean_object* x_25; lean_object* x_26; +lean_dec(x_21); +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_25 = lean_box(1); +x_26 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_26, 0, x_25); +lean_ctor_set(x_26, 1, 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; +x_27 = lean_unsigned_to_nat(3u); +x_28 = l_Lean_Syntax_getArg(x_21, x_27); +lean_dec(x_21); +x_29 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_29, 0, x_28); +x_30 = lean_box(0); +x_31 = l_Lean_Elab_Command_expandMixfix___lambda__7(x_1, x_2, x_3, x_4, x_5, x_6, x_10, x_7, x_8, x_30, x_29, x_11, x_12); +return x_31; } } } else { -lean_object* x_31; lean_object* x_32; lean_object* x_33; -lean_dec(x_13); -x_31 = lean_box(0); +lean_object* x_32; lean_object* x_33; lean_object* x_34; +lean_dec(x_14); x_32 = lean_box(0); -x_33 = l_Lean_Elab_Command_expandMixfix___lambda__9(x_1, x_2, x_3, x_4, x_5, x_6, x_9, x_7, x_32, x_31, x_10, x_11); -return x_33; +x_33 = lean_box(0); +x_34 = l_Lean_Elab_Command_expandMixfix___lambda__7(x_1, x_2, x_3, x_4, x_5, x_6, x_10, x_7, x_8, x_33, x_32, x_11, x_12); +return x_34; +} +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___lambda__9(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; +x_14 = lean_unsigned_to_nat(7u); +x_15 = l_Lean_Syntax_getArg(x_1, x_14); +x_16 = lean_unsigned_to_nat(9u); +x_17 = l_Lean_Syntax_getArg(x_1, x_16); +lean_inc(x_12); +lean_inc(x_2); +x_18 = l_Lean_evalPrec(x_2, x_12, x_13); +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; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; 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_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 = lean_unsigned_to_nat(1u); +x_22 = lean_nat_add(x_19, x_21); +lean_dec(x_19); +x_23 = l_Nat_repr(x_22); +x_24 = lean_box(2); +x_25 = l_Lean_Syntax_mkNumLit(x_23, x_24); +lean_inc(x_12); +x_26 = l_Lean_MonadRef_mkInfoFromRefPos___at___aux__Init__Notation______macroRules__precMax__1___spec__1(x_12, x_20); +x_27 = lean_ctor_get(x_26, 0); +lean_inc(x_27); +x_28 = lean_ctor_get(x_26, 1); +lean_inc(x_28); +if (lean_is_exclusive(x_26)) { + lean_ctor_release(x_26, 0); + lean_ctor_release(x_26, 1); + x_29 = x_26; +} else { + lean_dec_ref(x_26); + x_29 = lean_box(0); +} +x_30 = lean_ctor_get(x_12, 2); +lean_inc(x_30); +x_31 = lean_ctor_get(x_12, 1); +lean_inc(x_31); +lean_dec(x_12); +x_32 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__1; +lean_inc(x_3); +x_33 = l_Lean_Name_str___override(x_3, x_32); +x_34 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__3; +x_35 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__4; +lean_inc(x_27); +x_36 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_36, 0, x_27); +lean_ctor_set(x_36, 1, x_34); +lean_ctor_set(x_36, 2, x_35); +x_37 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__5; +x_38 = lean_array_push(x_37, x_36); +lean_inc(x_27); +x_39 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_39, 0, x_27); +lean_ctor_set(x_39, 1, x_4); +lean_ctor_set(x_39, 2, x_38); +lean_inc(x_27); +x_40 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_40, 0, x_27); +lean_ctor_set(x_40, 1, x_32); +x_41 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__6; +lean_inc(x_27); +x_42 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_42, 0, x_27); +lean_ctor_set(x_42, 1, x_41); +x_43 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__7; +x_44 = lean_array_push(x_43, x_42); +lean_inc(x_44); +x_45 = lean_array_push(x_44, x_2); +lean_inc(x_5); +lean_inc(x_27); +x_46 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_46, 0, x_27); +lean_ctor_set(x_46, 1, x_5); +lean_ctor_set(x_46, 2, x_45); +x_47 = lean_array_push(x_37, x_46); +lean_inc(x_27); +x_48 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_48, 0, x_27); +lean_ctor_set(x_48, 1, x_34); +lean_ctor_set(x_48, 2, x_47); +x_49 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__8; +lean_inc(x_3); +x_50 = l_Lean_Name_str___override(x_3, x_49); +x_51 = l_Lean_Elab_Command_expandMixfix___lambda__5___closed__4; +lean_inc(x_30); +lean_inc(x_31); +x_52 = l_Lean_addMacroScope(x_31, x_51, x_30); +x_53 = lean_box(0); +x_54 = l_Lean_Elab_Command_expandMixfix___lambda__5___closed__3; +lean_inc(x_27); +x_55 = lean_alloc_ctor(3, 4, 0); +lean_ctor_set(x_55, 0, x_27); +lean_ctor_set(x_55, 1, x_54); +lean_ctor_set(x_55, 2, x_52); +lean_ctor_set(x_55, 3, x_53); +x_56 = lean_array_push(x_43, x_55); +lean_inc(x_48); +lean_inc(x_56); +x_57 = lean_array_push(x_56, x_48); +lean_inc(x_50); +lean_inc(x_27); +x_58 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_58, 0, x_27); +lean_ctor_set(x_58, 1, x_50); +lean_ctor_set(x_58, 2, x_57); +x_59 = l_Lean_Elab_Command_expandMixfix___lambda__5___closed__8; +x_60 = l_Lean_addMacroScope(x_31, x_59, x_30); +x_61 = l_Lean_Elab_Command_expandMixfix___lambda__5___closed__7; +lean_inc(x_27); +x_62 = lean_alloc_ctor(3, 4, 0); +lean_ctor_set(x_62, 0, x_27); +lean_ctor_set(x_62, 1, x_61); +lean_ctor_set(x_62, 2, x_60); +lean_ctor_set(x_62, 3, x_53); +x_63 = lean_array_push(x_44, x_25); +lean_inc(x_27); +x_64 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_64, 0, x_27); +lean_ctor_set(x_64, 1, x_5); +lean_ctor_set(x_64, 2, x_63); +x_65 = lean_array_push(x_37, x_64); +lean_inc(x_27); +x_66 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_66, 0, x_27); +lean_ctor_set(x_66, 1, x_34); +lean_ctor_set(x_66, 2, x_65); +lean_inc(x_62); +x_67 = lean_array_push(x_43, x_62); +x_68 = lean_array_push(x_67, x_66); +lean_inc(x_27); +x_69 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_69, 0, x_27); +lean_ctor_set(x_69, 1, x_50); +lean_ctor_set(x_69, 2, x_68); +x_70 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__28; +x_71 = lean_array_push(x_70, x_58); +x_72 = lean_array_push(x_71, x_15); +x_73 = lean_array_push(x_72, x_69); +lean_inc(x_27); +x_74 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_74, 0, x_27); +lean_ctor_set(x_74, 1, x_34); +lean_ctor_set(x_74, 2, x_73); +x_75 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__13; +lean_inc(x_27); +x_76 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_76, 0, x_27); +lean_ctor_set(x_76, 1, x_75); +x_77 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__14; +lean_inc(x_6); +x_78 = l_Lean_Name_str___override(x_6, x_77); +x_79 = lean_array_push(x_56, x_62); +lean_inc(x_27); +x_80 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_80, 0, x_27); +lean_ctor_set(x_80, 1, x_34); +lean_ctor_set(x_80, 2, x_79); +x_81 = lean_array_push(x_43, x_17); +x_82 = lean_array_push(x_81, x_80); +lean_inc(x_27); +x_83 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_83, 0, x_27); +lean_ctor_set(x_83, 1, x_78); +lean_ctor_set(x_83, 2, x_82); +if (lean_obj_tag(x_9) == 0) +{ +x_84 = x_35; +goto block_170; +} +else +{ +lean_object* x_171; lean_object* x_172; +x_171 = lean_ctor_get(x_9, 0); +lean_inc(x_171); +lean_dec(x_9); +x_172 = lean_array_push(x_37, x_171); +x_84 = x_172; +goto block_170; +} +block_170: +{ +lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; +x_85 = l_Array_append___rarg(x_35, x_84); +lean_inc(x_27); +x_86 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_86, 0, x_27); +lean_ctor_set(x_86, 1, x_34); +lean_ctor_set(x_86, 2, x_85); +x_87 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__15; +x_88 = lean_array_push(x_87, x_86); +if (lean_obj_tag(x_8) == 0) +{ +lean_dec(x_6); +x_89 = x_35; +goto block_155; +} +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; lean_object* x_167; lean_object* x_168; lean_object* x_169; +x_156 = lean_ctor_get(x_8, 0); +lean_inc(x_156); +lean_dec(x_8); +x_157 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__25; +x_158 = l_Lean_Name_str___override(x_6, x_157); +x_159 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__26; +lean_inc(x_27); +x_160 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_160, 0, x_27); +lean_ctor_set(x_160, 1, x_159); +x_161 = l_Array_append___rarg(x_35, x_156); +lean_inc(x_27); +x_162 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_162, 0, x_27); +lean_ctor_set(x_162, 1, x_34); +lean_ctor_set(x_162, 2, x_161); +x_163 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__27; +lean_inc(x_27); +x_164 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_164, 0, x_27); +lean_ctor_set(x_164, 1, x_163); +x_165 = lean_array_push(x_70, x_160); +x_166 = lean_array_push(x_165, x_162); +x_167 = lean_array_push(x_166, x_164); +lean_inc(x_27); +x_168 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_168, 0, x_27); +lean_ctor_set(x_168, 1, x_158); +lean_ctor_set(x_168, 2, x_167); +x_169 = lean_array_push(x_37, x_168); +x_89 = x_169; +goto block_155; +} +block_155: +{ +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 = l_Array_append___rarg(x_35, x_89); +lean_inc(x_27); +x_91 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_91, 0, x_27); +lean_ctor_set(x_91, 1, x_34); +lean_ctor_set(x_91, 2, x_90); +x_92 = lean_array_push(x_88, x_91); +x_93 = lean_array_push(x_92, x_39); +x_94 = lean_array_push(x_93, x_40); +x_95 = lean_array_push(x_94, x_48); +if (lean_obj_tag(x_7) == 0) +{ +x_96 = x_35; +goto block_135; +} +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; 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_136 = lean_ctor_get(x_7, 0); +lean_inc(x_136); +lean_dec(x_7); +x_137 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__23; +lean_inc(x_3); +x_138 = l_Lean_Name_str___override(x_3, x_137); +x_139 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__18; +lean_inc(x_27); +x_140 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_140, 0, x_27); +lean_ctor_set(x_140, 1, x_139); +x_141 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__24; +lean_inc(x_27); +x_142 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_142, 0, x_27); +lean_ctor_set(x_142, 1, x_141); +x_143 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__20; +lean_inc(x_27); +x_144 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_144, 0, x_27); +lean_ctor_set(x_144, 1, x_143); +x_145 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__21; +lean_inc(x_27); +x_146 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_146, 0, x_27); +lean_ctor_set(x_146, 1, x_145); +x_147 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__22; +x_148 = lean_array_push(x_147, x_140); +x_149 = lean_array_push(x_148, x_142); +x_150 = lean_array_push(x_149, x_144); +x_151 = lean_array_push(x_150, x_136); +x_152 = lean_array_push(x_151, x_146); +lean_inc(x_27); +x_153 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_153, 0, x_27); +lean_ctor_set(x_153, 1, x_138); +lean_ctor_set(x_153, 2, x_152); +x_154 = lean_array_push(x_37, x_153); +x_96 = x_154; +goto block_135; +} +block_135: +{ +lean_object* x_97; lean_object* x_98; lean_object* x_99; +x_97 = l_Array_append___rarg(x_35, x_96); +lean_inc(x_27); +x_98 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_98, 0, x_27); +lean_ctor_set(x_98, 1, x_34); +lean_ctor_set(x_98, 2, x_97); +x_99 = lean_array_push(x_95, x_98); +if (lean_obj_tag(x_11) == 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; lean_object* x_106; lean_object* x_107; +lean_dec(x_3); +x_100 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__16; +lean_inc(x_27); +x_101 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_101, 0, x_27); +lean_ctor_set(x_101, 1, x_34); +lean_ctor_set(x_101, 2, x_100); +x_102 = lean_array_push(x_99, x_101); +x_103 = lean_array_push(x_102, x_74); +x_104 = lean_array_push(x_103, x_76); +x_105 = lean_array_push(x_104, x_83); +x_106 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_106, 0, x_27); +lean_ctor_set(x_106, 1, x_33); +lean_ctor_set(x_106, 2, x_105); +if (lean_is_scalar(x_29)) { + x_107 = lean_alloc_ctor(0, 2, 0); +} else { + x_107 = x_29; +} +lean_ctor_set(x_107, 0, x_106); +lean_ctor_set(x_107, 1, x_28); +return x_107; +} +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; lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; +x_108 = lean_ctor_get(x_11, 0); +lean_inc(x_108); +lean_dec(x_11); +x_109 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__17; +x_110 = l_Lean_Name_str___override(x_3, x_109); +x_111 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__18; +lean_inc(x_27); +x_112 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_112, 0, x_27); +lean_ctor_set(x_112, 1, x_111); +x_113 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__19; +lean_inc(x_27); +x_114 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_114, 0, x_27); +lean_ctor_set(x_114, 1, x_113); +x_115 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__20; +lean_inc(x_27); +x_116 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_116, 0, x_27); +lean_ctor_set(x_116, 1, x_115); +x_117 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__21; +lean_inc(x_27); +x_118 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_118, 0, x_27); +lean_ctor_set(x_118, 1, x_117); +x_119 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__22; +x_120 = lean_array_push(x_119, x_112); +x_121 = lean_array_push(x_120, x_114); +x_122 = lean_array_push(x_121, x_116); +x_123 = lean_array_push(x_122, x_108); +x_124 = lean_array_push(x_123, x_118); +lean_inc(x_27); +x_125 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_125, 0, x_27); +lean_ctor_set(x_125, 1, x_110); +lean_ctor_set(x_125, 2, x_124); +x_126 = lean_array_push(x_37, x_125); +x_127 = l_Array_append___rarg(x_35, x_126); +lean_inc(x_27); +x_128 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_128, 0, x_27); +lean_ctor_set(x_128, 1, x_34); +lean_ctor_set(x_128, 2, x_127); +x_129 = lean_array_push(x_99, x_128); +x_130 = lean_array_push(x_129, x_74); +x_131 = lean_array_push(x_130, x_76); +x_132 = lean_array_push(x_131, x_83); +x_133 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_133, 0, x_27); +lean_ctor_set(x_133, 1, x_33); +lean_ctor_set(x_133, 2, x_132); +if (lean_is_scalar(x_29)) { + x_134 = lean_alloc_ctor(0, 2, 0); +} else { + x_134 = x_29; +} +lean_ctor_set(x_134, 0, x_133); +lean_ctor_set(x_134, 1, x_28); +return x_134; +} +} +} +} +} +else +{ +uint8_t x_173; +lean_dec(x_17); +lean_dec(x_15); +lean_dec(x_12); +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_173 = !lean_is_exclusive(x_18); +if (x_173 == 0) +{ +return x_18; +} +else +{ +lean_object* x_174; lean_object* x_175; lean_object* x_176; +x_174 = lean_ctor_get(x_18, 0); +x_175 = lean_ctor_get(x_18, 1); +lean_inc(x_175); +lean_inc(x_174); +lean_dec(x_18); +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; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___lambda__10(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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; lean_object* x_14; uint8_t x_15; +lean_dec(x_9); +x_13 = lean_unsigned_to_nat(6u); +x_14 = l_Lean_Syntax_getArg(x_1, x_13); +x_15 = l_Lean_Syntax_isNone(x_14); +if (x_15 == 0) +{ +lean_object* x_16; uint8_t x_17; +x_16 = lean_unsigned_to_nat(1u); +lean_inc(x_14); +x_17 = l_Lean_Syntax_matchesNull(x_14, x_16); +if (x_17 == 0) +{ +lean_object* x_18; lean_object* x_19; +lean_dec(x_14); +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_18 = lean_box(1); +x_19 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_19, 0, x_18); +lean_ctor_set(x_19, 1, x_12); +return x_19; +} +else +{ +lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; +x_20 = lean_unsigned_to_nat(0u); +x_21 = l_Lean_Syntax_getArg(x_14, x_20); +lean_dec(x_14); +x_22 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__17; +lean_inc(x_3); +x_23 = l_Lean_Name_str___override(x_3, x_22); +lean_inc(x_21); +x_24 = l_Lean_Syntax_isOfKind(x_21, x_23); +lean_dec(x_23); +if (x_24 == 0) +{ +lean_object* x_25; lean_object* x_26; +lean_dec(x_21); +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_25 = lean_box(1); +x_26 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_26, 0, x_25); +lean_ctor_set(x_26, 1, 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; +x_27 = lean_unsigned_to_nat(3u); +x_28 = l_Lean_Syntax_getArg(x_21, x_27); +lean_dec(x_21); +x_29 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_29, 0, x_28); +x_30 = lean_box(0); +x_31 = l_Lean_Elab_Command_expandMixfix___lambda__9(x_1, x_2, x_3, x_4, x_5, x_6, x_10, x_7, x_8, x_30, x_29, x_11, x_12); +return x_31; +} +} +} +else +{ +lean_object* x_32; lean_object* x_33; lean_object* x_34; +lean_dec(x_14); +x_32 = lean_box(0); +x_33 = lean_box(0); +x_34 = l_Lean_Elab_Command_expandMixfix___lambda__9(x_1, x_2, x_3, x_4, x_5, x_6, x_10, x_7, x_8, x_33, x_32, x_11, x_12); +return x_34; } } } @@ -2737,660 +3052,683 @@ x_1 = lean_mk_string_from_bytes("precedence", 10); return x_1; } } -LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___lambda__11(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___lambda__11(lean_object* x_1, lean_object* x_2, 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_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_dec(x_4); -x_8 = lean_unsigned_to_nat(1u); -x_9 = l_Lean_Syntax_getArg(x_1, x_8); -x_10 = l_Lean_Elab_Command_expandMixfix___lambda__11___closed__1; +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_dec(x_5); +x_9 = lean_unsigned_to_nat(2u); +x_10 = l_Lean_Syntax_getArg(x_1, x_9); +x_11 = l_Lean_Elab_Command_expandMixfix___lambda__11___closed__1; lean_inc(x_2); -x_11 = l_Lean_Name_str___override(x_2, x_10); -x_12 = l_Lean_Elab_Command_expandMixfix___lambda__11___closed__2; -lean_inc(x_11); -x_13 = l_Lean_Name_str___override(x_11, x_12); -lean_inc(x_9); -x_14 = l_Lean_Syntax_isOfKind(x_9, x_13); -if (x_14 == 0) +x_12 = l_Lean_Name_str___override(x_2, x_11); +x_13 = l_Lean_Elab_Command_expandMixfix___lambda__11___closed__2; +lean_inc(x_12); +x_14 = l_Lean_Name_str___override(x_12, x_13); +lean_inc(x_10); +x_15 = l_Lean_Syntax_isOfKind(x_10, x_14); +if (x_15 == 0) { -lean_object* x_15; lean_object* x_16; -lean_dec(x_13); -lean_dec(x_11); -lean_dec(x_9); +lean_object* x_16; lean_object* x_17; +lean_dec(x_14); +lean_dec(x_12); +lean_dec(x_10); +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_box(1); -x_16 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_16, 0, x_15); -lean_ctor_set(x_16, 1, x_7); -return x_16; +x_16 = lean_box(1); +x_17 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_17, 0, x_16); +lean_ctor_set(x_17, 1, x_8); +return x_17; } else { -lean_object* x_17; lean_object* x_18; uint8_t x_19; -x_17 = lean_unsigned_to_nat(0u); -x_18 = l_Lean_Syntax_getArg(x_9, x_17); -lean_dec(x_9); -x_19 = l_Lean_Syntax_matchesNull(x_18, x_17); -if (x_19 == 0) +lean_object* x_18; lean_object* x_19; uint8_t x_20; +x_18 = lean_unsigned_to_nat(0u); +x_19 = l_Lean_Syntax_getArg(x_10, x_18); +lean_dec(x_10); +x_20 = l_Lean_Syntax_matchesNull(x_19, x_18); +if (x_20 == 0) { -lean_object* x_20; lean_object* x_21; -lean_dec(x_13); -lean_dec(x_11); +lean_object* x_21; lean_object* x_22; +lean_dec(x_14); +lean_dec(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_20 = lean_box(1); -x_21 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_21, 0, x_20); -lean_ctor_set(x_21, 1, x_7); -return x_21; +x_21 = lean_box(1); +x_22 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_22, 0, x_21); +lean_ctor_set(x_22, 1, x_8); +return x_22; } else { -lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; uint8_t x_26; -x_22 = lean_unsigned_to_nat(2u); -x_23 = l_Lean_Syntax_getArg(x_1, x_22); -x_24 = l_Lean_Elab_Command_expandMixfix___lambda__11___closed__3; +lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; uint8_t x_27; +x_23 = lean_unsigned_to_nat(3u); +x_24 = l_Lean_Syntax_getArg(x_1, x_23); +x_25 = l_Lean_Elab_Command_expandMixfix___lambda__11___closed__3; lean_inc(x_3); -x_25 = l_Lean_Name_str___override(x_3, x_24); -lean_inc(x_23); -x_26 = l_Lean_Syntax_isOfKind(x_23, x_25); -lean_dec(x_25); -if (x_26 == 0) +x_26 = l_Lean_Name_str___override(x_3, x_25); +lean_inc(x_24); +x_27 = l_Lean_Syntax_isOfKind(x_24, x_26); +lean_dec(x_26); +if (x_27 == 0) { -lean_object* x_27; lean_object* x_28; uint8_t x_29; -x_27 = l_Lean_Elab_Command_expandMixfix___lambda__11___closed__4; +lean_object* x_28; lean_object* x_29; uint8_t x_30; +x_28 = l_Lean_Elab_Command_expandMixfix___lambda__11___closed__4; lean_inc(x_3); -x_28 = l_Lean_Name_str___override(x_3, x_27); -lean_inc(x_23); -x_29 = l_Lean_Syntax_isOfKind(x_23, x_28); -lean_dec(x_28); -if (x_29 == 0) +x_29 = l_Lean_Name_str___override(x_3, x_28); +lean_inc(x_24); +x_30 = l_Lean_Syntax_isOfKind(x_24, x_29); +lean_dec(x_29); +if (x_30 == 0) { -lean_object* x_30; lean_object* x_31; uint8_t x_32; -x_30 = l_Lean_Elab_Command_expandMixfix___lambda__11___closed__5; +lean_object* x_31; lean_object* x_32; uint8_t x_33; +x_31 = l_Lean_Elab_Command_expandMixfix___lambda__11___closed__5; lean_inc(x_3); -x_31 = l_Lean_Name_str___override(x_3, x_30); -lean_inc(x_23); -x_32 = l_Lean_Syntax_isOfKind(x_23, x_31); -lean_dec(x_31); -if (x_32 == 0) +x_32 = l_Lean_Name_str___override(x_3, x_31); +lean_inc(x_24); +x_33 = l_Lean_Syntax_isOfKind(x_24, x_32); +lean_dec(x_32); +if (x_33 == 0) { -lean_object* x_33; lean_object* x_34; uint8_t x_35; -x_33 = l_Lean_Elab_Command_expandMixfix___lambda__11___closed__6; +lean_object* x_34; lean_object* x_35; uint8_t x_36; +x_34 = l_Lean_Elab_Command_expandMixfix___lambda__11___closed__6; lean_inc(x_3); -x_34 = l_Lean_Name_str___override(x_3, x_33); -lean_inc(x_23); -x_35 = l_Lean_Syntax_isOfKind(x_23, x_34); -lean_dec(x_34); -if (x_35 == 0) +x_35 = l_Lean_Name_str___override(x_3, x_34); +lean_inc(x_24); +x_36 = l_Lean_Syntax_isOfKind(x_24, x_35); +lean_dec(x_35); +if (x_36 == 0) { -lean_object* x_36; lean_object* x_37; uint8_t x_38; -x_36 = l_Lean_Elab_Command_expandMixfix___lambda__11___closed__7; +lean_object* x_37; lean_object* x_38; uint8_t x_39; +x_37 = l_Lean_Elab_Command_expandMixfix___lambda__11___closed__7; lean_inc(x_3); -x_37 = l_Lean_Name_str___override(x_3, x_36); -x_38 = l_Lean_Syntax_isOfKind(x_23, x_37); -lean_dec(x_37); -if (x_38 == 0) +x_38 = l_Lean_Name_str___override(x_3, x_37); +x_39 = l_Lean_Syntax_isOfKind(x_24, x_38); +lean_dec(x_38); +if (x_39 == 0) { -lean_object* x_39; lean_object* x_40; -lean_dec(x_13); -lean_dec(x_11); +lean_object* x_40; lean_object* x_41; +lean_dec(x_14); +lean_dec(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_39 = lean_box(1); -x_40 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_40, 0, x_39); -lean_ctor_set(x_40, 1, x_7); -return x_40; +x_40 = lean_box(1); +x_41 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_41, 0, x_40); +lean_ctor_set(x_41, 1, x_8); +return x_41; } else { -lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; uint8_t x_45; -x_41 = lean_unsigned_to_nat(3u); -x_42 = l_Lean_Syntax_getArg(x_1, x_41); -x_43 = l_Lean_Elab_Command_expandMixfix___lambda__11___closed__8; -x_44 = l_Lean_Name_str___override(x_2, x_43); -lean_inc(x_42); -x_45 = l_Lean_Syntax_isOfKind(x_42, x_44); -if (x_45 == 0) +lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; uint8_t x_46; +x_42 = lean_unsigned_to_nat(4u); +x_43 = l_Lean_Syntax_getArg(x_1, x_42); +x_44 = l_Lean_Elab_Command_expandMixfix___lambda__11___closed__8; +x_45 = l_Lean_Name_str___override(x_2, x_44); +lean_inc(x_43); +x_46 = l_Lean_Syntax_isOfKind(x_43, x_45); +if (x_46 == 0) { -lean_object* x_46; lean_object* x_47; -lean_dec(x_44); -lean_dec(x_42); -lean_dec(x_13); -lean_dec(x_11); +lean_object* x_47; lean_object* x_48; +lean_dec(x_45); +lean_dec(x_43); +lean_dec(x_14); +lean_dec(x_12); +lean_dec(x_7); lean_dec(x_6); -lean_dec(x_5); +lean_dec(x_4); lean_dec(x_3); -x_46 = lean_box(1); -x_47 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_47, 0, x_46); -lean_ctor_set(x_47, 1, x_7); -return x_47; +x_47 = lean_box(1); +x_48 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_48, 0, x_47); +lean_ctor_set(x_48, 1, x_8); +return x_48; } else { -lean_object* x_48; lean_object* x_49; lean_object* x_50; uint8_t x_51; -x_48 = l_Lean_Syntax_getArg(x_42, x_8); -lean_dec(x_42); -x_49 = lean_unsigned_to_nat(4u); -x_50 = l_Lean_Syntax_getArg(x_1, x_49); -x_51 = l_Lean_Syntax_isNone(x_50); -if (x_51 == 0) +lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; uint8_t x_53; +x_49 = lean_unsigned_to_nat(1u); +x_50 = l_Lean_Syntax_getArg(x_43, x_49); +lean_dec(x_43); +x_51 = lean_unsigned_to_nat(5u); +x_52 = l_Lean_Syntax_getArg(x_1, x_51); +x_53 = l_Lean_Syntax_isNone(x_52); +if (x_53 == 0) { -uint8_t x_52; -lean_inc(x_50); -x_52 = l_Lean_Syntax_matchesNull(x_50, x_8); -if (x_52 == 0) +uint8_t x_54; +lean_inc(x_52); +x_54 = l_Lean_Syntax_matchesNull(x_52, x_49); +if (x_54 == 0) { -lean_object* x_53; lean_object* x_54; +lean_object* x_55; lean_object* x_56; +lean_dec(x_52); lean_dec(x_50); -lean_dec(x_48); -lean_dec(x_44); -lean_dec(x_13); -lean_dec(x_11); +lean_dec(x_45); +lean_dec(x_14); +lean_dec(x_12); +lean_dec(x_7); lean_dec(x_6); -lean_dec(x_5); +lean_dec(x_4); lean_dec(x_3); -x_53 = lean_box(1); -x_54 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_54, 0, x_53); -lean_ctor_set(x_54, 1, x_7); -return x_54; +x_55 = lean_box(1); +x_56 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_56, 0, x_55); +lean_ctor_set(x_56, 1, x_8); +return x_56; } else { -lean_object* x_55; lean_object* x_56; lean_object* x_57; uint8_t x_58; -x_55 = l_Lean_Syntax_getArg(x_50, x_17); -lean_dec(x_50); -x_56 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__23; +lean_object* x_57; lean_object* x_58; lean_object* x_59; uint8_t x_60; +x_57 = l_Lean_Syntax_getArg(x_52, x_18); +lean_dec(x_52); +x_58 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__23; lean_inc(x_3); -x_57 = l_Lean_Name_str___override(x_3, x_56); -lean_inc(x_55); -x_58 = l_Lean_Syntax_isOfKind(x_55, x_57); +x_59 = l_Lean_Name_str___override(x_3, x_58); +lean_inc(x_57); +x_60 = l_Lean_Syntax_isOfKind(x_57, x_59); +lean_dec(x_59); +if (x_60 == 0) +{ +lean_object* x_61; lean_object* x_62; lean_dec(x_57); -if (x_58 == 0) -{ -lean_object* x_59; lean_object* x_60; -lean_dec(x_55); -lean_dec(x_48); -lean_dec(x_44); -lean_dec(x_13); -lean_dec(x_11); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_3); -x_59 = lean_box(1); -x_60 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_60, 0, x_59); -lean_ctor_set(x_60, 1, x_7); -return x_60; -} -else -{ -lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; -x_61 = l_Lean_Syntax_getArg(x_55, x_41); -lean_dec(x_55); -x_62 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_62, 0, x_61); -x_63 = lean_box(0); -x_64 = l_Lean_Elab_Command_expandMixfix___lambda__2(x_1, x_3, x_13, x_48, x_44, x_11, x_5, x_63, x_62, x_6, x_7); -return x_64; -} -} -} -else -{ -lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_dec(x_50); +lean_dec(x_45); +lean_dec(x_14); +lean_dec(x_12); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_3); +x_61 = lean_box(1); +x_62 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_62, 0, x_61); +lean_ctor_set(x_62, 1, x_8); +return x_62; +} +else +{ +lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; +x_63 = l_Lean_Syntax_getArg(x_57, x_23); +lean_dec(x_57); +x_64 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_64, 0, x_63); x_65 = lean_box(0); -x_66 = lean_box(0); -x_67 = l_Lean_Elab_Command_expandMixfix___lambda__2(x_1, x_3, x_13, x_48, x_44, x_11, x_5, x_66, x_65, x_6, x_7); -return x_67; +x_66 = l_Lean_Elab_Command_expandMixfix___lambda__2(x_1, x_3, x_14, x_50, x_45, x_12, x_6, x_4, x_65, x_64, x_7, x_8); +return x_66; +} +} +} +else +{ +lean_object* x_67; lean_object* x_68; lean_object* x_69; +lean_dec(x_52); +x_67 = lean_box(0); +x_68 = lean_box(0); +x_69 = l_Lean_Elab_Command_expandMixfix___lambda__2(x_1, x_3, x_14, x_50, x_45, x_12, x_6, x_4, x_68, x_67, x_7, x_8); +return x_69; } } } } else { -lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; uint8_t x_72; -lean_dec(x_23); -x_68 = lean_unsigned_to_nat(3u); -x_69 = l_Lean_Syntax_getArg(x_1, x_68); -x_70 = l_Lean_Elab_Command_expandMixfix___lambda__11___closed__8; -x_71 = l_Lean_Name_str___override(x_2, x_70); -lean_inc(x_69); -x_72 = l_Lean_Syntax_isOfKind(x_69, x_71); -if (x_72 == 0) +lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; uint8_t x_74; +lean_dec(x_24); +x_70 = lean_unsigned_to_nat(4u); +x_71 = l_Lean_Syntax_getArg(x_1, x_70); +x_72 = l_Lean_Elab_Command_expandMixfix___lambda__11___closed__8; +x_73 = l_Lean_Name_str___override(x_2, x_72); +lean_inc(x_71); +x_74 = l_Lean_Syntax_isOfKind(x_71, x_73); +if (x_74 == 0) { -lean_object* x_73; lean_object* x_74; +lean_object* x_75; lean_object* x_76; +lean_dec(x_73); lean_dec(x_71); -lean_dec(x_69); -lean_dec(x_13); -lean_dec(x_11); +lean_dec(x_14); +lean_dec(x_12); +lean_dec(x_7); lean_dec(x_6); -lean_dec(x_5); +lean_dec(x_4); lean_dec(x_3); -x_73 = lean_box(1); -x_74 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_74, 0, x_73); -lean_ctor_set(x_74, 1, x_7); -return x_74; +x_75 = lean_box(1); +x_76 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_76, 0, x_75); +lean_ctor_set(x_76, 1, x_8); +return x_76; } else { -lean_object* x_75; lean_object* x_76; lean_object* x_77; uint8_t x_78; -x_75 = l_Lean_Syntax_getArg(x_69, x_8); -lean_dec(x_69); -x_76 = lean_unsigned_to_nat(4u); -x_77 = l_Lean_Syntax_getArg(x_1, x_76); -x_78 = l_Lean_Syntax_isNone(x_77); -if (x_78 == 0) -{ -uint8_t x_79; -lean_inc(x_77); -x_79 = l_Lean_Syntax_matchesNull(x_77, x_8); -if (x_79 == 0) -{ -lean_object* x_80; lean_object* x_81; -lean_dec(x_77); -lean_dec(x_75); +lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; uint8_t x_81; +x_77 = lean_unsigned_to_nat(1u); +x_78 = l_Lean_Syntax_getArg(x_71, x_77); lean_dec(x_71); -lean_dec(x_13); -lean_dec(x_11); +x_79 = lean_unsigned_to_nat(5u); +x_80 = l_Lean_Syntax_getArg(x_1, x_79); +x_81 = l_Lean_Syntax_isNone(x_80); +if (x_81 == 0) +{ +uint8_t x_82; +lean_inc(x_80); +x_82 = l_Lean_Syntax_matchesNull(x_80, x_77); +if (x_82 == 0) +{ +lean_object* x_83; lean_object* x_84; +lean_dec(x_80); +lean_dec(x_78); +lean_dec(x_73); +lean_dec(x_14); +lean_dec(x_12); +lean_dec(x_7); lean_dec(x_6); -lean_dec(x_5); +lean_dec(x_4); lean_dec(x_3); -x_80 = lean_box(1); -x_81 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_81, 0, x_80); -lean_ctor_set(x_81, 1, x_7); -return x_81; +x_83 = lean_box(1); +x_84 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_84, 0, x_83); +lean_ctor_set(x_84, 1, x_8); +return x_84; } else { -lean_object* x_82; lean_object* x_83; lean_object* x_84; uint8_t x_85; -x_82 = l_Lean_Syntax_getArg(x_77, x_17); -lean_dec(x_77); -x_83 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__23; +lean_object* x_85; lean_object* x_86; lean_object* x_87; uint8_t x_88; +x_85 = l_Lean_Syntax_getArg(x_80, x_18); +lean_dec(x_80); +x_86 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__23; lean_inc(x_3); -x_84 = l_Lean_Name_str___override(x_3, x_83); -lean_inc(x_82); -x_85 = l_Lean_Syntax_isOfKind(x_82, x_84); -lean_dec(x_84); -if (x_85 == 0) +x_87 = l_Lean_Name_str___override(x_3, x_86); +lean_inc(x_85); +x_88 = l_Lean_Syntax_isOfKind(x_85, x_87); +lean_dec(x_87); +if (x_88 == 0) { -lean_object* x_86; lean_object* x_87; -lean_dec(x_82); -lean_dec(x_75); -lean_dec(x_71); -lean_dec(x_13); -lean_dec(x_11); +lean_object* x_89; lean_object* x_90; +lean_dec(x_85); +lean_dec(x_78); +lean_dec(x_73); +lean_dec(x_14); +lean_dec(x_12); +lean_dec(x_7); lean_dec(x_6); -lean_dec(x_5); +lean_dec(x_4); lean_dec(x_3); -x_86 = lean_box(1); -x_87 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_87, 0, x_86); -lean_ctor_set(x_87, 1, x_7); -return x_87; +x_89 = lean_box(1); +x_90 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_90, 0, x_89); +lean_ctor_set(x_90, 1, x_8); +return x_90; } else { -lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; -x_88 = l_Lean_Syntax_getArg(x_82, x_68); -lean_dec(x_82); -x_89 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_89, 0, x_88); -x_90 = lean_box(0); -x_91 = l_Lean_Elab_Command_expandMixfix___lambda__4(x_1, x_3, x_13, x_75, x_71, x_11, x_5, x_90, x_89, x_6, x_7); -return x_91; -} -} -} -else -{ -lean_object* x_92; lean_object* x_93; lean_object* x_94; -lean_dec(x_77); -x_92 = lean_box(0); +lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; +x_91 = l_Lean_Syntax_getArg(x_85, x_23); +lean_dec(x_85); +x_92 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_92, 0, x_91); x_93 = lean_box(0); -x_94 = l_Lean_Elab_Command_expandMixfix___lambda__4(x_1, x_3, x_13, x_75, x_71, x_11, x_5, x_93, x_92, x_6, x_7); +x_94 = l_Lean_Elab_Command_expandMixfix___lambda__4(x_1, x_3, x_14, x_78, x_73, x_12, x_6, x_4, x_93, x_92, x_7, x_8); return x_94; } } } +else +{ +lean_object* x_95; lean_object* x_96; lean_object* x_97; +lean_dec(x_80); +x_95 = lean_box(0); +x_96 = lean_box(0); +x_97 = l_Lean_Elab_Command_expandMixfix___lambda__4(x_1, x_3, x_14, x_78, x_73, x_12, x_6, x_4, x_96, x_95, x_7, x_8); +return x_97; +} +} +} } else { -lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; uint8_t x_99; -lean_dec(x_23); -x_95 = lean_unsigned_to_nat(3u); -x_96 = l_Lean_Syntax_getArg(x_1, x_95); -x_97 = l_Lean_Elab_Command_expandMixfix___lambda__11___closed__8; -x_98 = l_Lean_Name_str___override(x_2, x_97); -lean_inc(x_96); -x_99 = l_Lean_Syntax_isOfKind(x_96, x_98); -if (x_99 == 0) +lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; uint8_t x_102; +lean_dec(x_24); +x_98 = lean_unsigned_to_nat(4u); +x_99 = l_Lean_Syntax_getArg(x_1, x_98); +x_100 = l_Lean_Elab_Command_expandMixfix___lambda__11___closed__8; +x_101 = l_Lean_Name_str___override(x_2, x_100); +lean_inc(x_99); +x_102 = l_Lean_Syntax_isOfKind(x_99, x_101); +if (x_102 == 0) { -lean_object* x_100; lean_object* x_101; -lean_dec(x_98); -lean_dec(x_96); -lean_dec(x_13); -lean_dec(x_11); +lean_object* x_103; lean_object* x_104; +lean_dec(x_101); +lean_dec(x_99); +lean_dec(x_14); +lean_dec(x_12); +lean_dec(x_7); lean_dec(x_6); -lean_dec(x_5); +lean_dec(x_4); lean_dec(x_3); -x_100 = lean_box(1); -x_101 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_101, 0, x_100); -lean_ctor_set(x_101, 1, x_7); -return x_101; +x_103 = lean_box(1); +x_104 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_104, 0, x_103); +lean_ctor_set(x_104, 1, x_8); +return x_104; } else { -lean_object* x_102; lean_object* x_103; lean_object* x_104; uint8_t x_105; -x_102 = l_Lean_Syntax_getArg(x_96, x_8); -lean_dec(x_96); -x_103 = lean_unsigned_to_nat(4u); -x_104 = l_Lean_Syntax_getArg(x_1, x_103); -x_105 = l_Lean_Syntax_isNone(x_104); -if (x_105 == 0) +lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; uint8_t x_109; +x_105 = lean_unsigned_to_nat(1u); +x_106 = l_Lean_Syntax_getArg(x_99, x_105); +lean_dec(x_99); +x_107 = lean_unsigned_to_nat(5u); +x_108 = l_Lean_Syntax_getArg(x_1, x_107); +x_109 = l_Lean_Syntax_isNone(x_108); +if (x_109 == 0) { -uint8_t x_106; -lean_inc(x_104); -x_106 = l_Lean_Syntax_matchesNull(x_104, x_8); -if (x_106 == 0) +uint8_t x_110; +lean_inc(x_108); +x_110 = l_Lean_Syntax_matchesNull(x_108, x_105); +if (x_110 == 0) { -lean_object* x_107; lean_object* x_108; -lean_dec(x_104); -lean_dec(x_102); -lean_dec(x_98); -lean_dec(x_13); -lean_dec(x_11); +lean_object* x_111; lean_object* x_112; +lean_dec(x_108); +lean_dec(x_106); +lean_dec(x_101); +lean_dec(x_14); +lean_dec(x_12); +lean_dec(x_7); lean_dec(x_6); -lean_dec(x_5); +lean_dec(x_4); lean_dec(x_3); -x_107 = lean_box(1); -x_108 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_108, 0, x_107); -lean_ctor_set(x_108, 1, x_7); -return x_108; +x_111 = lean_box(1); +x_112 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_112, 0, x_111); +lean_ctor_set(x_112, 1, x_8); +return x_112; } else { -lean_object* x_109; lean_object* x_110; lean_object* x_111; uint8_t x_112; -x_109 = l_Lean_Syntax_getArg(x_104, x_17); -lean_dec(x_104); -x_110 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__23; +lean_object* x_113; lean_object* x_114; lean_object* x_115; uint8_t x_116; +x_113 = l_Lean_Syntax_getArg(x_108, x_18); +lean_dec(x_108); +x_114 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__23; lean_inc(x_3); -x_111 = l_Lean_Name_str___override(x_3, x_110); -lean_inc(x_109); -x_112 = l_Lean_Syntax_isOfKind(x_109, x_111); -lean_dec(x_111); -if (x_112 == 0) +x_115 = l_Lean_Name_str___override(x_3, x_114); +lean_inc(x_113); +x_116 = l_Lean_Syntax_isOfKind(x_113, x_115); +lean_dec(x_115); +if (x_116 == 0) { -lean_object* x_113; lean_object* x_114; -lean_dec(x_109); -lean_dec(x_102); -lean_dec(x_98); -lean_dec(x_13); -lean_dec(x_11); +lean_object* x_117; lean_object* x_118; +lean_dec(x_113); +lean_dec(x_106); +lean_dec(x_101); +lean_dec(x_14); +lean_dec(x_12); +lean_dec(x_7); lean_dec(x_6); -lean_dec(x_5); +lean_dec(x_4); lean_dec(x_3); -x_113 = lean_box(1); -x_114 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_114, 0, x_113); -lean_ctor_set(x_114, 1, x_7); -return x_114; -} -else -{ -lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; -x_115 = l_Lean_Syntax_getArg(x_109, x_95); -lean_dec(x_109); -x_116 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_116, 0, x_115); -x_117 = lean_box(0); -x_118 = l_Lean_Elab_Command_expandMixfix___lambda__6(x_1, x_102, x_3, x_13, x_98, x_11, x_5, x_117, x_116, x_6, x_7); +x_117 = lean_box(1); +x_118 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_118, 0, x_117); +lean_ctor_set(x_118, 1, x_8); return x_118; } +else +{ +lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122; +x_119 = l_Lean_Syntax_getArg(x_113, x_23); +lean_dec(x_113); +x_120 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_120, 0, x_119); +x_121 = lean_box(0); +x_122 = l_Lean_Elab_Command_expandMixfix___lambda__6(x_1, x_106, x_3, x_14, x_101, x_12, x_6, x_4, x_121, x_120, x_7, x_8); +return x_122; +} } } else { -lean_object* x_119; lean_object* x_120; lean_object* x_121; -lean_dec(x_104); -x_119 = lean_box(0); -x_120 = lean_box(0); -x_121 = l_Lean_Elab_Command_expandMixfix___lambda__6(x_1, x_102, x_3, x_13, x_98, x_11, x_5, x_120, x_119, x_6, x_7); -return x_121; +lean_object* x_123; lean_object* x_124; lean_object* x_125; +lean_dec(x_108); +x_123 = lean_box(0); +x_124 = lean_box(0); +x_125 = l_Lean_Elab_Command_expandMixfix___lambda__6(x_1, x_106, x_3, x_14, x_101, x_12, x_6, x_4, x_124, x_123, x_7, x_8); +return x_125; } } } } else { -lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125; uint8_t x_126; -lean_dec(x_23); -x_122 = lean_unsigned_to_nat(3u); -x_123 = l_Lean_Syntax_getArg(x_1, x_122); -x_124 = l_Lean_Elab_Command_expandMixfix___lambda__11___closed__8; -x_125 = l_Lean_Name_str___override(x_2, x_124); -lean_inc(x_123); -x_126 = l_Lean_Syntax_isOfKind(x_123, x_125); -if (x_126 == 0) +lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129; uint8_t x_130; +lean_dec(x_24); +x_126 = lean_unsigned_to_nat(4u); +x_127 = l_Lean_Syntax_getArg(x_1, x_126); +x_128 = l_Lean_Elab_Command_expandMixfix___lambda__11___closed__8; +x_129 = l_Lean_Name_str___override(x_2, x_128); +lean_inc(x_127); +x_130 = l_Lean_Syntax_isOfKind(x_127, x_129); +if (x_130 == 0) { -lean_object* x_127; lean_object* x_128; -lean_dec(x_125); -lean_dec(x_123); -lean_dec(x_13); -lean_dec(x_11); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_3); -x_127 = lean_box(1); -x_128 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_128, 0, x_127); -lean_ctor_set(x_128, 1, x_7); -return x_128; -} -else -{ -lean_object* x_129; lean_object* x_130; lean_object* x_131; uint8_t x_132; -x_129 = l_Lean_Syntax_getArg(x_123, x_8); -lean_dec(x_123); -x_130 = lean_unsigned_to_nat(4u); -x_131 = l_Lean_Syntax_getArg(x_1, x_130); -x_132 = l_Lean_Syntax_isNone(x_131); -if (x_132 == 0) -{ -uint8_t x_133; -lean_inc(x_131); -x_133 = l_Lean_Syntax_matchesNull(x_131, x_8); -if (x_133 == 0) -{ -lean_object* x_134; lean_object* x_135; -lean_dec(x_131); +lean_object* x_131; lean_object* x_132; lean_dec(x_129); -lean_dec(x_125); -lean_dec(x_13); -lean_dec(x_11); +lean_dec(x_127); +lean_dec(x_14); +lean_dec(x_12); +lean_dec(x_7); lean_dec(x_6); -lean_dec(x_5); +lean_dec(x_4); lean_dec(x_3); -x_134 = lean_box(1); -x_135 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_135, 0, x_134); -lean_ctor_set(x_135, 1, x_7); -return x_135; +x_131 = lean_box(1); +x_132 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_132, 0, x_131); +lean_ctor_set(x_132, 1, x_8); +return x_132; } else { -lean_object* x_136; lean_object* x_137; lean_object* x_138; uint8_t x_139; -x_136 = l_Lean_Syntax_getArg(x_131, x_17); -lean_dec(x_131); -x_137 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__23; -lean_inc(x_3); -x_138 = l_Lean_Name_str___override(x_3, x_137); +lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; uint8_t x_137; +x_133 = lean_unsigned_to_nat(1u); +x_134 = l_Lean_Syntax_getArg(x_127, x_133); +lean_dec(x_127); +x_135 = lean_unsigned_to_nat(5u); +x_136 = l_Lean_Syntax_getArg(x_1, x_135); +x_137 = l_Lean_Syntax_isNone(x_136); +if (x_137 == 0) +{ +uint8_t x_138; lean_inc(x_136); -x_139 = l_Lean_Syntax_isOfKind(x_136, x_138); -lean_dec(x_138); -if (x_139 == 0) +x_138 = l_Lean_Syntax_matchesNull(x_136, x_133); +if (x_138 == 0) { -lean_object* x_140; lean_object* x_141; +lean_object* x_139; lean_object* x_140; lean_dec(x_136); +lean_dec(x_134); lean_dec(x_129); -lean_dec(x_125); -lean_dec(x_13); -lean_dec(x_11); +lean_dec(x_14); +lean_dec(x_12); +lean_dec(x_7); lean_dec(x_6); -lean_dec(x_5); +lean_dec(x_4); lean_dec(x_3); -x_140 = lean_box(1); -x_141 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_141, 0, x_140); -lean_ctor_set(x_141, 1, x_7); -return x_141; +x_139 = lean_box(1); +x_140 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_140, 0, x_139); +lean_ctor_set(x_140, 1, x_8); +return x_140; } else { -lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145; -x_142 = l_Lean_Syntax_getArg(x_136, x_122); +lean_object* x_141; lean_object* x_142; lean_object* x_143; uint8_t x_144; +x_141 = l_Lean_Syntax_getArg(x_136, x_18); lean_dec(x_136); -x_143 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_143, 0, x_142); -x_144 = lean_box(0); -x_145 = l_Lean_Elab_Command_expandMixfix___lambda__8(x_1, x_129, x_3, x_13, x_125, x_11, x_5, x_144, x_143, x_6, x_7); -return x_145; -} -} -} -else -{ -lean_object* x_146; lean_object* x_147; lean_object* x_148; -lean_dec(x_131); -x_146 = lean_box(0); -x_147 = lean_box(0); -x_148 = l_Lean_Elab_Command_expandMixfix___lambda__8(x_1, x_129, x_3, x_13, x_125, x_11, x_5, x_147, x_146, x_6, x_7); -return x_148; -} -} -} -} -else -{ -lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; uint8_t x_153; -lean_dec(x_23); -x_149 = lean_unsigned_to_nat(3u); -x_150 = l_Lean_Syntax_getArg(x_1, x_149); -x_151 = l_Lean_Elab_Command_expandMixfix___lambda__11___closed__8; -x_152 = l_Lean_Name_str___override(x_2, x_151); -lean_inc(x_150); -x_153 = l_Lean_Syntax_isOfKind(x_150, x_152); -if (x_153 == 0) -{ -lean_object* x_154; lean_object* x_155; -lean_dec(x_152); -lean_dec(x_150); -lean_dec(x_13); -lean_dec(x_11); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_3); -x_154 = lean_box(1); -x_155 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_155, 0, x_154); -lean_ctor_set(x_155, 1, x_7); -return x_155; -} -else -{ -lean_object* x_156; lean_object* x_157; lean_object* x_158; uint8_t x_159; -x_156 = l_Lean_Syntax_getArg(x_150, x_8); -lean_dec(x_150); -x_157 = lean_unsigned_to_nat(4u); -x_158 = l_Lean_Syntax_getArg(x_1, x_157); -x_159 = l_Lean_Syntax_isNone(x_158); -if (x_159 == 0) -{ -uint8_t x_160; -lean_inc(x_158); -x_160 = l_Lean_Syntax_matchesNull(x_158, x_8); -if (x_160 == 0) -{ -lean_object* x_161; lean_object* x_162; -lean_dec(x_158); -lean_dec(x_156); -lean_dec(x_152); -lean_dec(x_13); -lean_dec(x_11); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_3); -x_161 = lean_box(1); -x_162 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_162, 0, x_161); -lean_ctor_set(x_162, 1, x_7); -return x_162; -} -else -{ -lean_object* x_163; lean_object* x_164; lean_object* x_165; uint8_t x_166; -x_163 = l_Lean_Syntax_getArg(x_158, x_17); -lean_dec(x_158); -x_164 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__23; +x_142 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__23; lean_inc(x_3); -x_165 = l_Lean_Name_str___override(x_3, x_164); -lean_inc(x_163); -x_166 = l_Lean_Syntax_isOfKind(x_163, x_165); -lean_dec(x_165); +x_143 = l_Lean_Name_str___override(x_3, x_142); +lean_inc(x_141); +x_144 = l_Lean_Syntax_isOfKind(x_141, x_143); +lean_dec(x_143); +if (x_144 == 0) +{ +lean_object* x_145; lean_object* x_146; +lean_dec(x_141); +lean_dec(x_134); +lean_dec(x_129); +lean_dec(x_14); +lean_dec(x_12); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_3); +x_145 = lean_box(1); +x_146 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_146, 0, x_145); +lean_ctor_set(x_146, 1, x_8); +return x_146; +} +else +{ +lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; +x_147 = l_Lean_Syntax_getArg(x_141, x_23); +lean_dec(x_141); +x_148 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_148, 0, x_147); +x_149 = lean_box(0); +x_150 = l_Lean_Elab_Command_expandMixfix___lambda__8(x_1, x_134, x_3, x_14, x_129, x_12, x_6, x_4, x_149, x_148, x_7, x_8); +return x_150; +} +} +} +else +{ +lean_object* x_151; lean_object* x_152; lean_object* x_153; +lean_dec(x_136); +x_151 = lean_box(0); +x_152 = lean_box(0); +x_153 = l_Lean_Elab_Command_expandMixfix___lambda__8(x_1, x_134, x_3, x_14, x_129, x_12, x_6, x_4, x_152, x_151, x_7, x_8); +return x_153; +} +} +} +} +else +{ +lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; uint8_t x_158; +lean_dec(x_24); +x_154 = lean_unsigned_to_nat(4u); +x_155 = l_Lean_Syntax_getArg(x_1, x_154); +x_156 = l_Lean_Elab_Command_expandMixfix___lambda__11___closed__8; +x_157 = l_Lean_Name_str___override(x_2, x_156); +lean_inc(x_155); +x_158 = l_Lean_Syntax_isOfKind(x_155, x_157); +if (x_158 == 0) +{ +lean_object* x_159; lean_object* x_160; +lean_dec(x_157); +lean_dec(x_155); +lean_dec(x_14); +lean_dec(x_12); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_3); +x_159 = lean_box(1); +x_160 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_160, 0, x_159); +lean_ctor_set(x_160, 1, x_8); +return x_160; +} +else +{ +lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; uint8_t x_165; +x_161 = lean_unsigned_to_nat(1u); +x_162 = l_Lean_Syntax_getArg(x_155, x_161); +lean_dec(x_155); +x_163 = lean_unsigned_to_nat(5u); +x_164 = l_Lean_Syntax_getArg(x_1, x_163); +x_165 = l_Lean_Syntax_isNone(x_164); +if (x_165 == 0) +{ +uint8_t x_166; +lean_inc(x_164); +x_166 = l_Lean_Syntax_matchesNull(x_164, x_161); if (x_166 == 0) { lean_object* x_167; lean_object* x_168; -lean_dec(x_163); -lean_dec(x_156); -lean_dec(x_152); -lean_dec(x_13); -lean_dec(x_11); +lean_dec(x_164); +lean_dec(x_162); +lean_dec(x_157); +lean_dec(x_14); +lean_dec(x_12); +lean_dec(x_7); lean_dec(x_6); -lean_dec(x_5); +lean_dec(x_4); lean_dec(x_3); x_167 = lean_box(1); x_168 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_168, 0, x_167); -lean_ctor_set(x_168, 1, x_7); +lean_ctor_set(x_168, 1, x_8); return x_168; } else { -lean_object* x_169; lean_object* x_170; lean_object* x_171; lean_object* x_172; -x_169 = l_Lean_Syntax_getArg(x_163, x_149); -lean_dec(x_163); -x_170 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_170, 0, x_169); -x_171 = lean_box(0); -x_172 = l_Lean_Elab_Command_expandMixfix___lambda__10(x_1, x_156, x_3, x_13, x_152, x_11, x_5, x_171, x_170, x_6, x_7); -return x_172; +lean_object* x_169; lean_object* x_170; lean_object* x_171; uint8_t x_172; +x_169 = l_Lean_Syntax_getArg(x_164, x_18); +lean_dec(x_164); +x_170 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__23; +lean_inc(x_3); +x_171 = l_Lean_Name_str___override(x_3, x_170); +lean_inc(x_169); +x_172 = l_Lean_Syntax_isOfKind(x_169, x_171); +lean_dec(x_171); +if (x_172 == 0) +{ +lean_object* x_173; lean_object* x_174; +lean_dec(x_169); +lean_dec(x_162); +lean_dec(x_157); +lean_dec(x_14); +lean_dec(x_12); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_3); +x_173 = lean_box(1); +x_174 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_174, 0, x_173); +lean_ctor_set(x_174, 1, x_8); +return x_174; +} +else +{ +lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; +x_175 = l_Lean_Syntax_getArg(x_169, x_23); +lean_dec(x_169); +x_176 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_176, 0, x_175); +x_177 = lean_box(0); +x_178 = l_Lean_Elab_Command_expandMixfix___lambda__10(x_1, x_162, x_3, x_14, x_157, x_12, x_6, x_4, x_177, x_176, x_7, x_8); +return x_178; } } } else { -lean_object* x_173; lean_object* x_174; lean_object* x_175; -lean_dec(x_158); -x_173 = lean_box(0); -x_174 = lean_box(0); -x_175 = l_Lean_Elab_Command_expandMixfix___lambda__10(x_1, x_156, x_3, x_13, x_152, x_11, x_5, x_174, x_173, x_6, x_7); -return x_175; +lean_object* x_179; lean_object* x_180; lean_object* x_181; +lean_dec(x_164); +x_179 = lean_box(0); +x_180 = lean_box(0); +x_181 = l_Lean_Elab_Command_expandMixfix___lambda__10(x_1, x_162, x_3, x_14, x_157, x_12, x_6, x_4, x_180, x_179, x_7, x_8); +return x_181; } } } @@ -3398,7 +3736,88 @@ return x_175; } } } -static lean_object* _init_l_Lean_Elab_Command_expandMixfix___lambda__12___closed__1() { +LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___lambda__12(lean_object* x_1, 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; uint8_t x_10; +lean_dec(x_4); +x_8 = lean_unsigned_to_nat(1u); +x_9 = l_Lean_Syntax_getArg(x_1, x_8); +x_10 = l_Lean_Syntax_isNone(x_9); +if (x_10 == 0) +{ +uint8_t x_11; +lean_inc(x_9); +x_11 = l_Lean_Syntax_matchesNull(x_9, x_8); +if (x_11 == 0) +{ +lean_object* x_12; lean_object* x_13; +lean_dec(x_9); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_3); +lean_dec(x_2); +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_7); +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; uint8_t x_20; +x_14 = lean_unsigned_to_nat(0u); +x_15 = l_Lean_Syntax_getArg(x_9, x_14); +lean_dec(x_9); +x_16 = l_Lean_Elab_Command_expandMixfix___lambda__11___closed__1; +lean_inc(x_2); +x_17 = l_Lean_Name_str___override(x_2, x_16); +x_18 = l_Lean_Elab_Command_expandMixfix___lambda__1___closed__25; +x_19 = l_Lean_Name_str___override(x_17, x_18); +lean_inc(x_15); +x_20 = l_Lean_Syntax_isOfKind(x_15, x_19); +lean_dec(x_19); +if (x_20 == 0) +{ +lean_object* x_21; lean_object* x_22; +lean_dec(x_15); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_3); +lean_dec(x_2); +x_21 = lean_box(1); +x_22 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_22, 0, x_21); +lean_ctor_set(x_22, 1, x_7); +return x_22; +} +else +{ +lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; +x_23 = l_Lean_Syntax_getArg(x_15, x_8); +lean_dec(x_15); +x_24 = l_Lean_Syntax_getArgs(x_23); +lean_dec(x_23); +x_25 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_25, 0, x_24); +x_26 = lean_box(0); +x_27 = l_Lean_Elab_Command_expandMixfix___lambda__11(x_1, x_2, x_3, x_5, x_26, x_25, x_6, x_7); +return x_27; +} +} +} +else +{ +lean_object* x_28; lean_object* x_29; lean_object* x_30; +lean_dec(x_9); +x_28 = lean_box(0); +x_29 = lean_box(0); +x_30 = l_Lean_Elab_Command_expandMixfix___lambda__11(x_1, x_2, x_3, x_5, x_29, x_28, x_6, x_7); +return x_30; +} +} +} +static lean_object* _init_l_Lean_Elab_Command_expandMixfix___lambda__13___closed__1() { _start: { lean_object* x_1; @@ -3406,17 +3825,17 @@ x_1 = lean_mk_string_from_bytes("Lean", 4); return x_1; } } -static lean_object* _init_l_Lean_Elab_Command_expandMixfix___lambda__12___closed__2() { +static lean_object* _init_l_Lean_Elab_Command_expandMixfix___lambda__13___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Lean_Elab_Command_expandMixfix___lambda__12___closed__1; +x_2 = l_Lean_Elab_Command_expandMixfix___lambda__13___closed__1; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Command_expandMixfix___lambda__12___closed__3() { +static lean_object* _init_l_Lean_Elab_Command_expandMixfix___lambda__13___closed__3() { _start: { lean_object* x_1; @@ -3424,17 +3843,17 @@ x_1 = lean_mk_string_from_bytes("Parser", 6); return x_1; } } -static lean_object* _init_l_Lean_Elab_Command_expandMixfix___lambda__12___closed__4() { +static lean_object* _init_l_Lean_Elab_Command_expandMixfix___lambda__13___closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Command_expandMixfix___lambda__12___closed__2; -x_2 = l_Lean_Elab_Command_expandMixfix___lambda__12___closed__3; +x_1 = l_Lean_Elab_Command_expandMixfix___lambda__13___closed__2; +x_2 = l_Lean_Elab_Command_expandMixfix___lambda__13___closed__3; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Command_expandMixfix___lambda__12___closed__5() { +static lean_object* _init_l_Lean_Elab_Command_expandMixfix___lambda__13___closed__5() { _start: { lean_object* x_1; @@ -3442,17 +3861,17 @@ x_1 = lean_mk_string_from_bytes("Command", 7); return x_1; } } -static lean_object* _init_l_Lean_Elab_Command_expandMixfix___lambda__12___closed__6() { +static lean_object* _init_l_Lean_Elab_Command_expandMixfix___lambda__13___closed__6() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Command_expandMixfix___lambda__12___closed__4; -x_2 = l_Lean_Elab_Command_expandMixfix___lambda__12___closed__5; +x_1 = l_Lean_Elab_Command_expandMixfix___lambda__13___closed__4; +x_2 = l_Lean_Elab_Command_expandMixfix___lambda__13___closed__5; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Command_expandMixfix___lambda__12___closed__7() { +static lean_object* _init_l_Lean_Elab_Command_expandMixfix___lambda__13___closed__7() { _start: { lean_object* x_1; @@ -3460,17 +3879,17 @@ x_1 = lean_mk_string_from_bytes("mixfix", 6); return x_1; } } -static lean_object* _init_l_Lean_Elab_Command_expandMixfix___lambda__12___closed__8() { +static lean_object* _init_l_Lean_Elab_Command_expandMixfix___lambda__13___closed__8() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Command_expandMixfix___lambda__12___closed__6; -x_2 = l_Lean_Elab_Command_expandMixfix___lambda__12___closed__7; +x_1 = l_Lean_Elab_Command_expandMixfix___lambda__13___closed__6; +x_2 = l_Lean_Elab_Command_expandMixfix___lambda__13___closed__7; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Command_expandMixfix___lambda__12___closed__9() { +static lean_object* _init_l_Lean_Elab_Command_expandMixfix___lambda__13___closed__9() { _start: { lean_object* x_1; @@ -3478,21 +3897,21 @@ x_1 = lean_mk_string_from_bytes("docComment", 10); return x_1; } } -static lean_object* _init_l_Lean_Elab_Command_expandMixfix___lambda__12___closed__10() { +static lean_object* _init_l_Lean_Elab_Command_expandMixfix___lambda__13___closed__10() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Command_expandMixfix___lambda__12___closed__6; -x_2 = l_Lean_Elab_Command_expandMixfix___lambda__12___closed__9; +x_1 = l_Lean_Elab_Command_expandMixfix___lambda__13___closed__6; +x_2 = l_Lean_Elab_Command_expandMixfix___lambda__13___closed__9; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___lambda__12(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___lambda__13(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_Elab_Command_expandMixfix___lambda__12___closed__8; +x_4 = l_Lean_Elab_Command_expandMixfix___lambda__13___closed__8; lean_inc(x_1); x_5 = l_Lean_Syntax_isOfKind(x_1, x_4); if (x_5 == 0) @@ -3535,7 +3954,7 @@ else lean_object* x_15; lean_object* x_16; uint8_t x_17; x_15 = l_Lean_Syntax_getArg(x_9, x_8); lean_dec(x_9); -x_16 = l_Lean_Elab_Command_expandMixfix___lambda__12___closed__10; +x_16 = l_Lean_Elab_Command_expandMixfix___lambda__13___closed__10; lean_inc(x_15); x_17 = l_Lean_Syntax_isOfKind(x_15, x_16); if (x_17 == 0) @@ -3555,10 +3974,10 @@ else lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; x_20 = lean_alloc_ctor(1, 1, 0); lean_ctor_set(x_20, 0, x_15); -x_21 = l_Lean_Elab_Command_expandMixfix___lambda__12___closed__4; -x_22 = l_Lean_Elab_Command_expandMixfix___lambda__12___closed__6; +x_21 = l_Lean_Elab_Command_expandMixfix___lambda__13___closed__4; +x_22 = l_Lean_Elab_Command_expandMixfix___lambda__13___closed__6; x_23 = lean_box(0); -x_24 = l_Lean_Elab_Command_expandMixfix___lambda__11(x_1, x_21, x_22, x_23, x_20, x_2, x_3); +x_24 = l_Lean_Elab_Command_expandMixfix___lambda__12(x_1, x_21, x_22, x_23, x_20, x_2, x_3); lean_dec(x_1); return x_24; } @@ -3569,10 +3988,10 @@ else lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_dec(x_9); x_25 = lean_box(0); -x_26 = l_Lean_Elab_Command_expandMixfix___lambda__12___closed__4; -x_27 = l_Lean_Elab_Command_expandMixfix___lambda__12___closed__6; +x_26 = l_Lean_Elab_Command_expandMixfix___lambda__13___closed__4; +x_27 = l_Lean_Elab_Command_expandMixfix___lambda__13___closed__6; x_28 = lean_box(0); -x_29 = l_Lean_Elab_Command_expandMixfix___lambda__11(x_1, x_26, x_27, x_28, x_25, x_2, x_3); +x_29 = l_Lean_Elab_Command_expandMixfix___lambda__12(x_1, x_26, x_27, x_28, x_25, x_2, x_3); lean_dec(x_1); return x_29; } @@ -3583,7 +4002,7 @@ static lean_object* _init_l_Lean_Elab_Command_expandMixfix___closed__1() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Elab_Command_expandMixfix___lambda__12), 3, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Elab_Command_expandMixfix___lambda__13), 3, 0); return x_1; } } @@ -3596,106 +4015,115 @@ x_5 = l_Lean_Elab_Command_expandMixfix_withAttrKindGlobal(x_1, x_4, x_2, x_3); return x_5; } } -LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___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) { +LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___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, lean_object* x_13) { +_start: +{ +lean_object* x_14; +x_14 = l_Lean_Elab_Command_expandMixfix___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, x_13); +lean_dec(x_10); +lean_dec(x_1); +return x_14; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___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, lean_object* x_12) { _start: { lean_object* x_13; -x_13 = l_Lean_Elab_Command_expandMixfix___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); -lean_dec(x_9); +x_13 = l_Lean_Elab_Command_expandMixfix___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); lean_dec(x_1); return x_13; } } -LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___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) { +LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___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, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { _start: { -lean_object* x_12; -x_12 = l_Lean_Elab_Command_expandMixfix___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_object* x_14; +x_14 = l_Lean_Elab_Command_expandMixfix___lambda__3(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +lean_dec(x_10); lean_dec(x_1); -return x_12; +return x_14; } } -LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___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, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___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* x_10, lean_object* x_11, lean_object* x_12) { _start: { lean_object* x_13; -x_13 = l_Lean_Elab_Command_expandMixfix___lambda__3(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); -lean_dec(x_9); +x_13 = l_Lean_Elab_Command_expandMixfix___lambda__4(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); lean_dec(x_1); return x_13; } } -LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___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* x_10, lean_object* x_11) { +LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___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* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { _start: { -lean_object* x_12; -x_12 = l_Lean_Elab_Command_expandMixfix___lambda__4(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +lean_object* x_14; +x_14 = l_Lean_Elab_Command_expandMixfix___lambda__5(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +lean_dec(x_10); lean_dec(x_1); -return x_12; +return x_14; } } -LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___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* x_10, lean_object* x_11, lean_object* x_12) { +LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___lambda__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_13; -x_13 = l_Lean_Elab_Command_expandMixfix___lambda__5(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); -lean_dec(x_9); +x_13 = l_Lean_Elab_Command_expandMixfix___lambda__6(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); lean_dec(x_1); return x_13; } } -LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___lambda__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_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___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, 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_12; -x_12 = l_Lean_Elab_Command_expandMixfix___lambda__6(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +lean_object* x_14; +x_14 = l_Lean_Elab_Command_expandMixfix___lambda__7(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +lean_dec(x_10); lean_dec(x_1); -return x_12; +return x_14; } } -LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___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, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___lambda__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, lean_object* x_12) { _start: { lean_object* x_13; -x_13 = l_Lean_Elab_Command_expandMixfix___lambda__7(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); -lean_dec(x_9); +x_13 = l_Lean_Elab_Command_expandMixfix___lambda__8(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); lean_dec(x_1); return x_13; } } -LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___lambda__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) { +LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___lambda__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, lean_object* x_12, lean_object* x_13) { _start: { -lean_object* x_12; -x_12 = l_Lean_Elab_Command_expandMixfix___lambda__8(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +lean_object* x_14; +x_14 = l_Lean_Elab_Command_expandMixfix___lambda__9(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +lean_dec(x_10); lean_dec(x_1); -return x_12; +return x_14; } } -LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___lambda__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, lean_object* x_12) { +LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___lambda__10___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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; -x_13 = l_Lean_Elab_Command_expandMixfix___lambda__9(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); -lean_dec(x_9); +x_13 = l_Lean_Elab_Command_expandMixfix___lambda__10(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); lean_dec(x_1); return x_13; } } -LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___lambda__10___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___lambda__11___boxed(lean_object* x_1, lean_object* x_2, 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_12; -x_12 = l_Lean_Elab_Command_expandMixfix___lambda__10(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +lean_object* x_9; +x_9 = l_Lean_Elab_Command_expandMixfix___lambda__11(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); lean_dec(x_1); -return x_12; +return x_9; } } -LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___lambda__11___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMixfix___lambda__12___boxed(lean_object* x_1, 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_Elab_Command_expandMixfix___lambda__11(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +x_8 = l_Lean_Elab_Command_expandMixfix___lambda__12(x_1, x_2, x_3, x_4, x_5, x_6, x_7); lean_dec(x_1); return x_8; } @@ -3712,7 +4140,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_expandMixfix___closed _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Command_expandMixfix___lambda__12___closed__2; +x_1 = l_Lean_Elab_Command_expandMixfix___lambda__13___closed__2; x_2 = l___regBuiltin_Lean_Elab_Command_expandMixfix___closed__1; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; @@ -3723,7 +4151,7 @@ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l___regBuiltin_Lean_Elab_Command_expandMixfix___closed__2; -x_2 = l_Lean_Elab_Command_expandMixfix___lambda__12___closed__5; +x_2 = l_Lean_Elab_Command_expandMixfix___lambda__13___closed__5; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } @@ -3767,7 +4195,7 @@ _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_2 = l___regBuiltin_Lean_Elab_Command_expandMixfix___closed__6; -x_3 = l_Lean_Elab_Command_expandMixfix___lambda__12___closed__8; +x_3 = l_Lean_Elab_Command_expandMixfix___lambda__13___closed__8; x_4 = l___regBuiltin_Lean_Elab_Command_expandMixfix___closed__5; x_5 = l___regBuiltin_Lean_Elab_Command_expandMixfix___closed__7; x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); @@ -3937,6 +4365,14 @@ l_Lean_Elab_Command_expandMixfix___lambda__1___closed__23 = _init_l_Lean_Elab_Co lean_mark_persistent(l_Lean_Elab_Command_expandMixfix___lambda__1___closed__23); l_Lean_Elab_Command_expandMixfix___lambda__1___closed__24 = _init_l_Lean_Elab_Command_expandMixfix___lambda__1___closed__24(); lean_mark_persistent(l_Lean_Elab_Command_expandMixfix___lambda__1___closed__24); +l_Lean_Elab_Command_expandMixfix___lambda__1___closed__25 = _init_l_Lean_Elab_Command_expandMixfix___lambda__1___closed__25(); +lean_mark_persistent(l_Lean_Elab_Command_expandMixfix___lambda__1___closed__25); +l_Lean_Elab_Command_expandMixfix___lambda__1___closed__26 = _init_l_Lean_Elab_Command_expandMixfix___lambda__1___closed__26(); +lean_mark_persistent(l_Lean_Elab_Command_expandMixfix___lambda__1___closed__26); +l_Lean_Elab_Command_expandMixfix___lambda__1___closed__27 = _init_l_Lean_Elab_Command_expandMixfix___lambda__1___closed__27(); +lean_mark_persistent(l_Lean_Elab_Command_expandMixfix___lambda__1___closed__27); +l_Lean_Elab_Command_expandMixfix___lambda__1___closed__28 = _init_l_Lean_Elab_Command_expandMixfix___lambda__1___closed__28(); +lean_mark_persistent(l_Lean_Elab_Command_expandMixfix___lambda__1___closed__28); l_Lean_Elab_Command_expandMixfix___lambda__5___closed__1 = _init_l_Lean_Elab_Command_expandMixfix___lambda__5___closed__1(); lean_mark_persistent(l_Lean_Elab_Command_expandMixfix___lambda__5___closed__1); l_Lean_Elab_Command_expandMixfix___lambda__5___closed__2 = _init_l_Lean_Elab_Command_expandMixfix___lambda__5___closed__2(); @@ -3953,8 +4389,6 @@ l_Lean_Elab_Command_expandMixfix___lambda__5___closed__7 = _init_l_Lean_Elab_Com lean_mark_persistent(l_Lean_Elab_Command_expandMixfix___lambda__5___closed__7); l_Lean_Elab_Command_expandMixfix___lambda__5___closed__8 = _init_l_Lean_Elab_Command_expandMixfix___lambda__5___closed__8(); lean_mark_persistent(l_Lean_Elab_Command_expandMixfix___lambda__5___closed__8); -l_Lean_Elab_Command_expandMixfix___lambda__5___closed__9 = _init_l_Lean_Elab_Command_expandMixfix___lambda__5___closed__9(); -lean_mark_persistent(l_Lean_Elab_Command_expandMixfix___lambda__5___closed__9); l_Lean_Elab_Command_expandMixfix___lambda__11___closed__1 = _init_l_Lean_Elab_Command_expandMixfix___lambda__11___closed__1(); lean_mark_persistent(l_Lean_Elab_Command_expandMixfix___lambda__11___closed__1); l_Lean_Elab_Command_expandMixfix___lambda__11___closed__2 = _init_l_Lean_Elab_Command_expandMixfix___lambda__11___closed__2(); @@ -3971,26 +4405,26 @@ l_Lean_Elab_Command_expandMixfix___lambda__11___closed__7 = _init_l_Lean_Elab_Co lean_mark_persistent(l_Lean_Elab_Command_expandMixfix___lambda__11___closed__7); l_Lean_Elab_Command_expandMixfix___lambda__11___closed__8 = _init_l_Lean_Elab_Command_expandMixfix___lambda__11___closed__8(); lean_mark_persistent(l_Lean_Elab_Command_expandMixfix___lambda__11___closed__8); -l_Lean_Elab_Command_expandMixfix___lambda__12___closed__1 = _init_l_Lean_Elab_Command_expandMixfix___lambda__12___closed__1(); -lean_mark_persistent(l_Lean_Elab_Command_expandMixfix___lambda__12___closed__1); -l_Lean_Elab_Command_expandMixfix___lambda__12___closed__2 = _init_l_Lean_Elab_Command_expandMixfix___lambda__12___closed__2(); -lean_mark_persistent(l_Lean_Elab_Command_expandMixfix___lambda__12___closed__2); -l_Lean_Elab_Command_expandMixfix___lambda__12___closed__3 = _init_l_Lean_Elab_Command_expandMixfix___lambda__12___closed__3(); -lean_mark_persistent(l_Lean_Elab_Command_expandMixfix___lambda__12___closed__3); -l_Lean_Elab_Command_expandMixfix___lambda__12___closed__4 = _init_l_Lean_Elab_Command_expandMixfix___lambda__12___closed__4(); -lean_mark_persistent(l_Lean_Elab_Command_expandMixfix___lambda__12___closed__4); -l_Lean_Elab_Command_expandMixfix___lambda__12___closed__5 = _init_l_Lean_Elab_Command_expandMixfix___lambda__12___closed__5(); -lean_mark_persistent(l_Lean_Elab_Command_expandMixfix___lambda__12___closed__5); -l_Lean_Elab_Command_expandMixfix___lambda__12___closed__6 = _init_l_Lean_Elab_Command_expandMixfix___lambda__12___closed__6(); -lean_mark_persistent(l_Lean_Elab_Command_expandMixfix___lambda__12___closed__6); -l_Lean_Elab_Command_expandMixfix___lambda__12___closed__7 = _init_l_Lean_Elab_Command_expandMixfix___lambda__12___closed__7(); -lean_mark_persistent(l_Lean_Elab_Command_expandMixfix___lambda__12___closed__7); -l_Lean_Elab_Command_expandMixfix___lambda__12___closed__8 = _init_l_Lean_Elab_Command_expandMixfix___lambda__12___closed__8(); -lean_mark_persistent(l_Lean_Elab_Command_expandMixfix___lambda__12___closed__8); -l_Lean_Elab_Command_expandMixfix___lambda__12___closed__9 = _init_l_Lean_Elab_Command_expandMixfix___lambda__12___closed__9(); -lean_mark_persistent(l_Lean_Elab_Command_expandMixfix___lambda__12___closed__9); -l_Lean_Elab_Command_expandMixfix___lambda__12___closed__10 = _init_l_Lean_Elab_Command_expandMixfix___lambda__12___closed__10(); -lean_mark_persistent(l_Lean_Elab_Command_expandMixfix___lambda__12___closed__10); +l_Lean_Elab_Command_expandMixfix___lambda__13___closed__1 = _init_l_Lean_Elab_Command_expandMixfix___lambda__13___closed__1(); +lean_mark_persistent(l_Lean_Elab_Command_expandMixfix___lambda__13___closed__1); +l_Lean_Elab_Command_expandMixfix___lambda__13___closed__2 = _init_l_Lean_Elab_Command_expandMixfix___lambda__13___closed__2(); +lean_mark_persistent(l_Lean_Elab_Command_expandMixfix___lambda__13___closed__2); +l_Lean_Elab_Command_expandMixfix___lambda__13___closed__3 = _init_l_Lean_Elab_Command_expandMixfix___lambda__13___closed__3(); +lean_mark_persistent(l_Lean_Elab_Command_expandMixfix___lambda__13___closed__3); +l_Lean_Elab_Command_expandMixfix___lambda__13___closed__4 = _init_l_Lean_Elab_Command_expandMixfix___lambda__13___closed__4(); +lean_mark_persistent(l_Lean_Elab_Command_expandMixfix___lambda__13___closed__4); +l_Lean_Elab_Command_expandMixfix___lambda__13___closed__5 = _init_l_Lean_Elab_Command_expandMixfix___lambda__13___closed__5(); +lean_mark_persistent(l_Lean_Elab_Command_expandMixfix___lambda__13___closed__5); +l_Lean_Elab_Command_expandMixfix___lambda__13___closed__6 = _init_l_Lean_Elab_Command_expandMixfix___lambda__13___closed__6(); +lean_mark_persistent(l_Lean_Elab_Command_expandMixfix___lambda__13___closed__6); +l_Lean_Elab_Command_expandMixfix___lambda__13___closed__7 = _init_l_Lean_Elab_Command_expandMixfix___lambda__13___closed__7(); +lean_mark_persistent(l_Lean_Elab_Command_expandMixfix___lambda__13___closed__7); +l_Lean_Elab_Command_expandMixfix___lambda__13___closed__8 = _init_l_Lean_Elab_Command_expandMixfix___lambda__13___closed__8(); +lean_mark_persistent(l_Lean_Elab_Command_expandMixfix___lambda__13___closed__8); +l_Lean_Elab_Command_expandMixfix___lambda__13___closed__9 = _init_l_Lean_Elab_Command_expandMixfix___lambda__13___closed__9(); +lean_mark_persistent(l_Lean_Elab_Command_expandMixfix___lambda__13___closed__9); +l_Lean_Elab_Command_expandMixfix___lambda__13___closed__10 = _init_l_Lean_Elab_Command_expandMixfix___lambda__13___closed__10(); +lean_mark_persistent(l_Lean_Elab_Command_expandMixfix___lambda__13___closed__10); l_Lean_Elab_Command_expandMixfix___closed__1 = _init_l_Lean_Elab_Command_expandMixfix___closed__1(); lean_mark_persistent(l_Lean_Elab_Command_expandMixfix___closed__1); l___regBuiltin_Lean_Elab_Command_expandMixfix___closed__1 = _init_l___regBuiltin_Lean_Elab_Command_expandMixfix___closed__1(); diff --git a/stage0/stdlib/Lean/Elab/Notation.c b/stage0/stdlib/Lean/Elab/Notation.c index 14d2aa755c..8a87482676 100644 --- a/stage0/stdlib/Lean/Elab/Notation.c +++ b/stage0/stdlib/Lean/Elab/Notation.c @@ -17,14 +17,14 @@ static lean_object* l_Lean_Elab_Command_mkSimpleDelab___lambda__1___closed__89; static lean_object* l_Lean_Elab_Command_expandNotationItemIntoSyntaxItem___closed__10; static lean_object* l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__2___closed__19; static lean_object* l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__2___closed__23; -LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandNotation___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandNotation___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_usize_add(size_t, size_t); static lean_object* l_Lean_Elab_Command_mkSimpleDelab___lambda__1___closed__45; static lean_object* l_Lean_Elab_Command_expandNotation___closed__1; static lean_object* l_Lean_Elab_Command_expandNotation___closed__2; static lean_object* l_Lean_Elab_Command_mkSimpleDelab___lambda__1___closed__2; lean_object* lean_mk_empty_array_with_capacity(lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__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*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__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*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Command_removeParentheses___spec__1(size_t, size_t, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Name_str___override(lean_object*, lean_object*); lean_object* l_Std_RBNode_insert___at_Lean_NameSet_insert___spec__1(lean_object*, lean_object*, lean_object*); @@ -37,11 +37,11 @@ lean_object* lean_array_uget(lean_object*, size_t); static lean_object* l___private_Lean_Elab_Notation_0__Lean_Elab_Command_isLocalAttrKind___closed__3; static lean_object* l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__2___closed__11; static lean_object* l_Lean_Elab_Command_mkSimpleDelab___lambda__1___closed__1; -LEAN_EXPORT lean_object* l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux(lean_object*, 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_append___rarg(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_mkSimpleDelab___lambda__1___closed__53; static lean_object* l_Lean_Elab_Command_mkSimpleDelab___lambda__1___closed__42; -LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandNotation___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandNotation___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_SourceInfo_fromRef(lean_object*); static lean_object* l_Lean_Elab_Command_mkSimpleDelab___lambda__1___closed__17; static lean_object* l_Lean_Elab_Command_removeParentheses___closed__2; @@ -49,7 +49,7 @@ lean_object* lean_array_uset(lean_object*, size_t, lean_object*); static lean_object* l_Lean_Elab_Command_mkSimpleDelab___lambda__1___closed__57; static lean_object* l_Lean_Elab_Command_removeParentheses___closed__1; static lean_object* l_Lean_Elab_Command_mkSimpleDelab___lambda__1___closed__4; -LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandNotation___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandNotation___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_mkSimpleDelab___lambda__1___closed__27; static lean_object* l_Lean_Elab_Command_mkSimpleDelab___lambda__1___closed__40; static lean_object* l_Lean_Elab_Command_mkSimpleDelab___lambda__1___closed__67; @@ -181,7 +181,7 @@ static lean_object* l_Lean_Elab_Command_mkSimpleDelab___lambda__1___closed__10; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___spec__3(size_t, size_t, lean_object*); lean_object* l_Lean_evalOptPrio(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_mkSimpleDelab___lambda__1___closed__81; -LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandNotation___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandNotation___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___spec__4___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_expandNotationItemIntoSyntaxItem___closed__13; static lean_object* l_Lean_Elab_Command_mkSimpleDelab___lambda__1___closed__73; @@ -233,7 +233,7 @@ static lean_object* l_Lean_Elab_Command_expandNotationItemIntoSyntaxItem___close static lean_object* l_Lean_Elab_Command_mkSimpleDelab___lambda__1___closed__3; LEAN_EXPORT uint8_t l___private_Lean_Elab_Notation_0__Lean_Elab_Command_antiquote___lambda__1(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_mkSimpleDelab___lambda__1___closed__52; -LEAN_EXPORT lean_object* l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___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*); +LEAN_EXPORT lean_object* l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___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*, lean_object*); static lean_object* l_Lean_Elab_Command_mkSimpleDelab___lambda__1___closed__18; static lean_object* l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__2___closed__27; static lean_object* l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__2___closed__9; @@ -256,7 +256,7 @@ static lean_object* l_Lean_Elab_Command_mkSimpleDelab___lambda__1___closed__31; static lean_object* l_Lean_Elab_Command_mkSimpleDelab___lambda__1___closed__59; lean_object* l_Lean_Syntax_getTailInfo(lean_object*); static lean_object* l_Lean_Elab_Command_expandNotationItemIntoSyntaxItem___closed__3; -LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandNotation___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandNotation___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_expandNotationItemIntoSyntaxItem___lambda__1___closed__10; static lean_object* l___private_Lean_Elab_Notation_0__Lean_Elab_Command_isLocalAttrKind___closed__2; static lean_object* l_Lean_Elab_Command_hasDuplicateAntiquot___closed__2; @@ -303,6 +303,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_Notation_0__Lean_Elab_Command_exp static lean_object* l___private_Lean_Elab_Notation_0__Lean_Elab_Command_isLocalAttrKind___closed__1; static lean_object* l_Lean_Elab_Command_expandNotationItemIntoSyntaxItem___closed__8; lean_object* l_Lean_Elab_Term_expandCDot_x3f(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandNotation___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_mkSimpleDelab___lambda__1___closed__79; static lean_object* l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__2___closed__6; static lean_object* l___regBuiltin_Lean_Elab_Command_expandNotation___closed__3; @@ -6561,502 +6562,549 @@ x_2 = lean_mk_empty_array_with_capacity(x_1); return x_2; } } -LEAN_EXPORT lean_object* l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__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, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) { +LEAN_EXPORT lean_object* l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__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, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16) { _start: { -lean_object* x_16; uint8_t x_17; lean_object* x_18; lean_object* x_19; -x_16 = lean_unsigned_to_nat(0u); -x_17 = lean_nat_dec_lt(x_16, x_1); +lean_object* x_17; uint8_t x_18; lean_object* x_19; lean_object* x_20; +x_17 = lean_unsigned_to_nat(0u); +x_18 = lean_nat_dec_lt(x_17, x_1); lean_inc(x_4); -x_18 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___spec__2(x_2, x_3, x_4, x_14, x_15); -if (x_17 == 0) +x_19 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___spec__2(x_2, x_3, x_4, x_15, x_16); +if (x_18 == 0) { -lean_object* x_224; +lean_object* x_242; lean_dec(x_4); lean_dec(x_1); -x_224 = l_Lean_Elab_Command_expandNotationItemIntoSyntaxItem___lambda__1___closed__7; -x_19 = x_224; -goto block_223; +x_242 = l_Lean_Elab_Command_expandNotationItemIntoSyntaxItem___lambda__1___closed__7; +x_20 = x_242; +goto block_241; } else { -uint8_t x_225; -x_225 = lean_nat_dec_le(x_1, x_1); +uint8_t x_243; +x_243 = lean_nat_dec_le(x_1, x_1); lean_dec(x_1); -if (x_225 == 0) +if (x_243 == 0) { -lean_object* x_226; +lean_object* x_244; lean_dec(x_4); -x_226 = l_Lean_Elab_Command_expandNotationItemIntoSyntaxItem___lambda__1___closed__7; -x_19 = x_226; -goto block_223; +x_244 = l_Lean_Elab_Command_expandNotationItemIntoSyntaxItem___lambda__1___closed__7; +x_20 = x_244; +goto block_241; } else { -lean_object* x_227; lean_object* x_228; -x_227 = l_Lean_Elab_Command_expandNotationItemIntoSyntaxItem___lambda__1___closed__7; -x_228 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___spec__5(x_4, x_3, x_2, x_227); +lean_object* x_245; lean_object* x_246; +x_245 = l_Lean_Elab_Command_expandNotationItemIntoSyntaxItem___lambda__1___closed__7; +x_246 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___spec__5(x_4, x_3, x_2, x_245); lean_dec(x_4); -x_19 = x_228; -goto block_223; +x_20 = x_246; +goto block_241; } } -block_223: +block_241: { -if (lean_obj_tag(x_18) == 0) +if (lean_obj_tag(x_19) == 0) { -lean_object* x_20; lean_object* x_21; lean_object* x_22; size_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_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; 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; 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; size_t 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_20 = lean_ctor_get(x_18, 0); -lean_inc(x_20); -x_21 = lean_ctor_get(x_18, 1); +lean_object* x_21; lean_object* x_22; lean_object* x_23; size_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_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; 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; 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; size_t 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_21 = lean_ctor_get(x_19, 0); lean_inc(x_21); -lean_dec(x_18); -x_22 = lean_array_get_size(x_19); -x_23 = lean_usize_of_nat(x_22); -lean_dec(x_22); -x_24 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___spec__3(x_23, x_3, x_19); -x_25 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_antiquote(x_24, x_5); -lean_dec(x_24); -lean_inc(x_13); -x_26 = l_Lean_Name_append(x_6, x_13); -lean_dec(x_6); -x_27 = lean_box(2); -x_28 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_28, 0, x_27); -lean_ctor_set(x_28, 1, x_26); -lean_ctor_set(x_28, 2, x_20); +x_22 = lean_ctor_get(x_19, 1); +lean_inc(x_22); +lean_dec(x_19); +x_23 = lean_array_get_size(x_20); +x_24 = lean_usize_of_nat(x_23); +lean_dec(x_23); +x_25 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___spec__3(x_24, x_3, x_20); +x_26 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_antiquote(x_25, x_5); +lean_dec(x_25); lean_inc(x_14); -x_134 = l_Lean_MonadRef_mkInfoFromRefPos___at___aux__Init__Notation______macroRules__precMax__1___spec__1(x_14, x_21); -x_135 = lean_ctor_get(x_134, 0); -lean_inc(x_135); -x_136 = lean_ctor_get(x_134, 1); +x_27 = l_Lean_Name_append(x_6, x_14); +lean_dec(x_6); +x_28 = lean_box(2); +x_29 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_29, 0, x_28); +lean_ctor_set(x_29, 1, x_27); +lean_ctor_set(x_29, 2, x_21); +lean_inc(x_15); +x_135 = l_Lean_MonadRef_mkInfoFromRefPos___at___aux__Init__Notation______macroRules__precMax__1___spec__1(x_15, x_22); +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); +x_138 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__2___closed__21; +lean_inc(x_136); +x_139 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_139, 0, x_136); +lean_ctor_set(x_139, 1, x_138); +x_140 = l_Lean_Elab_Command_mkSimpleDelab___lambda__1___closed__87; lean_inc(x_136); -lean_dec(x_134); -x_137 = l_Lean_Elab_Command_expandNotationItemIntoSyntaxItem___lambda__1___closed__6; -x_138 = l_Lean_Elab_Command_expandNotationItemIntoSyntaxItem___lambda__1___closed__7; -lean_inc(x_135); -x_139 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_139, 0, x_135); -lean_ctor_set(x_139, 1, x_137); -lean_ctor_set(x_139, 2, x_138); -x_140 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__2___closed__21; -lean_inc(x_135); x_141 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_141, 0, x_135); +lean_ctor_set(x_141, 0, x_136); lean_ctor_set(x_141, 1, x_140); -x_142 = l_Lean_Elab_Command_mkSimpleDelab___lambda__1___closed__87; -lean_inc(x_135); +x_142 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__2___closed__25; +lean_inc(x_136); x_143 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_143, 0, x_135); +lean_ctor_set(x_143, 0, x_136); lean_ctor_set(x_143, 1, x_142); -x_144 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__2___closed__25; -lean_inc(x_135); +x_144 = l_Lean_Elab_Command_mkSimpleDelab___lambda__1___closed__34; +lean_inc(x_136); x_145 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_145, 0, x_135); +lean_ctor_set(x_145, 0, x_136); lean_ctor_set(x_145, 1, x_144); -x_146 = l_Lean_Elab_Command_mkSimpleDelab___lambda__1___closed__34; -lean_inc(x_135); -x_147 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_147, 0, x_135); -lean_ctor_set(x_147, 1, x_146); -x_148 = lean_mk_syntax_ident(x_13); -x_149 = l_Lean_Elab_Command_mkSimpleDelab___lambda__1___closed__45; -lean_inc(x_135); -x_150 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_150, 0, x_135); -lean_ctor_set(x_150, 1, x_149); -x_151 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__2___closed__6; -x_152 = lean_array_push(x_151, x_143); -lean_inc(x_152); -x_153 = lean_array_push(x_152, x_145); -lean_inc(x_147); -x_154 = lean_array_push(x_153, x_147); -x_155 = lean_array_push(x_154, x_148); +x_146 = lean_mk_syntax_ident(x_14); +x_147 = l_Lean_Elab_Command_mkSimpleDelab___lambda__1___closed__45; +lean_inc(x_136); +x_148 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_148, 0, x_136); +lean_ctor_set(x_148, 1, x_147); +x_149 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__2___closed__6; +x_150 = lean_array_push(x_149, x_141); lean_inc(x_150); -x_156 = lean_array_push(x_155, x_150); -x_157 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__2___closed__24; -lean_inc(x_135); -x_158 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_158, 0, x_135); -lean_ctor_set(x_158, 1, x_157); -lean_ctor_set(x_158, 2, x_156); -x_159 = l_Lean_Elab_Command_expandNotationItemIntoSyntaxItem___lambda__1___closed__12; -x_160 = lean_array_push(x_159, x_158); -lean_inc(x_135); -x_161 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_161, 0, x_135); -lean_ctor_set(x_161, 1, x_137); -lean_ctor_set(x_161, 2, x_160); -x_162 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__2___closed__28; -lean_inc(x_135); -x_163 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_163, 0, x_135); -lean_ctor_set(x_163, 1, x_162); -x_164 = l_Nat_repr(x_8); -x_165 = l_Lean_Syntax_mkNumLit(x_164, x_27); -x_166 = lean_array_push(x_152, x_163); -x_167 = lean_array_push(x_166, x_147); -x_168 = lean_array_push(x_167, x_165); -x_169 = lean_array_push(x_168, x_150); -x_170 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__2___closed__27; -lean_inc(x_135); -x_171 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_171, 0, x_135); -lean_ctor_set(x_171, 1, x_170); -lean_ctor_set(x_171, 2, x_169); -x_172 = lean_array_push(x_159, x_171); -lean_inc(x_135); -x_173 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_173, 0, x_135); -lean_ctor_set(x_173, 1, x_137); -lean_ctor_set(x_173, 2, x_172); -x_174 = lean_array_get_size(x_9); -x_175 = lean_usize_of_nat(x_174); -lean_dec(x_174); -x_176 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___spec__4(x_175, x_3, x_9); -x_177 = l_Array_append___rarg(x_138, x_176); -lean_inc(x_135); +x_151 = lean_array_push(x_150, x_143); +lean_inc(x_145); +x_152 = lean_array_push(x_151, x_145); +x_153 = lean_array_push(x_152, x_146); +lean_inc(x_148); +x_154 = lean_array_push(x_153, x_148); +x_155 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__2___closed__24; +lean_inc(x_136); +x_156 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_156, 0, x_136); +lean_ctor_set(x_156, 1, x_155); +lean_ctor_set(x_156, 2, x_154); +x_157 = l_Lean_Elab_Command_expandNotationItemIntoSyntaxItem___lambda__1___closed__12; +x_158 = lean_array_push(x_157, x_156); +x_159 = l_Lean_Elab_Command_expandNotationItemIntoSyntaxItem___lambda__1___closed__6; +lean_inc(x_136); +x_160 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_160, 0, x_136); +lean_ctor_set(x_160, 1, x_159); +lean_ctor_set(x_160, 2, x_158); +x_161 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__2___closed__28; +lean_inc(x_136); +x_162 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_162, 0, x_136); +lean_ctor_set(x_162, 1, x_161); +x_163 = l_Nat_repr(x_8); +x_164 = l_Lean_Syntax_mkNumLit(x_163, x_28); +x_165 = lean_array_push(x_150, x_162); +x_166 = lean_array_push(x_165, x_145); +x_167 = lean_array_push(x_166, x_164); +x_168 = lean_array_push(x_167, x_148); +x_169 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__2___closed__27; +lean_inc(x_136); +x_170 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_170, 0, x_136); +lean_ctor_set(x_170, 1, x_169); +lean_ctor_set(x_170, 2, x_168); +x_171 = lean_array_push(x_157, x_170); +lean_inc(x_136); +x_172 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_172, 0, x_136); +lean_ctor_set(x_172, 1, x_159); +lean_ctor_set(x_172, 2, x_171); +x_173 = lean_array_get_size(x_9); +x_174 = lean_usize_of_nat(x_173); +lean_dec(x_173); +x_175 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___spec__4(x_174, x_3, x_9); +x_176 = l_Lean_Elab_Command_expandNotationItemIntoSyntaxItem___lambda__1___closed__7; +x_177 = l_Array_append___rarg(x_176, x_175); +lean_inc(x_136); x_178 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_178, 0, x_135); -lean_ctor_set(x_178, 1, x_137); +lean_ctor_set(x_178, 0, x_136); +lean_ctor_set(x_178, 1, x_159); lean_ctor_set(x_178, 2, x_177); x_179 = l_Lean_Elab_Command_expandNotationItemIntoSyntaxItem___lambda__1___closed__11; -lean_inc(x_135); +lean_inc(x_136); x_180 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_180, 0, x_135); +lean_ctor_set(x_180, 0, x_136); lean_ctor_set(x_180, 1, x_179); -if (lean_obj_tag(x_12) == 0) +if (lean_obj_tag(x_13) == 0) { -x_181 = x_138; -goto block_216; +x_181 = x_176; +goto block_234; } else { -lean_object* x_217; lean_object* x_218; -x_217 = lean_ctor_get(x_12, 0); -lean_inc(x_217); -lean_dec(x_12); -x_218 = lean_array_push(x_159, x_217); -x_181 = x_218; -goto block_216; +lean_object* x_235; lean_object* x_236; +x_235 = lean_ctor_get(x_13, 0); +lean_inc(x_235); +lean_dec(x_13); +x_236 = lean_array_push(x_157, x_235); +x_181 = x_236; +goto block_234; } -block_133: +block_134: { -lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; uint8_t x_91; -lean_inc(x_14); -x_31 = l_Lean_MonadRef_mkInfoFromRefPos___at___aux__Init__Notation______macroRules__precMax__1___spec__1(x_14, x_30); -x_32 = lean_ctor_get(x_31, 0); -lean_inc(x_32); -x_33 = lean_ctor_get(x_31, 1); +lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; uint8_t x_92; +lean_inc(x_15); +x_32 = l_Lean_MonadRef_mkInfoFromRefPos___at___aux__Init__Notation______macroRules__precMax__1___spec__1(x_15, x_31); +x_33 = lean_ctor_get(x_32, 0); lean_inc(x_33); -lean_dec(x_31); -x_34 = l_Lean_Elab_Command_expandNotationItemIntoSyntaxItem___lambda__1___closed__6; -x_35 = l_Lean_Elab_Command_expandNotationItemIntoSyntaxItem___lambda__1___closed__7; -lean_inc(x_32); -x_36 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_36, 0, x_32); -lean_ctor_set(x_36, 1, x_34); -lean_ctor_set(x_36, 2, x_35); -x_37 = l_Lean_Elab_Command_expandNotationItemIntoSyntaxItem___lambda__1___closed__12; -lean_inc(x_36); -x_38 = lean_array_push(x_37, x_36); -x_39 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_isLocalAttrKind___closed__2; -lean_inc(x_32); -x_40 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_40, 0, x_32); -lean_ctor_set(x_40, 1, x_39); -lean_ctor_set(x_40, 2, x_38); -x_41 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__2___closed__1; -lean_inc(x_32); -x_42 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_42, 0, x_32); -lean_ctor_set(x_42, 1, x_41); -x_43 = l_Lean_Elab_Command_mkSimpleDelab___lambda__1___closed__41; -lean_inc(x_32); -x_44 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_44, 0, x_32); -lean_ctor_set(x_44, 1, x_43); -x_45 = l_Lean_Elab_Command_mkSimpleDelab___lambda__1___closed__44; -lean_inc(x_32); -x_46 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_46, 0, x_32); -lean_ctor_set(x_46, 1, x_45); -x_47 = l_Lean_Elab_Command_mkSimpleDelab___lambda__1___closed__45; -lean_inc(x_32); -x_48 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_48, 0, x_32); -lean_ctor_set(x_48, 1, x_47); -x_49 = l_Lean_Elab_Command_mkSimpleDelab___lambda__1___closed__20; -x_50 = lean_array_push(x_49, x_46); -lean_inc(x_28); -lean_inc(x_50); -x_51 = lean_array_push(x_50, x_28); -lean_inc(x_48); -x_52 = lean_array_push(x_51, x_48); -x_53 = l_Lean_Elab_Command_mkSimpleDelab___lambda__1___closed__43; -lean_inc(x_32); -x_54 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_54, 0, x_32); -lean_ctor_set(x_54, 1, x_53); -lean_ctor_set(x_54, 2, x_52); -x_55 = lean_array_push(x_37, x_54); -lean_inc(x_32); -x_56 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_56, 0, x_32); -lean_ctor_set(x_56, 1, x_34); -lean_ctor_set(x_56, 2, x_55); -x_57 = lean_array_push(x_37, x_56); -lean_inc(x_32); -x_58 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_58, 0, x_32); -lean_ctor_set(x_58, 1, x_34); -lean_ctor_set(x_58, 2, x_57); -x_59 = l_Lean_Elab_Command_mkSimpleDelab___lambda__1___closed__46; -lean_inc(x_32); -x_60 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_60, 0, x_32); -lean_ctor_set(x_60, 1, x_59); -x_61 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__2___closed__5; -lean_inc(x_32); -x_62 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_62, 0, x_32); -lean_ctor_set(x_62, 1, x_61); -lean_inc(x_25); -x_63 = lean_array_push(x_50, x_25); -x_64 = lean_array_push(x_63, x_48); -lean_inc(x_32); -x_65 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_65, 0, x_32); -lean_ctor_set(x_65, 1, x_53); -lean_ctor_set(x_65, 2, x_64); -x_66 = l_Lean_Elab_Command_expandNotationItemIntoSyntaxItem___lambda__1___closed__8; -x_67 = lean_array_push(x_66, x_62); -x_68 = lean_array_push(x_67, x_65); -x_69 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__2___closed__4; -lean_inc(x_32); -x_70 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_70, 0, x_32); -lean_ctor_set(x_70, 1, x_69); -lean_ctor_set(x_70, 2, x_68); -x_71 = l_Lean_Elab_Command_mkSimpleDelab___lambda__1___closed__60; -x_72 = lean_array_push(x_71, x_44); -x_73 = lean_array_push(x_72, x_58); -x_74 = lean_array_push(x_73, x_60); -x_75 = lean_array_push(x_74, x_70); -x_76 = l_Lean_Elab_Command_mkSimpleDelab___lambda__1___closed__40; -lean_inc(x_32); -x_77 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_77, 0, x_32); -lean_ctor_set(x_77, 1, x_76); -lean_ctor_set(x_77, 2, x_75); -x_78 = lean_array_push(x_37, x_77); -lean_inc(x_32); -x_79 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_79, 0, x_32); -lean_ctor_set(x_79, 1, x_34); -lean_ctor_set(x_79, 2, x_78); -x_80 = lean_array_push(x_37, x_79); -x_81 = l_Lean_Elab_Command_mkSimpleDelab___lambda__1___closed__38; -lean_inc(x_32); -x_82 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_82, 0, x_32); -lean_ctor_set(x_82, 1, x_81); -lean_ctor_set(x_82, 2, x_80); -x_83 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__2___closed__6; -lean_inc(x_36); -x_84 = lean_array_push(x_83, x_36); -x_85 = lean_array_push(x_84, x_40); -x_86 = lean_array_push(x_85, x_42); -x_87 = lean_array_push(x_86, x_36); -x_88 = lean_array_push(x_87, x_82); -x_89 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__2___closed__2; -x_90 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_90, 0, x_32); -lean_ctor_set(x_90, 1, x_89); -lean_ctor_set(x_90, 2, x_88); +x_34 = lean_ctor_get(x_32, 1); +lean_inc(x_34); +lean_dec(x_32); +x_35 = l_Lean_Elab_Command_expandNotationItemIntoSyntaxItem___lambda__1___closed__6; +x_36 = l_Lean_Elab_Command_expandNotationItemIntoSyntaxItem___lambda__1___closed__7; +lean_inc(x_33); +x_37 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_37, 0, x_33); +lean_ctor_set(x_37, 1, x_35); +lean_ctor_set(x_37, 2, x_36); +x_38 = l_Lean_Elab_Command_expandNotationItemIntoSyntaxItem___lambda__1___closed__12; +lean_inc(x_37); +x_39 = lean_array_push(x_38, x_37); +x_40 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_isLocalAttrKind___closed__2; +lean_inc(x_33); +x_41 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_41, 0, x_33); +lean_ctor_set(x_41, 1, x_40); +lean_ctor_set(x_41, 2, x_39); +x_42 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__2___closed__1; +lean_inc(x_33); +x_43 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_43, 0, x_33); +lean_ctor_set(x_43, 1, x_42); +x_44 = l_Lean_Elab_Command_mkSimpleDelab___lambda__1___closed__41; +lean_inc(x_33); +x_45 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_45, 0, x_33); +lean_ctor_set(x_45, 1, x_44); +x_46 = l_Lean_Elab_Command_mkSimpleDelab___lambda__1___closed__44; +lean_inc(x_33); +x_47 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_47, 0, x_33); +lean_ctor_set(x_47, 1, x_46); +x_48 = l_Lean_Elab_Command_mkSimpleDelab___lambda__1___closed__45; +lean_inc(x_33); +x_49 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_49, 0, x_33); +lean_ctor_set(x_49, 1, x_48); +x_50 = l_Lean_Elab_Command_mkSimpleDelab___lambda__1___closed__20; +x_51 = lean_array_push(x_50, x_47); +lean_inc(x_29); +lean_inc(x_51); +x_52 = lean_array_push(x_51, x_29); +lean_inc(x_49); +x_53 = lean_array_push(x_52, x_49); +x_54 = l_Lean_Elab_Command_mkSimpleDelab___lambda__1___closed__43; +lean_inc(x_33); +x_55 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_55, 0, x_33); +lean_ctor_set(x_55, 1, x_54); +lean_ctor_set(x_55, 2, x_53); +x_56 = lean_array_push(x_38, x_55); +lean_inc(x_33); +x_57 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_57, 0, x_33); +lean_ctor_set(x_57, 1, x_35); +lean_ctor_set(x_57, 2, x_56); +x_58 = lean_array_push(x_38, x_57); +lean_inc(x_33); +x_59 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_59, 0, x_33); +lean_ctor_set(x_59, 1, x_35); +lean_ctor_set(x_59, 2, x_58); +x_60 = l_Lean_Elab_Command_mkSimpleDelab___lambda__1___closed__46; +lean_inc(x_33); +x_61 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_61, 0, x_33); +lean_ctor_set(x_61, 1, x_60); +x_62 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__2___closed__5; +lean_inc(x_33); +x_63 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_63, 0, x_33); +lean_ctor_set(x_63, 1, x_62); +lean_inc(x_26); +x_64 = lean_array_push(x_51, x_26); +x_65 = lean_array_push(x_64, x_49); +lean_inc(x_33); +x_66 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_66, 0, x_33); +lean_ctor_set(x_66, 1, x_54); +lean_ctor_set(x_66, 2, x_65); +x_67 = l_Lean_Elab_Command_expandNotationItemIntoSyntaxItem___lambda__1___closed__8; +x_68 = lean_array_push(x_67, x_63); +x_69 = lean_array_push(x_68, x_66); +x_70 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__2___closed__4; +lean_inc(x_33); +x_71 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_71, 0, x_33); +lean_ctor_set(x_71, 1, x_70); +lean_ctor_set(x_71, 2, x_69); +x_72 = l_Lean_Elab_Command_mkSimpleDelab___lambda__1___closed__60; +x_73 = lean_array_push(x_72, x_45); +x_74 = lean_array_push(x_73, x_59); +x_75 = lean_array_push(x_74, x_61); +x_76 = lean_array_push(x_75, x_71); +x_77 = l_Lean_Elab_Command_mkSimpleDelab___lambda__1___closed__40; +lean_inc(x_33); +x_78 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_78, 0, x_33); +lean_ctor_set(x_78, 1, x_77); +lean_ctor_set(x_78, 2, x_76); +x_79 = lean_array_push(x_38, x_78); +lean_inc(x_33); +x_80 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_80, 0, x_33); +lean_ctor_set(x_80, 1, x_35); +lean_ctor_set(x_80, 2, x_79); +x_81 = lean_array_push(x_38, x_80); +x_82 = l_Lean_Elab_Command_mkSimpleDelab___lambda__1___closed__38; +lean_inc(x_33); +x_83 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_83, 0, x_33); +lean_ctor_set(x_83, 1, x_82); +lean_ctor_set(x_83, 2, x_81); +x_84 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__2___closed__6; +lean_inc(x_37); +x_85 = lean_array_push(x_84, x_37); +x_86 = lean_array_push(x_85, x_41); +x_87 = lean_array_push(x_86, x_43); +x_88 = lean_array_push(x_87, x_37); +x_89 = lean_array_push(x_88, x_83); +x_90 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__2___closed__2; +x_91 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_91, 0, x_33); +lean_ctor_set(x_91, 1, x_90); +lean_ctor_set(x_91, 2, x_89); lean_inc(x_7); -x_91 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_isLocalAttrKind(x_7); -if (x_91 == 0) +x_92 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_isLocalAttrKind(x_7); +if (x_92 == 0) { -lean_object* x_92; lean_object* x_93; lean_object* x_94; -x_92 = lean_array_push(x_37, x_90); -x_93 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_93, 0, x_27); -lean_ctor_set(x_93, 1, x_34); -lean_ctor_set(x_93, 2, x_92); -x_94 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__1(x_7, x_28, x_25, x_66, x_29, x_34, x_49, x_93, x_14, x_33); -return x_94; +lean_object* x_93; lean_object* x_94; lean_object* x_95; +x_93 = lean_array_push(x_38, x_91); +x_94 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_94, 0, x_28); +lean_ctor_set(x_94, 1, x_35); +lean_ctor_set(x_94, 2, x_93); +x_95 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__1(x_7, x_29, x_26, x_67, x_30, x_35, x_50, x_94, x_15, x_34); +return x_95; } else { -lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; -lean_inc(x_14); -x_95 = l_Lean_MonadRef_mkInfoFromRefPos___at___aux__Init__Notation______macroRules__precMax__1___spec__1(x_14, x_33); -x_96 = lean_ctor_get(x_95, 0); -lean_inc(x_96); -x_97 = lean_ctor_get(x_95, 1); +lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133; +lean_inc(x_15); +x_96 = l_Lean_MonadRef_mkInfoFromRefPos___at___aux__Init__Notation______macroRules__precMax__1___spec__1(x_15, x_34); +x_97 = lean_ctor_get(x_96, 0); lean_inc(x_97); -lean_dec(x_95); -x_98 = lean_ctor_get(x_14, 2); +x_98 = lean_ctor_get(x_96, 1); lean_inc(x_98); -x_99 = lean_ctor_get(x_14, 1); +lean_dec(x_96); +x_99 = lean_ctor_get(x_15, 2); lean_inc(x_99); -x_100 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__2___closed__7; -lean_inc(x_96); -x_101 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_101, 0, x_96); -lean_ctor_set(x_101, 1, x_100); -lean_inc(x_96); -x_102 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_102, 0, x_96); -lean_ctor_set(x_102, 1, x_34); -lean_ctor_set(x_102, 2, x_35); -x_103 = lean_array_push(x_66, x_101); -lean_inc(x_102); -x_104 = lean_array_push(x_103, x_102); -x_105 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__2___closed__8; -lean_inc(x_96); -x_106 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_106, 0, x_96); -lean_ctor_set(x_106, 1, x_105); -lean_ctor_set(x_106, 2, x_104); -x_107 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__2___closed__9; -lean_inc(x_96); -x_108 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_108, 0, x_96); -lean_ctor_set(x_108, 1, x_107); -x_109 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__2___closed__17; -x_110 = l_Lean_addMacroScope(x_99, x_109, x_98); -x_111 = lean_box(0); -x_112 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__2___closed__13; -lean_inc(x_96); -x_113 = lean_alloc_ctor(3, 4, 0); -lean_ctor_set(x_113, 0, x_96); -lean_ctor_set(x_113, 1, x_112); -lean_ctor_set(x_113, 2, x_110); -lean_ctor_set(x_113, 3, x_111); -x_114 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__2___closed__18; -lean_inc(x_96); -x_115 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_115, 0, x_96); -lean_ctor_set(x_115, 1, x_114); -x_116 = lean_array_push(x_49, x_108); -x_117 = lean_array_push(x_116, x_113); -x_118 = lean_array_push(x_117, x_115); -x_119 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__2___closed__10; -lean_inc(x_96); -x_120 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_120, 0, x_96); -lean_ctor_set(x_120, 1, x_119); -lean_ctor_set(x_120, 2, x_118); -x_121 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__2___closed__19; -lean_inc(x_96); -x_122 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_122, 0, x_96); -lean_ctor_set(x_122, 1, x_121); -x_123 = lean_array_push(x_66, x_122); -x_124 = lean_array_push(x_123, x_102); -x_125 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__2___closed__20; -lean_inc(x_96); -x_126 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_126, 0, x_96); -lean_ctor_set(x_126, 1, x_125); -lean_ctor_set(x_126, 2, x_124); -x_127 = lean_array_push(x_71, x_106); -x_128 = lean_array_push(x_127, x_120); -x_129 = lean_array_push(x_128, x_90); -x_130 = lean_array_push(x_129, x_126); -x_131 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_131, 0, x_96); -lean_ctor_set(x_131, 1, x_34); -lean_ctor_set(x_131, 2, x_130); -x_132 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__1(x_7, x_28, x_25, x_66, x_29, x_34, x_49, x_131, x_14, x_97); -return x_132; +x_100 = lean_ctor_get(x_15, 1); +lean_inc(x_100); +x_101 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__2___closed__7; +lean_inc(x_97); +x_102 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_102, 0, x_97); +lean_ctor_set(x_102, 1, x_101); +lean_inc(x_97); +x_103 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_103, 0, x_97); +lean_ctor_set(x_103, 1, x_35); +lean_ctor_set(x_103, 2, x_36); +x_104 = lean_array_push(x_67, x_102); +lean_inc(x_103); +x_105 = lean_array_push(x_104, x_103); +x_106 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__2___closed__8; +lean_inc(x_97); +x_107 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_107, 0, x_97); +lean_ctor_set(x_107, 1, x_106); +lean_ctor_set(x_107, 2, x_105); +x_108 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__2___closed__9; +lean_inc(x_97); +x_109 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_109, 0, x_97); +lean_ctor_set(x_109, 1, x_108); +x_110 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__2___closed__17; +x_111 = l_Lean_addMacroScope(x_100, x_110, x_99); +x_112 = lean_box(0); +x_113 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__2___closed__13; +lean_inc(x_97); +x_114 = lean_alloc_ctor(3, 4, 0); +lean_ctor_set(x_114, 0, x_97); +lean_ctor_set(x_114, 1, x_113); +lean_ctor_set(x_114, 2, x_111); +lean_ctor_set(x_114, 3, x_112); +x_115 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__2___closed__18; +lean_inc(x_97); +x_116 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_116, 0, x_97); +lean_ctor_set(x_116, 1, x_115); +x_117 = lean_array_push(x_50, x_109); +x_118 = lean_array_push(x_117, x_114); +x_119 = lean_array_push(x_118, x_116); +x_120 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__2___closed__10; +lean_inc(x_97); +x_121 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_121, 0, x_97); +lean_ctor_set(x_121, 1, x_120); +lean_ctor_set(x_121, 2, x_119); +x_122 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__2___closed__19; +lean_inc(x_97); +x_123 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_123, 0, x_97); +lean_ctor_set(x_123, 1, x_122); +x_124 = lean_array_push(x_67, x_123); +x_125 = lean_array_push(x_124, x_103); +x_126 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__2___closed__20; +lean_inc(x_97); +x_127 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_127, 0, x_97); +lean_ctor_set(x_127, 1, x_126); +lean_ctor_set(x_127, 2, x_125); +x_128 = lean_array_push(x_72, x_107); +x_129 = lean_array_push(x_128, x_121); +x_130 = lean_array_push(x_129, x_91); +x_131 = lean_array_push(x_130, x_127); +x_132 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_132, 0, x_97); +lean_ctor_set(x_132, 1, x_35); +lean_ctor_set(x_132, 2, x_131); +x_133 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__1(x_7, x_29, x_26, x_67, x_30, x_35, x_50, x_132, x_15, x_98); +return x_133; } } -block_216: +block_234: { -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_182 = l_Array_append___rarg(x_138, x_181); -lean_inc(x_135); +lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; +x_182 = l_Array_append___rarg(x_176, x_181); +lean_inc(x_136); x_183 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_183, 0, x_135); -lean_ctor_set(x_183, 1, x_137); +lean_ctor_set(x_183, 0, x_136); +lean_ctor_set(x_183, 1, x_159); lean_ctor_set(x_183, 2, x_182); x_184 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__2___closed__29; x_185 = lean_array_push(x_184, x_183); -x_186 = lean_array_push(x_185, x_139); +if (lean_obj_tag(x_12) == 0) +{ +x_186 = x_176; +goto block_219; +} +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; lean_object* x_231; lean_object* x_232; lean_object* x_233; +x_220 = lean_ctor_get(x_12, 0); +lean_inc(x_220); +lean_dec(x_12); +x_221 = l_Lean_Elab_Command_mkSimpleDelab___lambda__1___closed__8; +lean_inc(x_136); +x_222 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_222, 0, x_136); +lean_ctor_set(x_222, 1, x_221); +x_223 = l_Array_append___rarg(x_176, x_220); +lean_inc(x_136); +x_224 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_224, 0, x_136); +lean_ctor_set(x_224, 1, x_159); +lean_ctor_set(x_224, 2, x_223); +x_225 = l_Lean_Elab_Command_mkSimpleDelab___lambda__1___closed__19; +lean_inc(x_136); +x_226 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_226, 0, x_136); +lean_ctor_set(x_226, 1, x_225); +x_227 = l_Lean_Elab_Command_mkSimpleDelab___lambda__1___closed__20; +x_228 = lean_array_push(x_227, x_222); +x_229 = lean_array_push(x_228, x_224); +x_230 = lean_array_push(x_229, x_226); +x_231 = l_Lean_Elab_Command_mkSimpleDelab___lambda__1___closed__7; +lean_inc(x_136); +x_232 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_232, 0, x_136); +lean_ctor_set(x_232, 1, x_231); +lean_ctor_set(x_232, 2, x_230); +x_233 = lean_array_push(x_157, x_232); +x_186 = x_233; +goto block_219; +} +block_219: +{ +lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191; +x_187 = l_Array_append___rarg(x_176, x_186); +lean_inc(x_136); +x_188 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_188, 0, x_136); +lean_ctor_set(x_188, 1, x_159); +lean_ctor_set(x_188, 2, x_187); +x_189 = lean_array_push(x_185, x_188); lean_inc(x_7); -x_187 = lean_array_push(x_186, x_7); -x_188 = lean_array_push(x_187, x_141); +x_190 = lean_array_push(x_189, x_7); +x_191 = lean_array_push(x_190, x_139); if (lean_obj_tag(x_10) == 0) { -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_189 = l_Lean_Elab_Command_expandNotationItemIntoSyntaxItem___lambda__1___closed__9; -lean_inc(x_135); -x_190 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_190, 0, x_135); -lean_ctor_set(x_190, 1, x_137); -lean_ctor_set(x_190, 2, x_189); -x_191 = lean_array_push(x_188, x_190); -x_192 = lean_array_push(x_191, x_161); -x_193 = lean_array_push(x_192, x_173); -x_194 = lean_array_push(x_193, x_178); -x_195 = lean_array_push(x_194, x_180); -x_196 = lean_array_push(x_195, x_11); -x_197 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__2___closed__22; -x_198 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_198, 0, x_135); -lean_ctor_set(x_198, 1, x_197); -lean_ctor_set(x_198, 2, x_196); -x_29 = x_198; -x_30 = x_136; -goto block_133; +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_192 = l_Lean_Elab_Command_expandNotationItemIntoSyntaxItem___lambda__1___closed__9; +lean_inc(x_136); +x_193 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_193, 0, x_136); +lean_ctor_set(x_193, 1, x_159); +lean_ctor_set(x_193, 2, x_192); +x_194 = lean_array_push(x_191, x_193); +x_195 = lean_array_push(x_194, x_160); +x_196 = lean_array_push(x_195, x_172); +x_197 = lean_array_push(x_196, x_178); +x_198 = lean_array_push(x_197, x_180); +x_199 = lean_array_push(x_198, x_11); +x_200 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__2___closed__22; +x_201 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_201, 0, x_136); +lean_ctor_set(x_201, 1, x_200); +lean_ctor_set(x_201, 2, x_199); +x_30 = x_201; +x_31 = x_137; +goto block_134; } 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; 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_199 = lean_ctor_get(x_10, 0); -lean_inc(x_199); +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; lean_object* x_217; lean_object* x_218; +x_202 = lean_ctor_get(x_10, 0); +lean_inc(x_202); lean_dec(x_10); -x_200 = l_Lean_Elab_Command_expandNotationItemIntoSyntaxItem___lambda__1___closed__8; +x_203 = l_Lean_Elab_Command_expandNotationItemIntoSyntaxItem___lambda__1___closed__8; lean_inc(x_180); -x_201 = lean_array_push(x_200, x_180); -x_202 = lean_array_push(x_201, x_199); -x_203 = l_Lean_Elab_Command_expandNotationItemIntoSyntaxItem___closed__14; -lean_inc(x_135); -x_204 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_204, 0, x_135); -lean_ctor_set(x_204, 1, x_203); -lean_ctor_set(x_204, 2, x_202); -x_205 = lean_array_push(x_159, x_204); -x_206 = l_Array_append___rarg(x_138, x_205); -lean_inc(x_135); +x_204 = lean_array_push(x_203, x_180); +x_205 = lean_array_push(x_204, x_202); +x_206 = l_Lean_Elab_Command_expandNotationItemIntoSyntaxItem___closed__14; +lean_inc(x_136); x_207 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_207, 0, x_135); -lean_ctor_set(x_207, 1, x_137); -lean_ctor_set(x_207, 2, x_206); -x_208 = lean_array_push(x_188, x_207); -x_209 = lean_array_push(x_208, x_161); -x_210 = lean_array_push(x_209, x_173); -x_211 = lean_array_push(x_210, x_178); -x_212 = lean_array_push(x_211, x_180); -x_213 = lean_array_push(x_212, x_11); -x_214 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__2___closed__22; -x_215 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_215, 0, x_135); -lean_ctor_set(x_215, 1, x_214); -lean_ctor_set(x_215, 2, x_213); -x_29 = x_215; -x_30 = x_136; -goto block_133; +lean_ctor_set(x_207, 0, x_136); +lean_ctor_set(x_207, 1, x_206); +lean_ctor_set(x_207, 2, x_205); +x_208 = lean_array_push(x_157, x_207); +x_209 = l_Array_append___rarg(x_176, x_208); +lean_inc(x_136); +x_210 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_210, 0, x_136); +lean_ctor_set(x_210, 1, x_159); +lean_ctor_set(x_210, 2, x_209); +x_211 = lean_array_push(x_191, x_210); +x_212 = lean_array_push(x_211, x_160); +x_213 = lean_array_push(x_212, x_172); +x_214 = lean_array_push(x_213, x_178); +x_215 = lean_array_push(x_214, x_180); +x_216 = lean_array_push(x_215, x_11); +x_217 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__2___closed__22; +x_218 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_218, 0, x_136); +lean_ctor_set(x_218, 1, x_217); +lean_ctor_set(x_218, 2, x_216); +x_30 = x_218; +x_31 = x_137; +goto block_134; +} } } } else { -uint8_t x_219; -lean_dec(x_19); +uint8_t x_237; +lean_dec(x_20); +lean_dec(x_15); lean_dec(x_14); lean_dec(x_13); lean_dec(x_12); @@ -7067,190 +7115,193 @@ lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); -x_219 = !lean_is_exclusive(x_18); -if (x_219 == 0) +x_237 = !lean_is_exclusive(x_19); +if (x_237 == 0) { -return x_18; +return x_19; } else { -lean_object* x_220; lean_object* x_221; lean_object* x_222; -x_220 = lean_ctor_get(x_18, 0); -x_221 = lean_ctor_get(x_18, 1); -lean_inc(x_221); -lean_inc(x_220); -lean_dec(x_18); -x_222 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_222, 0, x_220); -lean_ctor_set(x_222, 1, x_221); -return x_222; +lean_object* x_238; lean_object* x_239; lean_object* x_240; +x_238 = lean_ctor_get(x_19, 0); +x_239 = lean_ctor_get(x_19, 1); +lean_inc(x_239); +lean_inc(x_238); +lean_dec(x_19); +x_240 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_240, 0, x_238); +lean_ctor_set(x_240, 1, x_239); +return x_240; } } } } } -LEAN_EXPORT lean_object* l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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_EXPORT lean_object* l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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_12; -lean_inc(x_10); -x_12 = l_Lean_evalOptPrio(x_7, x_10, x_11); -if (lean_obj_tag(x_12) == 0) +lean_object* x_13; +lean_inc(x_11); +x_13 = l_Lean_evalOptPrio(x_8, x_11, x_12); +if (lean_obj_tag(x_13) == 0) { -lean_object* x_13; lean_object* x_14; lean_object* x_15; size_t x_16; size_t x_17; lean_object* x_18; -x_13 = lean_ctor_get(x_12, 0); -lean_inc(x_13); -x_14 = lean_ctor_get(x_12, 1); +lean_object* x_14; lean_object* x_15; lean_object* x_16; size_t x_17; size_t x_18; lean_object* x_19; +x_14 = lean_ctor_get(x_13, 0); lean_inc(x_14); -lean_dec(x_12); -x_15 = lean_array_get_size(x_8); -x_16 = lean_usize_of_nat(x_15); -x_17 = 0; -lean_inc(x_10); -lean_inc(x_8); -x_18 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___spec__1(x_16, x_17, x_8, x_10, x_14); -if (lean_obj_tag(x_18) == 0) +x_15 = lean_ctor_get(x_13, 1); +lean_inc(x_15); +lean_dec(x_13); +x_16 = lean_array_get_size(x_9); +x_17 = lean_usize_of_nat(x_16); +x_18 = 0; +lean_inc(x_11); +lean_inc(x_9); +x_19 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___spec__1(x_17, x_18, x_9, x_11, x_15); +if (lean_obj_tag(x_19) == 0) { -lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_19 = lean_ctor_get(x_18, 0); -lean_inc(x_19); -x_20 = lean_ctor_get(x_18, 1); +lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; +x_20 = lean_ctor_get(x_19, 0); lean_inc(x_20); -lean_dec(x_18); -x_21 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_antiquote___closed__4; -x_22 = l_Lean_mkIdentFrom(x_1, x_21); -if (lean_obj_tag(x_6) == 0) -{ -lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; -x_23 = lean_box(2); -x_24 = l_Lean_Elab_Command_expandNotationItemIntoSyntaxItem___lambda__1___closed__6; -lean_inc(x_19); -x_25 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_25, 0, x_23); -lean_ctor_set(x_25, 1, x_24); -lean_ctor_set(x_25, 2, x_19); -lean_inc(x_10); -x_26 = l_Lean_Elab_Command_mkNameFromParserSyntax(x_21, x_25, x_10, x_20); -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_26, 0); -lean_inc(x_27); -x_28 = lean_ctor_get(x_26, 1); -lean_inc(x_28); -lean_dec(x_26); -x_29 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__2(x_15, x_16, x_17, x_8, x_9, x_2, x_4, x_13, x_19, x_5, x_22, x_3, x_27, x_10, x_28); -return x_29; -} -else -{ -uint8_t x_30; -lean_dec(x_22); +x_21 = lean_ctor_get(x_19, 1); +lean_inc(x_21); lean_dec(x_19); -lean_dec(x_15); -lean_dec(x_13); +x_22 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_antiquote___closed__4; +x_23 = l_Lean_mkIdentFrom(x_1, x_22); +if (lean_obj_tag(x_7) == 0) +{ +lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; +x_24 = lean_box(2); +x_25 = l_Lean_Elab_Command_expandNotationItemIntoSyntaxItem___lambda__1___closed__6; +lean_inc(x_20); +x_26 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_26, 0, x_24); +lean_ctor_set(x_26, 1, x_25); +lean_ctor_set(x_26, 2, x_20); +lean_inc(x_11); +x_27 = l_Lean_Elab_Command_mkNameFromParserSyntax(x_22, x_26, x_11, x_21); +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_27, 0); +lean_inc(x_28); +x_29 = lean_ctor_get(x_27, 1); +lean_inc(x_29); +lean_dec(x_27); +x_30 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__2(x_16, x_17, x_18, x_9, x_10, x_2, x_5, x_14, x_20, x_6, x_23, x_4, x_3, x_28, x_11, x_29); +return x_30; +} +else +{ +uint8_t x_31; +lean_dec(x_23); +lean_dec(x_20); +lean_dec(x_16); +lean_dec(x_14); +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_30 = !lean_is_exclusive(x_26); -if (x_30 == 0) +x_31 = !lean_is_exclusive(x_27); +if (x_31 == 0) { -return x_26; +return x_27; } else { -lean_object* x_31; lean_object* x_32; lean_object* x_33; -x_31 = lean_ctor_get(x_26, 0); -x_32 = lean_ctor_get(x_26, 1); +lean_object* x_32; lean_object* x_33; lean_object* x_34; +x_32 = lean_ctor_get(x_27, 0); +x_33 = lean_ctor_get(x_27, 1); +lean_inc(x_33); lean_inc(x_32); -lean_inc(x_31); -lean_dec(x_26); -x_33 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_33, 0, x_31); -lean_ctor_set(x_33, 1, x_32); -return x_33; +lean_dec(x_27); +x_34 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_34, 0, x_32); +lean_ctor_set(x_34, 1, x_33); +return x_34; } } } else { -lean_object* x_34; lean_object* x_35; lean_object* x_36; -x_34 = lean_ctor_get(x_6, 0); -lean_inc(x_34); -lean_dec(x_6); -x_35 = l_Lean_Syntax_getId(x_34); -lean_dec(x_34); -x_36 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__2(x_15, x_16, x_17, x_8, x_9, x_2, x_4, x_13, x_19, x_5, x_22, x_3, x_35, x_10, x_20); -return x_36; +lean_object* x_35; lean_object* x_36; lean_object* x_37; +x_35 = lean_ctor_get(x_7, 0); +lean_inc(x_35); +lean_dec(x_7); +x_36 = l_Lean_Syntax_getId(x_35); +lean_dec(x_35); +x_37 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__2(x_16, x_17, x_18, x_9, x_10, x_2, x_5, x_14, x_20, x_6, x_23, x_4, x_3, x_36, x_11, x_21); +return x_37; } } else { -uint8_t x_37; -lean_dec(x_15); -lean_dec(x_13); +uint8_t x_38; +lean_dec(x_16); +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_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_37 = !lean_is_exclusive(x_18); -if (x_37 == 0) +x_38 = !lean_is_exclusive(x_19); +if (x_38 == 0) { -return x_18; +return x_19; } else { -lean_object* x_38; lean_object* x_39; lean_object* x_40; -x_38 = lean_ctor_get(x_18, 0); -x_39 = lean_ctor_get(x_18, 1); +lean_object* x_39; lean_object* x_40; lean_object* x_41; +x_39 = lean_ctor_get(x_19, 0); +x_40 = lean_ctor_get(x_19, 1); +lean_inc(x_40); lean_inc(x_39); -lean_inc(x_38); -lean_dec(x_18); -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_dec(x_19); +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; } } } else { -uint8_t x_41; +uint8_t x_42; +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); lean_dec(x_2); lean_dec(x_1); -x_41 = !lean_is_exclusive(x_12); -if (x_41 == 0) +x_42 = !lean_is_exclusive(x_13); +if (x_42 == 0) { -return x_12; +return x_13; } else { -lean_object* x_42; lean_object* x_43; lean_object* x_44; -x_42 = lean_ctor_get(x_12, 0); -x_43 = lean_ctor_get(x_12, 1); +lean_object* x_43; lean_object* x_44; lean_object* x_45; +x_43 = lean_ctor_get(x_13, 0); +x_44 = lean_ctor_get(x_13, 1); +lean_inc(x_44); lean_inc(x_43); -lean_inc(x_42); -lean_dec(x_12); -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_dec(x_13); +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; } } } @@ -7317,115 +7368,203 @@ lean_dec(x_1); return x_7; } } -LEAN_EXPORT lean_object* l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___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, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) { +LEAN_EXPORT lean_object* l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___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, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16) { _start: { -size_t x_16; size_t x_17; lean_object* x_18; -x_16 = lean_unbox_usize(x_2); +size_t x_17; size_t x_18; lean_object* x_19; +x_17 = lean_unbox_usize(x_2); lean_dec(x_2); -x_17 = lean_unbox_usize(x_3); +x_18 = lean_unbox_usize(x_3); lean_dec(x_3); -x_18 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__2(x_1, x_16, x_17, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15); -return x_18; +x_19 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__2(x_1, x_17, x_18, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16); +return x_19; } } -LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandNotation___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_EXPORT lean_object* l_Lean_Elab_Command_expandNotation___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) { _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; -x_10 = lean_unsigned_to_nat(6u); -x_11 = l_Lean_Syntax_getArg(x_1, x_10); -x_12 = lean_unsigned_to_nat(8u); -x_13 = l_Lean_Syntax_getArg(x_1, x_12); -x_14 = l_Lean_Syntax_getArgs(x_11); -lean_dec(x_11); -lean_inc(x_8); -x_15 = l_Lean_Elab_toAttributeKind(x_2, x_8, x_9); -if (lean_obj_tag(x_15) == 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; +x_11 = lean_unsigned_to_nat(7u); +x_12 = l_Lean_Syntax_getArg(x_1, x_11); +x_13 = lean_unsigned_to_nat(9u); +x_14 = l_Lean_Syntax_getArg(x_1, x_13); +x_15 = l_Lean_Syntax_getArgs(x_12); +lean_dec(x_12); +lean_inc(x_9); +x_16 = l_Lean_Elab_toAttributeKind(x_2, x_9, x_10); +if (lean_obj_tag(x_16) == 0) { -lean_object* x_16; lean_object* x_17; -x_16 = lean_ctor_get(x_15, 1); -lean_inc(x_16); -lean_dec(x_15); -lean_inc(x_8); -x_17 = l_Lean_Macro_getCurrNamespace(x_8, x_16); -if (lean_obj_tag(x_17) == 0) +lean_object* x_17; lean_object* x_18; +x_17 = lean_ctor_get(x_16, 1); +lean_inc(x_17); +lean_dec(x_16); +lean_inc(x_9); +x_18 = l_Lean_Macro_getCurrNamespace(x_9, x_17); +if (lean_obj_tag(x_18) == 0) { -lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_18 = lean_ctor_get(x_17, 0); -lean_inc(x_18); -x_19 = lean_ctor_get(x_17, 1); +lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_19 = lean_ctor_get(x_18, 0); lean_inc(x_19); -lean_dec(x_17); -x_20 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux(x_1, x_18, x_3, x_2, x_4, x_5, x_7, x_14, x_13, x_8, x_19); -return x_20; +x_20 = lean_ctor_get(x_18, 1); +lean_inc(x_20); +lean_dec(x_18); +x_21 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux(x_1, x_19, x_3, x_4, x_2, x_5, x_6, x_8, x_15, x_14, x_9, x_20); +return x_21; } else { -uint8_t x_21; +uint8_t x_22; +lean_dec(x_15); lean_dec(x_14); -lean_dec(x_13); +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); lean_dec(x_1); -x_21 = !lean_is_exclusive(x_17); -if (x_21 == 0) +x_22 = !lean_is_exclusive(x_18); +if (x_22 == 0) { +return x_18; +} +else +{ +lean_object* x_23; lean_object* x_24; lean_object* x_25; +x_23 = lean_ctor_get(x_18, 0); +x_24 = lean_ctor_get(x_18, 1); +lean_inc(x_24); +lean_inc(x_23); +lean_dec(x_18); +x_25 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_25, 0, x_23); +lean_ctor_set(x_25, 1, x_24); +return x_25; +} +} +} +else +{ +uint8_t x_26; +lean_dec(x_15); +lean_dec(x_14); +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); +lean_dec(x_1); +x_26 = !lean_is_exclusive(x_16); +if (x_26 == 0) +{ +return x_16; +} +else +{ +lean_object* x_27; lean_object* x_28; lean_object* x_29; +x_27 = lean_ctor_get(x_16, 0); +x_28 = lean_ctor_get(x_16, 1); +lean_inc(x_28); +lean_inc(x_27); +lean_dec(x_16); +x_29 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_29, 0, x_27); +lean_ctor_set(x_29, 1, x_28); +return x_29; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandNotation___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) { +_start: +{ +lean_object* x_11; lean_object* x_12; uint8_t x_13; +lean_dec(x_7); +x_11 = lean_unsigned_to_nat(6u); +x_12 = l_Lean_Syntax_getArg(x_1, x_11); +x_13 = l_Lean_Syntax_isNone(x_12); +if (x_13 == 0) +{ +lean_object* x_14; uint8_t x_15; +x_14 = lean_unsigned_to_nat(1u); +lean_inc(x_12); +x_15 = l_Lean_Syntax_matchesNull(x_12, x_14); +if (x_15 == 0) +{ +lean_object* x_16; lean_object* x_17; +lean_dec(x_12); +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); +lean_dec(x_1); +x_16 = lean_box(1); +x_17 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_17, 0, x_16); +lean_ctor_set(x_17, 1, x_10); return x_17; } else { -lean_object* x_22; lean_object* x_23; lean_object* x_24; -x_22 = lean_ctor_get(x_17, 0); -x_23 = lean_ctor_get(x_17, 1); -lean_inc(x_23); -lean_inc(x_22); -lean_dec(x_17); -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; -} -} -} -else +lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; uint8_t x_22; +x_18 = lean_unsigned_to_nat(0u); +x_19 = l_Lean_Syntax_getArg(x_12, x_18); +lean_dec(x_12); +x_20 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__2___closed__26; +x_21 = l_Lean_Name_str___override(x_6, x_20); +lean_inc(x_19); +x_22 = l_Lean_Syntax_isOfKind(x_19, x_21); +lean_dec(x_21); +if (x_22 == 0) { -uint8_t x_25; -lean_dec(x_14); -lean_dec(x_13); +lean_object* x_23; lean_object* x_24; +lean_dec(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); lean_dec(x_1); -x_25 = !lean_is_exclusive(x_15); -if (x_25 == 0) -{ -return x_15; +x_23 = lean_box(1); +x_24 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_24, 0, x_23); +lean_ctor_set(x_24, 1, x_10); +return x_24; } else { -lean_object* x_26; lean_object* x_27; lean_object* x_28; -x_26 = lean_ctor_get(x_15, 0); -x_27 = lean_ctor_get(x_15, 1); -lean_inc(x_27); -lean_inc(x_26); -lean_dec(x_15); -x_28 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_28, 0, x_26); -lean_ctor_set(x_28, 1, x_27); -return x_28; +lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; +x_25 = lean_unsigned_to_nat(3u); +x_26 = l_Lean_Syntax_getArg(x_19, x_25); +lean_dec(x_19); +x_27 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_27, 0, x_26); +x_28 = lean_box(0); +x_29 = l_Lean_Elab_Command_expandNotation___lambda__1(x_1, x_2, x_3, x_4, x_5, x_8, x_28, x_27, x_9, x_10); +return x_29; } } } +else +{ +lean_object* x_30; lean_object* x_31; lean_object* x_32; +lean_dec(x_12); +lean_dec(x_6); +x_30 = lean_box(0); +x_31 = lean_box(0); +x_32 = l_Lean_Elab_Command_expandNotation___lambda__1(x_1, x_2, x_3, x_4, x_5, x_8, x_31, x_30, x_9, x_10); +return x_32; } -LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandNotation___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_EXPORT lean_object* l_Lean_Elab_Command_expandNotation___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; uint8_t x_12; @@ -7462,7 +7601,8 @@ lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; uint x_17 = lean_unsigned_to_nat(0u); x_18 = l_Lean_Syntax_getArg(x_11, x_17); lean_dec(x_11); -x_19 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__2___closed__26; +x_19 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__2___closed__23; +lean_inc(x_5); x_20 = l_Lean_Name_str___override(x_5, x_19); lean_inc(x_18); x_21 = l_Lean_Syntax_isOfKind(x_18, x_20); @@ -7473,6 +7613,7 @@ lean_object* x_22; lean_object* x_23; lean_dec(x_18); lean_dec(x_8); lean_dec(x_7); +lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); @@ -7492,7 +7633,7 @@ lean_dec(x_18); x_26 = lean_alloc_ctor(1, 1, 0); lean_ctor_set(x_26, 0, x_25); x_27 = lean_box(0); -x_28 = l_Lean_Elab_Command_expandNotation___lambda__1(x_1, x_2, x_3, x_4, x_7, x_27, x_26, x_8, x_9); +x_28 = l_Lean_Elab_Command_expandNotation___lambda__2(x_1, x_2, x_3, x_4, x_7, x_5, x_27, x_26, x_8, x_9); return x_28; } } @@ -7501,31 +7642,31 @@ else { lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_dec(x_11); -lean_dec(x_5); x_29 = lean_box(0); x_30 = lean_box(0); -x_31 = l_Lean_Elab_Command_expandNotation___lambda__1(x_1, x_2, x_3, x_4, x_7, x_30, x_29, x_8, x_9); +x_31 = l_Lean_Elab_Command_expandNotation___lambda__2(x_1, x_2, x_3, x_4, x_7, x_5, x_30, x_29, x_8, x_9); return x_31; } } } -LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandNotation___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_EXPORT lean_object* l_Lean_Elab_Command_expandNotation___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) { _start: { -lean_object* x_9; lean_object* x_10; uint8_t x_11; +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_dec(x_5); -x_9 = lean_unsigned_to_nat(4u); +x_9 = lean_unsigned_to_nat(2u); x_10 = l_Lean_Syntax_getArg(x_1, x_9); -x_11 = l_Lean_Syntax_isNone(x_10); -if (x_11 == 0) -{ -lean_object* x_12; uint8_t x_13; -x_12 = lean_unsigned_to_nat(1u); +x_11 = l_Lean_Elab_Command_removeParentheses___closed__1; +lean_inc(x_2); +x_12 = l_Lean_Name_str___override(x_2, x_11); +x_13 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_isLocalAttrKind___closed__1; +x_14 = l_Lean_Name_str___override(x_12, x_13); lean_inc(x_10); -x_13 = l_Lean_Syntax_matchesNull(x_10, x_12); -if (x_13 == 0) +x_15 = l_Lean_Syntax_isOfKind(x_10, x_14); +lean_dec(x_14); +if (x_15 == 0) { -lean_object* x_14; lean_object* x_15; +lean_object* x_16; lean_object* x_17; lean_dec(x_10); lean_dec(x_7); lean_dec(x_6); @@ -7533,111 +7674,140 @@ lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_14 = lean_box(1); -x_15 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_15, 0, x_14); -lean_ctor_set(x_15, 1, x_8); -return x_15; +x_16 = lean_box(1); +x_17 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_17, 0, x_16); +lean_ctor_set(x_17, 1, x_8); +return x_17; } else { -lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t x_20; -x_16 = lean_unsigned_to_nat(0u); -x_17 = l_Lean_Syntax_getArg(x_10, x_16); +lean_object* x_18; lean_object* x_19; uint8_t x_20; +x_18 = lean_unsigned_to_nat(4u); +x_19 = l_Lean_Syntax_getArg(x_1, x_18); +x_20 = l_Lean_Syntax_isNone(x_19); +if (x_20 == 0) +{ +lean_object* x_21; uint8_t x_22; +x_21 = lean_unsigned_to_nat(1u); +lean_inc(x_19); +x_22 = l_Lean_Syntax_matchesNull(x_19, x_21); +if (x_22 == 0) +{ +lean_object* x_23; lean_object* x_24; +lean_dec(x_19); lean_dec(x_10); -x_18 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_expandNotationAux___lambda__2___closed__23; -lean_inc(x_4); -x_19 = l_Lean_Name_str___override(x_4, x_18); -lean_inc(x_17); -x_20 = l_Lean_Syntax_isOfKind(x_17, x_19); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_23 = lean_box(1); +x_24 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_24, 0, x_23); +lean_ctor_set(x_24, 1, x_8); +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_unsigned_to_nat(0u); +x_26 = l_Lean_Syntax_getArg(x_19, x_25); +lean_dec(x_19); +x_27 = l_Lean_Elab_Command_expandNotationItemIntoSyntaxItem___lambda__1___closed__10; +x_28 = l_Lean_Name_str___override(x_2, x_27); +lean_inc(x_26); +x_29 = l_Lean_Syntax_isOfKind(x_26, x_28); +lean_dec(x_28); +if (x_29 == 0) +{ +lean_object* x_30; lean_object* x_31; +lean_dec(x_26); +lean_dec(x_10); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_1); +x_30 = lean_box(1); +x_31 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_31, 0, x_30); +lean_ctor_set(x_31, 1, x_8); +return x_31; +} +else +{ +lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; +x_32 = l_Lean_Syntax_getArg(x_26, x_21); +lean_dec(x_26); +x_33 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_33, 0, x_32); +x_34 = lean_box(0); +x_35 = l_Lean_Elab_Command_expandNotation___lambda__3(x_1, x_10, x_3, x_6, x_4, x_34, x_33, x_7, x_8); +return x_35; +} +} +} +else +{ +lean_object* x_36; lean_object* x_37; lean_object* x_38; +lean_dec(x_19); +lean_dec(x_2); +x_36 = lean_box(0); +x_37 = lean_box(0); +x_38 = l_Lean_Elab_Command_expandNotation___lambda__3(x_1, x_10, x_3, x_6, x_4, x_37, x_36, x_7, x_8); +return x_38; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandNotation___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) { +_start: +{ +lean_object* x_8; lean_object* x_9; uint8_t x_10; +lean_dec(x_4); +x_8 = lean_unsigned_to_nat(1u); +x_9 = l_Lean_Syntax_getArg(x_1, x_8); +x_10 = l_Lean_Syntax_isNone(x_9); +if (x_10 == 0) +{ +uint8_t x_11; +lean_inc(x_9); +x_11 = l_Lean_Syntax_matchesNull(x_9, x_8); +if (x_11 == 0) +{ +lean_object* x_12; lean_object* x_13; +lean_dec(x_9); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_3); +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_7); +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; uint8_t x_20; +x_14 = lean_unsigned_to_nat(0u); +x_15 = l_Lean_Syntax_getArg(x_9, x_14); +lean_dec(x_9); +x_16 = l_Lean_Elab_Command_removeParentheses___closed__1; +lean_inc(x_2); +x_17 = l_Lean_Name_str___override(x_2, x_16); +x_18 = l_Lean_Elab_Command_mkSimpleDelab___lambda__1___closed__6; +x_19 = l_Lean_Name_str___override(x_17, x_18); +lean_inc(x_15); +x_20 = l_Lean_Syntax_isOfKind(x_15, x_19); lean_dec(x_19); if (x_20 == 0) { lean_object* x_21; lean_object* x_22; -lean_dec(x_17); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_21 = lean_box(1); -x_22 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_22, 0, x_21); -lean_ctor_set(x_22, 1, x_8); -return x_22; -} -else -{ -lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; -x_23 = lean_unsigned_to_nat(3u); -x_24 = l_Lean_Syntax_getArg(x_17, x_23); -lean_dec(x_17); -x_25 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_25, 0, x_24); -x_26 = lean_box(0); -x_27 = l_Lean_Elab_Command_expandNotation___lambda__2(x_1, x_2, x_3, x_6, x_4, x_26, x_25, x_7, x_8); -return x_27; -} -} -} -else -{ -lean_object* x_28; lean_object* x_29; lean_object* x_30; -lean_dec(x_10); -x_28 = lean_box(0); -x_29 = lean_box(0); -x_30 = l_Lean_Elab_Command_expandNotation___lambda__2(x_1, x_2, x_3, x_6, x_4, x_29, x_28, x_7, x_8); -return x_30; -} -} -} -LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandNotation___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) { -_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; uint8_t x_14; -lean_dec(x_4); -x_8 = lean_unsigned_to_nat(1u); -x_9 = l_Lean_Syntax_getArg(x_1, x_8); -x_10 = l_Lean_Elab_Command_removeParentheses___closed__1; -lean_inc(x_2); -x_11 = l_Lean_Name_str___override(x_2, x_10); -x_12 = l___private_Lean_Elab_Notation_0__Lean_Elab_Command_isLocalAttrKind___closed__1; -x_13 = l_Lean_Name_str___override(x_11, x_12); -lean_inc(x_9); -x_14 = l_Lean_Syntax_isOfKind(x_9, x_13); -lean_dec(x_13); -if (x_14 == 0) -{ -lean_object* x_15; lean_object* x_16; -lean_dec(x_9); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_15 = lean_box(1); -x_16 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_16, 0, x_15); -lean_ctor_set(x_16, 1, x_7); -return x_16; -} -else -{ -lean_object* x_17; lean_object* x_18; uint8_t x_19; -x_17 = lean_unsigned_to_nat(3u); -x_18 = l_Lean_Syntax_getArg(x_1, x_17); -x_19 = l_Lean_Syntax_isNone(x_18); -if (x_19 == 0) -{ -uint8_t x_20; -lean_inc(x_18); -x_20 = l_Lean_Syntax_matchesNull(x_18, x_8); -if (x_20 == 0) -{ -lean_object* x_21; lean_object* x_22; -lean_dec(x_18); -lean_dec(x_9); +lean_dec(x_15); lean_dec(x_6); lean_dec(x_5); lean_dec(x_3); @@ -7651,53 +7821,27 @@ return x_22; } else { -lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; uint8_t x_27; -x_23 = lean_unsigned_to_nat(0u); -x_24 = l_Lean_Syntax_getArg(x_18, x_23); -lean_dec(x_18); -x_25 = l_Lean_Elab_Command_expandNotationItemIntoSyntaxItem___lambda__1___closed__10; -x_26 = l_Lean_Name_str___override(x_2, x_25); -lean_inc(x_24); -x_27 = l_Lean_Syntax_isOfKind(x_24, x_26); -lean_dec(x_26); -if (x_27 == 0) +lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; +x_23 = l_Lean_Syntax_getArg(x_15, x_8); +lean_dec(x_15); +x_24 = l_Lean_Syntax_getArgs(x_23); +lean_dec(x_23); +x_25 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_25, 0, x_24); +x_26 = lean_box(0); +x_27 = l_Lean_Elab_Command_expandNotation___lambda__4(x_1, x_2, x_5, x_3, x_26, x_25, x_6, x_7); +return x_27; +} +} +} +else { -lean_object* x_28; lean_object* x_29; -lean_dec(x_24); +lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_dec(x_9); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_3); -lean_dec(x_1); -x_28 = lean_box(1); -x_29 = lean_alloc_ctor(1, 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_object* x_32; lean_object* x_33; -x_30 = l_Lean_Syntax_getArg(x_24, x_8); -lean_dec(x_24); -x_31 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_31, 0, x_30); -x_32 = lean_box(0); -x_33 = l_Lean_Elab_Command_expandNotation___lambda__3(x_1, x_9, x_5, x_3, x_32, x_31, x_6, x_7); -return x_33; -} -} -} -else -{ -lean_object* x_34; lean_object* x_35; lean_object* x_36; -lean_dec(x_18); -lean_dec(x_2); -x_34 = lean_box(0); -x_35 = lean_box(0); -x_36 = l_Lean_Elab_Command_expandNotation___lambda__3(x_1, x_9, x_5, x_3, x_35, x_34, x_6, x_7); -return x_36; -} +x_28 = lean_box(0); +x_29 = lean_box(0); +x_30 = l_Lean_Elab_Command_expandNotation___lambda__4(x_1, x_2, x_5, x_3, x_29, x_28, x_6, x_7); +return x_30; } } } @@ -7807,7 +7951,7 @@ lean_ctor_set(x_20, 0, x_15); x_21 = l_Lean_Elab_Command_expandNotationItemIntoSyntaxItem___closed__4; x_22 = l_Lean_Elab_Command_expandNotationItemIntoSyntaxItem___closed__6; x_23 = lean_box(0); -x_24 = l_Lean_Elab_Command_expandNotation___lambda__4(x_1, x_21, x_22, x_23, x_20, x_2, x_3); +x_24 = l_Lean_Elab_Command_expandNotation___lambda__5(x_1, x_21, x_22, x_23, x_20, x_2, x_3); return x_24; } } @@ -7820,19 +7964,19 @@ x_25 = lean_box(0); x_26 = l_Lean_Elab_Command_expandNotationItemIntoSyntaxItem___closed__4; x_27 = l_Lean_Elab_Command_expandNotationItemIntoSyntaxItem___closed__6; x_28 = lean_box(0); -x_29 = l_Lean_Elab_Command_expandNotation___lambda__4(x_1, x_26, x_27, x_28, x_25, x_2, x_3); +x_29 = l_Lean_Elab_Command_expandNotation___lambda__5(x_1, x_26, x_27, x_28, x_25, x_2, x_3); return x_29; } } } } -LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandNotation___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_EXPORT lean_object* l_Lean_Elab_Command_expandNotation___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) { _start: { -lean_object* x_10; -x_10 = l_Lean_Elab_Command_expandNotation___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); -lean_dec(x_6); -return x_10; +lean_object* x_11; +x_11 = l_Lean_Elab_Command_expandNotation___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +lean_dec(x_7); +return x_11; } } static lean_object* _init_l___regBuiltin_Lean_Elab_Command_expandNotation___closed__1() { @@ -7885,7 +8029,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_expandNotation_declRa _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(142u); +x_1 = lean_unsigned_to_nat(145u); x_2 = lean_unsigned_to_nat(45u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -7897,7 +8041,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_expandNotation_declRa _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(147u); +x_1 = lean_unsigned_to_nat(151u); x_2 = lean_unsigned_to_nat(31u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -7925,7 +8069,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_expandNotation_declRa _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(142u); +x_1 = lean_unsigned_to_nat(145u); x_2 = lean_unsigned_to_nat(49u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -7937,7 +8081,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_expandNotation_declRa _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(142u); +x_1 = lean_unsigned_to_nat(145u); x_2 = lean_unsigned_to_nat(63u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); diff --git a/stage0/stdlib/Lean/Elab/Tactic/Conv/Delta.c b/stage0/stdlib/Lean/Elab/Tactic/Conv/Delta.c index a9bfbbedc7..81c3a50fe8 100644 --- a/stage0/stdlib/Lean/Elab/Tactic/Conv/Delta.c +++ b/stage0/stdlib/Lean/Elab/Tactic/Conv/Delta.c @@ -21,14 +21,14 @@ static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalDelta___closed__1; lean_object* l_Lean_instantiateMVars___at_Lean_Elab_Tactic_getMainTarget___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalDelta_declRange___closed__1; static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalDelta___closed__2; -lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalDelta___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_Tactic_Conv_changeLhs(lean_object*, 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_Lean_Elab_Tactic_withMainContext___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_KeyedDeclsAttribute_addBuiltin___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalDelta___closed__12; -LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_Conv_evalDelta___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_Conv_evalDelta___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalDelta_declRange___closed__4; +lean_object* l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_Elab_Tactic_evalDelta___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalDelta___closed__15; static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalDelta___closed__14; static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalDelta___closed__5; @@ -65,10 +65,11 @@ x_3 = lean_name_eq(x_2, x_1); return x_3; } } -LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_Conv_evalDelta___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_EXPORT lean_object* l_Lean_Elab_Tactic_Conv_evalDelta___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: { -lean_object* x_11; +lean_object* x_12; +lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); @@ -76,16 +77,16 @@ lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); -lean_inc(x_2); -x_11 = l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalDelta___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); -if (lean_obj_tag(x_11) == 0) +x_12 = l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_Elab_Tactic_evalDelta___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +if (lean_obj_tag(x_12) == 0) { -lean_object* x_12; lean_object* x_13; lean_object* x_14; -x_12 = lean_ctor_get(x_11, 0); -lean_inc(x_12); -x_13 = lean_ctor_get(x_11, 1); +lean_object* x_13; lean_object* x_14; lean_object* x_15; +x_13 = lean_ctor_get(x_12, 0); lean_inc(x_13); -lean_dec(x_11); +x_14 = lean_ctor_get(x_12, 1); +lean_inc(x_14); +lean_dec(x_12); +lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); @@ -93,41 +94,41 @@ lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); -lean_inc(x_2); -x_14 = l_Lean_Elab_Tactic_Conv_getLhs(x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_13); -if (lean_obj_tag(x_14) == 0) +x_15 = l_Lean_Elab_Tactic_Conv_getLhs(x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_14); +if (lean_obj_tag(x_15) == 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_14, 0); -lean_inc(x_15); -x_16 = lean_ctor_get(x_14, 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; lean_object* x_22; +x_16 = lean_ctor_get(x_15, 0); lean_inc(x_16); -lean_dec(x_14); -x_17 = l_Lean_instantiateMVars___at_Lean_Elab_Tactic_getMainTarget___spec__1(x_15, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_16); -x_18 = lean_ctor_get(x_17, 0); -lean_inc(x_18); -x_19 = lean_ctor_get(x_17, 1); +x_17 = lean_ctor_get(x_15, 1); +lean_inc(x_17); +lean_dec(x_15); +x_18 = l_Lean_instantiateMVars___at_Lean_Elab_Tactic_getMainTarget___spec__1(x_16, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_17); +x_19 = lean_ctor_get(x_18, 0); lean_inc(x_19); -lean_dec(x_17); -x_20 = lean_alloc_closure((void*)(l_Lean_Elab_Tactic_Conv_evalDelta___lambda__1___boxed), 2, 1); -lean_closure_set(x_20, 0, x_12); +x_20 = lean_ctor_get(x_18, 1); +lean_inc(x_20); +lean_dec(x_18); +x_21 = lean_alloc_closure((void*)(l_Lean_Elab_Tactic_Conv_evalDelta___lambda__1___boxed), 2, 1); +lean_closure_set(x_21, 0, x_13); +lean_inc(x_10); lean_inc(x_9); -lean_inc(x_8); -x_21 = l_Lean_Meta_deltaExpand(x_18, x_20, x_8, x_9, x_19); -if (lean_obj_tag(x_21) == 0) +x_22 = l_Lean_Meta_deltaExpand(x_19, x_21, x_9, x_10, x_20); +if (lean_obj_tag(x_22) == 0) { -lean_object* x_22; lean_object* x_23; lean_object* x_24; -x_22 = lean_ctor_get(x_21, 0); -lean_inc(x_22); -x_23 = lean_ctor_get(x_21, 1); +lean_object* x_23; lean_object* x_24; lean_object* x_25; +x_23 = lean_ctor_get(x_22, 0); lean_inc(x_23); -lean_dec(x_21); -x_24 = l_Lean_Elab_Tactic_Conv_changeLhs(x_22, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_23); -return x_24; +x_24 = lean_ctor_get(x_22, 1); +lean_inc(x_24); +lean_dec(x_22); +x_25 = l_Lean_Elab_Tactic_Conv_changeLhs(x_23, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_24); +return x_25; } else { -uint8_t x_25; +uint8_t x_26; +lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); @@ -135,31 +136,31 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -lean_dec(x_2); -x_25 = !lean_is_exclusive(x_21); -if (x_25 == 0) +x_26 = !lean_is_exclusive(x_22); +if (x_26 == 0) { -return x_21; +return x_22; } else { -lean_object* x_26; lean_object* x_27; lean_object* x_28; -x_26 = lean_ctor_get(x_21, 0); -x_27 = lean_ctor_get(x_21, 1); +lean_object* x_27; lean_object* x_28; lean_object* x_29; +x_27 = lean_ctor_get(x_22, 0); +x_28 = lean_ctor_get(x_22, 1); +lean_inc(x_28); lean_inc(x_27); -lean_inc(x_26); -lean_dec(x_21); -x_28 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_28, 0, x_26); -lean_ctor_set(x_28, 1, x_27); -return x_28; +lean_dec(x_22); +x_29 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_29, 0, x_27); +lean_ctor_set(x_29, 1, x_28); +return x_29; } } } else { -uint8_t x_29; -lean_dec(x_12); +uint8_t x_30; +lean_dec(x_13); +lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); @@ -167,30 +168,30 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -lean_dec(x_2); -x_29 = !lean_is_exclusive(x_14); -if (x_29 == 0) +x_30 = !lean_is_exclusive(x_15); +if (x_30 == 0) { -return x_14; +return x_15; } else { -lean_object* x_30; lean_object* x_31; lean_object* x_32; -x_30 = lean_ctor_get(x_14, 0); -x_31 = lean_ctor_get(x_14, 1); +lean_object* x_31; lean_object* x_32; lean_object* x_33; +x_31 = lean_ctor_get(x_15, 0); +x_32 = lean_ctor_get(x_15, 1); +lean_inc(x_32); lean_inc(x_31); -lean_inc(x_30); -lean_dec(x_14); -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_dec(x_15); +x_33 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_33, 0, x_31); +lean_ctor_set(x_33, 1, x_32); +return x_33; } } } else { -uint8_t x_33; +uint8_t x_34; +lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); @@ -198,24 +199,23 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -lean_dec(x_2); -x_33 = !lean_is_exclusive(x_11); -if (x_33 == 0) +x_34 = !lean_is_exclusive(x_12); +if (x_34 == 0) { -return x_11; +return x_12; } else { -lean_object* x_34; lean_object* x_35; lean_object* x_36; -x_34 = lean_ctor_get(x_11, 0); -x_35 = lean_ctor_get(x_11, 1); +lean_object* x_35; lean_object* x_36; lean_object* x_37; +x_35 = lean_ctor_get(x_12, 0); +x_36 = lean_ctor_get(x_12, 1); +lean_inc(x_36); lean_inc(x_35); -lean_inc(x_34); -lean_dec(x_11); -x_36 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_36, 0, x_34); -lean_ctor_set(x_36, 1, x_35); -return x_36; +lean_dec(x_12); +x_37 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_37, 0, x_35); +lean_ctor_set(x_37, 1, x_36); +return x_37; } } } @@ -223,13 +223,15 @@ return x_36; LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_Conv_evalDelta(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; x_11 = lean_unsigned_to_nat(1u); x_12 = l_Lean_Syntax_getArg(x_1, x_11); -x_13 = lean_alloc_closure((void*)(l_Lean_Elab_Tactic_Conv_evalDelta___lambda__2), 10, 1); -lean_closure_set(x_13, 0, x_12); -x_14 = l_Lean_Elab_Tactic_withMainContext___rarg(x_13, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); -return x_14; +x_13 = lean_box(0); +x_14 = lean_alloc_closure((void*)(l_Lean_Elab_Tactic_Conv_evalDelta___lambda__2), 11, 2); +lean_closure_set(x_14, 0, x_12); +lean_closure_set(x_14, 1, x_13); +x_15 = l_Lean_Elab_Tactic_withMainContext___rarg(x_14, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +return x_15; } } LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_Conv_evalDelta___lambda__1___boxed(lean_object* x_1, lean_object* x_2) { diff --git a/stage0/stdlib/Lean/Elab/Tactic/Conv/Unfold.c b/stage0/stdlib/Lean/Elab/Tactic/Conv/Unfold.c index b5fc33bf8b..b7abe9e707 100644 --- a/stage0/stdlib/Lean/Elab/Tactic/Conv/Unfold.c +++ b/stage0/stdlib/Lean/Elab/Tactic/Conv/Unfold.c @@ -16,9 +16,9 @@ extern "C" { static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalUnfold___closed__16; lean_object* l_Lean_Name_str___override(lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalUnfold___closed__10; -lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_elabSimpArgs___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_Elab_Tactic_withMainContext___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalUnfold_declRange___closed__7; +lean_object* l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_Elab_Tactic_elabSimpArgs___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* l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalUnfold_declRange(lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalUnfold___closed__14; @@ -41,7 +41,7 @@ static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalUnfold_declRange___ static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalUnfold___closed__6; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalUnfold(lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalUnfold___closed__9; -LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_Conv_evalUnfold___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_Conv_evalUnfold___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalUnfold___closed__12; static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalUnfold___closed__11; static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalUnfold_declRange___closed__2; @@ -53,10 +53,11 @@ static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalUnfold___closed__18 static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalUnfold___closed__8; static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalUnfold___closed__17; lean_object* l_Lean_Elab_Tactic_Conv_applySimpResult(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_Conv_evalUnfold___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_EXPORT lean_object* l_Lean_Elab_Tactic_Conv_evalUnfold___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) { _start: { -lean_object* x_11; +lean_object* x_12; +lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); @@ -64,16 +65,16 @@ lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); -lean_inc(x_2); -x_11 = l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_elabSimpArgs___spec__3(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); -if (lean_obj_tag(x_11) == 0) +x_12 = l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_Elab_Tactic_elabSimpArgs___spec__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +if (lean_obj_tag(x_12) == 0) { -lean_object* x_12; lean_object* x_13; lean_object* x_14; -x_12 = lean_ctor_get(x_11, 0); -lean_inc(x_12); -x_13 = lean_ctor_get(x_11, 1); +lean_object* x_13; lean_object* x_14; lean_object* x_15; +x_13 = lean_ctor_get(x_12, 0); lean_inc(x_13); -lean_dec(x_11); +x_14 = lean_ctor_get(x_12, 1); +lean_inc(x_14); +lean_dec(x_12); +lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); @@ -81,35 +82,35 @@ lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); -lean_inc(x_2); -x_14 = l_Lean_Elab_Tactic_Conv_getLhs(x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_13); -if (lean_obj_tag(x_14) == 0) +x_15 = l_Lean_Elab_Tactic_Conv_getLhs(x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_14); +if (lean_obj_tag(x_15) == 0) { -lean_object* x_15; lean_object* x_16; lean_object* x_17; -x_15 = lean_ctor_get(x_14, 0); -lean_inc(x_15); -x_16 = lean_ctor_get(x_14, 1); +lean_object* x_16; lean_object* x_17; lean_object* x_18; +x_16 = lean_ctor_get(x_15, 0); lean_inc(x_16); -lean_dec(x_14); +x_17 = lean_ctor_get(x_15, 1); +lean_inc(x_17); +lean_dec(x_15); +lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); -lean_inc(x_6); -x_17 = l_Lean_Meta_unfold(x_15, x_12, x_6, x_7, x_8, x_9, x_16); -if (lean_obj_tag(x_17) == 0) +x_18 = l_Lean_Meta_unfold(x_16, x_13, x_7, x_8, x_9, x_10, x_17); +if (lean_obj_tag(x_18) == 0) { -lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_18 = lean_ctor_get(x_17, 0); -lean_inc(x_18); -x_19 = lean_ctor_get(x_17, 1); +lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_19 = lean_ctor_get(x_18, 0); lean_inc(x_19); -lean_dec(x_17); -x_20 = l_Lean_Elab_Tactic_Conv_applySimpResult(x_18, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_19); -return x_20; +x_20 = lean_ctor_get(x_18, 1); +lean_inc(x_20); +lean_dec(x_18); +x_21 = l_Lean_Elab_Tactic_Conv_applySimpResult(x_19, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_20); +return x_21; } else { -uint8_t x_21; +uint8_t x_22; +lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); @@ -117,31 +118,31 @@ 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) +x_22 = !lean_is_exclusive(x_18); +if (x_22 == 0) { -return x_17; +return x_18; } else { -lean_object* x_22; lean_object* x_23; lean_object* x_24; -x_22 = lean_ctor_get(x_17, 0); -x_23 = lean_ctor_get(x_17, 1); +lean_object* x_23; lean_object* x_24; lean_object* x_25; +x_23 = lean_ctor_get(x_18, 0); +x_24 = lean_ctor_get(x_18, 1); +lean_inc(x_24); lean_inc(x_23); -lean_inc(x_22); -lean_dec(x_17); -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_dec(x_18); +x_25 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_25, 0, x_23); +lean_ctor_set(x_25, 1, x_24); +return x_25; } } } else { -uint8_t x_25; -lean_dec(x_12); +uint8_t x_26; +lean_dec(x_13); +lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); @@ -149,30 +150,30 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -lean_dec(x_2); -x_25 = !lean_is_exclusive(x_14); -if (x_25 == 0) +x_26 = !lean_is_exclusive(x_15); +if (x_26 == 0) { -return x_14; +return x_15; } else { -lean_object* x_26; lean_object* x_27; lean_object* x_28; -x_26 = lean_ctor_get(x_14, 0); -x_27 = lean_ctor_get(x_14, 1); +lean_object* x_27; lean_object* x_28; lean_object* x_29; +x_27 = lean_ctor_get(x_15, 0); +x_28 = lean_ctor_get(x_15, 1); +lean_inc(x_28); lean_inc(x_27); -lean_inc(x_26); -lean_dec(x_14); -x_28 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_28, 0, x_26); -lean_ctor_set(x_28, 1, x_27); -return x_28; +lean_dec(x_15); +x_29 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_29, 0, x_27); +lean_ctor_set(x_29, 1, x_28); +return x_29; } } } else { -uint8_t x_29; +uint8_t x_30; +lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); @@ -180,24 +181,23 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -lean_dec(x_2); -x_29 = !lean_is_exclusive(x_11); -if (x_29 == 0) +x_30 = !lean_is_exclusive(x_12); +if (x_30 == 0) { -return x_11; +return x_12; } else { -lean_object* x_30; lean_object* x_31; lean_object* x_32; -x_30 = lean_ctor_get(x_11, 0); -x_31 = lean_ctor_get(x_11, 1); +lean_object* x_31; lean_object* x_32; lean_object* x_33; +x_31 = lean_ctor_get(x_12, 0); +x_32 = lean_ctor_get(x_12, 1); +lean_inc(x_32); lean_inc(x_31); -lean_inc(x_30); -lean_dec(x_11); -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_dec(x_12); +x_33 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_33, 0, x_31); +lean_ctor_set(x_33, 1, x_32); +return x_33; } } } @@ -205,13 +205,15 @@ return x_32; LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_Conv_evalUnfold(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; x_11 = lean_unsigned_to_nat(1u); x_12 = l_Lean_Syntax_getArg(x_1, x_11); -x_13 = lean_alloc_closure((void*)(l_Lean_Elab_Tactic_Conv_evalUnfold___lambda__1), 10, 1); -lean_closure_set(x_13, 0, x_12); -x_14 = l_Lean_Elab_Tactic_withMainContext___rarg(x_13, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); -return x_14; +x_13 = lean_box(0); +x_14 = lean_alloc_closure((void*)(l_Lean_Elab_Tactic_Conv_evalUnfold___lambda__1), 11, 2); +lean_closure_set(x_14, 0, x_12); +lean_closure_set(x_14, 1, x_13); +x_15 = l_Lean_Elab_Tactic_withMainContext___rarg(x_14, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +return x_15; } } LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_Conv_evalUnfold___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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) { diff --git a/stage0/stdlib/Lean/Elab/Tactic/Delta.c b/stage0/stdlib/Lean/Elab/Tactic/Delta.c index 32f42494d0..ee6db4069f 100644 --- a/stage0/stdlib/Lean/Elab/Tactic/Delta.c +++ b/stage0/stdlib/Lean/Elab/Tactic/Delta.c @@ -14,110 +14,136 @@ extern "C" { #endif LEAN_EXPORT uint8_t l_Lean_Elab_Tactic_deltaLocalDecl___lambda__1(lean_object*, lean_object*); -static lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalDelta___spec__2___closed__1; -LEAN_EXPORT lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalDelta___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_getConstInfo___at_Lean_Elab_Tactic_evalDelta___spec__13(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_deltaTarget(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalDelta___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_stringToMessageData(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalDelta(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* lean_mk_empty_array_with_capacity(lean_object*); lean_object* l_Lean_Name_str___override(lean_object*, lean_object*); lean_object* l_Lean_LocalDecl_userName(lean_object*); lean_object* l_List_filterTRAux___at_Lean_resolveGlobalConstCore___spec__1(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalDelta___spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_getConstInfo___at_Lean_Elab_Tactic_evalDelta___spec__13___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_mapTRAux___at_Lean_resolveGlobalConstCore___spec__2(lean_object*, lean_object*); extern lean_object* l_Std_Format_defWidth; -static lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalDelta___spec__7___closed__2; lean_object* l_List_filterMap___at_Lean_resolveGlobalConst___spec__1(lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_evalDelta___spec__10(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalDelta___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_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_evalDelta___spec__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalDelta___spec__2___closed__3; +lean_object* lean_environment_find(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_evalDelta___spec__14___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalDelta___closed__9; static lean_object* l_Lean_Elab_Tactic_deltaLocalDecl___closed__4; -LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalDelta___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_st_ref_get(lean_object*, lean_object*); uint8_t lean_name_eq(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_Elab_Tactic_evalDelta___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*); +static lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalDelta___spec__8___closed__2; +static lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalDelta___spec__8___closed__1; lean_object* lean_string_append(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_deltaLocalDecl___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_EXPORT lean_object* l_Lean_Elab_Tactic_evalDelta___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_Elab_Tactic_evalDelta___spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, 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*); +LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_Lean_Elab_Tactic_evalDelta___spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_deltaLocalDecl___closed__2; +LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalDelta___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_deltaLocalDecl___closed__5; static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalDelta___closed__5; static lean_object* l_Lean_Elab_Tactic_deltaLocalDecl___closed__3; -LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Tactic_evalDelta___spec__3(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_LocalContext_empty; static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalDelta___closed__13; lean_object* l_Lean_MVarId_replaceTargetDefEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_mapTRAux___at_Lean_resolveGlobalConstNoOverload___spec__1(lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalDelta___closed__14; static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalDelta_declRange___closed__2; +lean_object* l_Lean_ConstantInfo_levelParams(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_Elab_Tactic_evalDelta___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_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_evalDelta___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalDelta___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalDelta_declRange___closed__1; +lean_object* lean_st_ref_take(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Tactic_evalDelta(lean_object*); -static lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalDelta___spec__2___closed__3; static lean_object* l_Lean_Elab_Tactic_deltaLocalDecl___closed__7; LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_deltaLocalDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_Lean_Elab_Tactic_evalDelta___spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_deltaTarget___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_Elab_Tactic_expandOptLocation(lean_object*); -static lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalDelta___spec__2___closed__2; +static lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Tactic_evalDelta___spec__15___closed__3; +static lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalDelta___spec__2___closed__2; lean_object* l_Lean_replaceRef(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Tactic_evalDelta___spec__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* l_Lean_Elab_Tactic_getMainTarget(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalDelta___closed__6; +LEAN_EXPORT lean_object* l_Lean_mkConstWithLevelParams___at_Lean_Elab_Tactic_evalDelta___spec__12(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalDelta_declRange___closed__4; static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalDelta___closed__10; static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalDelta___closed__3; lean_object* lean_format_pretty(lean_object*, lean_object*); +static lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalDelta___spec__3___closed__1; lean_object* l_Lean_addBuiltinDeclarationRanges(lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalDelta___spec__3___closed__2; 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*); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_deltaLocalDecl___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_Lean_MVarId_replaceLocalDeclDefEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_addConstInfo___at_Lean_Elab_Tactic_evalDelta___spec__11___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_ResolveName_resolveGlobalName(lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalDelta___spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_evalDelta___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalDelta___spec__3___closed__3; extern lean_object* l_Lean_Elab_Tactic_tacticElabAttribute; -static lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalDelta___spec__7___closed__1; +LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Tactic_evalDelta___spec__15___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_deltaLocalDecl___closed__8; +static lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Tactic_evalDelta___spec__15___closed__2; lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_evalTactic___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalDelta_declRange___closed__6; static lean_object* l_Lean_Elab_Tactic_deltaLocalDecl___closed__6; -LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_Elab_Tactic_evalDelta___spec__5___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_LocalDecl_type(lean_object*); +static lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Tactic_evalDelta___spec__15___closed__1; static lean_object* l_Lean_Elab_Tactic_deltaLocalDecl___closed__1; lean_object* l_Lean_Meta_throwTacticEx___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_deltaLocalDecl___lambda__1___boxed(lean_object*, lean_object*); -static lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalDelta___spec__1___closed__3; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Tactic_evalDelta_declRange(lean_object*); -LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_evalDelta___spec__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_evalDelta___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_Std_PersistentArray_push___rarg(lean_object*, lean_object*); lean_object* l_Lean_Expr_const___override(lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalDelta_declRange___closed__5; -LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_Lean_Elab_Tactic_evalDelta___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_evalDelta___spec__10___boxed(lean_object*, 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*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalDelta___closed__7; -LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_Elab_Tactic_evalDelta___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalDelta___spec__1___closed__1; +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_evalDelta___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Tactic_evalDelta___spec__15(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_evalDelta___spec__14(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalDelta___spec__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_List_mapTRAux___at_Lean_mkConstWithLevelParams___spec__1(lean_object*, lean_object*); +lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoTree___at_Lean_Elab_Tactic_evalDelta___spec__16(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Tactic_evalDelta_docString(lean_object*); lean_object* l_Lean_FVarId_getDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_mkConstWithLevelParams___at_Lean_Elab_Tactic_evalDelta___spec__12___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalDelta___closed__11; lean_object* l_Lean_Meta_deltaExpand(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalDelta___spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_Elab_Tactic_evalDelta___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* l_Lean_Elab_Tactic_withLocation(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalDelta_docString___closed__1; -static lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalDelta___spec__1___closed__2; static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalDelta___closed__4; -LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Tactic_evalDelta___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_Lean_Elab_Tactic_replaceMainGoal(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_deltaTarget___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*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalDelta_declRange___closed__7; lean_object* l_Lean_addBuiltinDocString(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Tactic_evalDelta___spec__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_getArg(lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalDelta_declRange___closed__3; -LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_Lean_Elab_Tactic_evalDelta___spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalDelta___spec__2___closed__1; +LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_Elab_Tactic_evalDelta___spec__6___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*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalDelta___closed__12; uint8_t l_List_isEmpty___rarg(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoTree___at_Lean_Elab_Tactic_evalDelta___spec__16___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_toString___at_Lean_resolveGlobalConstNoOverloadCore___spec__2(lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalDelta___closed__8; +LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_Elab_Tactic_evalDelta___spec__6___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_Syntax_formatStxAux(lean_object*, uint8_t, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalDelta___closed__2; static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalDelta___closed__1; -LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_Elab_Tactic_evalDelta___spec__5___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_EXPORT lean_object* l_Lean_Elab_addConstInfo___at_Lean_Elab_Tactic_evalDelta___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_EXPORT uint8_t l_Lean_Elab_Tactic_deltaLocalDecl___lambda__1(lean_object* x_1, lean_object* x_2) { _start: { @@ -806,7 +832,7 @@ lean_dec(x_3); return x_13; } } -LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_evalDelta___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) { +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_evalDelta___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) { _start: { lean_object* x_11; lean_object* x_12; uint8_t x_13; @@ -844,7 +870,7 @@ return x_19; } } } -LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Tactic_evalDelta___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_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Tactic_evalDelta___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, lean_object* x_11) { _start: { uint8_t x_12; @@ -857,7 +883,7 @@ x_14 = l_Lean_replaceRef(x_1, x_13); lean_dec(x_13); lean_dec(x_1); lean_ctor_set(x_9, 5, x_14); -x_15 = l_Lean_throwError___at_Lean_Elab_Tactic_evalDelta___spec__4(x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +x_15 = l_Lean_throwError___at_Lean_Elab_Tactic_evalDelta___spec__5(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); @@ -909,7 +935,7 @@ lean_ctor_set(x_28, 7, x_23); lean_ctor_set(x_28, 8, x_24); lean_ctor_set(x_28, 9, x_25); lean_ctor_set(x_28, 10, x_26); -x_29 = l_Lean_throwError___at_Lean_Elab_Tactic_evalDelta___spec__4(x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_28, x_10, x_11); +x_29 = l_Lean_throwError___at_Lean_Elab_Tactic_evalDelta___spec__5(x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_28, x_10, x_11); lean_dec(x_10); lean_dec(x_28); lean_dec(x_8); @@ -922,7 +948,7 @@ return x_29; } } } -LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_Lean_Elab_Tactic_evalDelta___spec__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, lean_object* x_10) { +LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_Lean_Elab_Tactic_evalDelta___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* x_10) { _start: { lean_object* x_11; uint8_t x_12; @@ -968,7 +994,7 @@ return x_24; } } } -static lean_object* _init_l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalDelta___spec__7___closed__1() { +static lean_object* _init_l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalDelta___spec__8___closed__1() { _start: { lean_object* x_1; @@ -976,16 +1002,16 @@ x_1 = lean_mk_string_from_bytes("unknown constant '", 18); return x_1; } } -static lean_object* _init_l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalDelta___spec__7___closed__2() { +static lean_object* _init_l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalDelta___spec__8___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalDelta___spec__7___closed__1; +x_1 = l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalDelta___spec__8___closed__1; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalDelta___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* x_10) { +LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalDelta___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* 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; @@ -993,7 +1019,7 @@ x_11 = lean_box(0); x_12 = l_Lean_Expr_const___override(x_1, x_11); x_13 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_13, 0, x_12); -x_14 = l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalDelta___spec__7___closed__2; +x_14 = l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalDelta___spec__8___closed__2; x_15 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_15, 0, x_14); lean_ctor_set(x_15, 1, x_13); @@ -1005,7 +1031,7 @@ x_18 = l_Lean_throwError___at_Lean_Elab_Tactic_evalTactic___spec__2(x_17, x_2, x return x_18; } } -LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_Elab_Tactic_evalDelta___spec__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* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_Elab_Tactic_evalDelta___spec__6___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { _start: { lean_object* x_13; lean_object* x_14; @@ -1016,13 +1042,13 @@ lean_ctor_set(x_14, 1, x_12); return x_14; } } -LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_Elab_Tactic_evalDelta___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_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_Elab_Tactic_evalDelta___spec__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, 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; uint8_t x_16; lean_inc(x_8); lean_inc(x_1); -x_11 = l_Lean_resolveGlobalName___at_Lean_Elab_Tactic_evalDelta___spec__6(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_11 = l_Lean_resolveGlobalName___at_Lean_Elab_Tactic_evalDelta___spec__7(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); x_12 = lean_ctor_get(x_11, 0); lean_inc(x_12); x_13 = lean_ctor_get(x_11, 1); @@ -1036,7 +1062,7 @@ if (x_16 == 0) lean_object* x_17; lean_object* x_18; lean_dec(x_1); x_17 = lean_box(0); -x_18 = l_Lean_resolveGlobalConstCore___at_Lean_Elab_Tactic_evalDelta___spec__5___lambda__1(x_15, x_14, x_17, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_13); +x_18 = l_Lean_resolveGlobalConstCore___at_Lean_Elab_Tactic_evalDelta___spec__6___lambda__1(x_15, x_14, x_17, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_13); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); @@ -1051,7 +1077,7 @@ else { lean_object* x_19; uint8_t x_20; lean_dec(x_15); -x_19 = l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalDelta___spec__7(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_13); +x_19 = l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalDelta___spec__8(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_13); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); @@ -1081,7 +1107,7 @@ return x_23; } } } -static lean_object* _init_l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalDelta___spec__2___closed__1() { +static lean_object* _init_l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalDelta___spec__3___closed__1() { _start: { lean_object* x_1; @@ -1089,27 +1115,27 @@ x_1 = lean_mk_string_from_bytes("expected identifier", 19); return x_1; } } -static lean_object* _init_l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalDelta___spec__2___closed__2() { +static lean_object* _init_l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalDelta___spec__3___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalDelta___spec__2___closed__1; +x_1 = l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalDelta___spec__3___closed__1; 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_resolveGlobalConst___at_Lean_Elab_Tactic_evalDelta___spec__2___closed__3() { +static lean_object* _init_l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalDelta___spec__3___closed__3() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalDelta___spec__2___closed__2; +x_1 = l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalDelta___spec__3___closed__2; x_2 = lean_alloc_ctor(0, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -LEAN_EXPORT lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalDelta___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_EXPORT lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalDelta___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_1) == 3) @@ -1152,7 +1178,7 @@ x_18 = l_Lean_replaceRef(x_1, x_17); lean_dec(x_17); lean_dec(x_1); lean_ctor_set(x_8, 5, x_18); -x_19 = l_Lean_resolveGlobalConstCore___at_Lean_Elab_Tactic_evalDelta___spec__5(x_11, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_19 = l_Lean_resolveGlobalConstCore___at_Lean_Elab_Tactic_evalDelta___spec__6(x_11, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); return x_19; } else @@ -1196,7 +1222,7 @@ lean_ctor_set(x_32, 7, x_27); lean_ctor_set(x_32, 8, x_28); lean_ctor_set(x_32, 9, x_29); lean_ctor_set(x_32, 10, x_30); -x_33 = l_Lean_resolveGlobalConstCore___at_Lean_Elab_Tactic_evalDelta___spec__5(x_11, x_2, x_3, x_4, x_5, x_6, x_7, x_32, x_9, x_10); +x_33 = l_Lean_resolveGlobalConstCore___at_Lean_Elab_Tactic_evalDelta___spec__6(x_11, x_2, x_3, x_4, x_5, x_6, x_7, x_32, x_9, x_10); return x_33; } } @@ -1204,13 +1230,13 @@ return x_33; else { lean_object* x_34; lean_object* x_35; -x_34 = l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalDelta___spec__2___closed__3; -x_35 = l_Lean_throwErrorAt___at_Lean_Elab_Tactic_evalDelta___spec__3(x_1, x_34, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_34 = l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalDelta___spec__3___closed__3; +x_35 = l_Lean_throwErrorAt___at_Lean_Elab_Tactic_evalDelta___spec__4(x_1, x_34, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); return x_35; } } } -LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_evalDelta___spec__9(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_evalDelta___spec__10(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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; uint8_t x_13; @@ -1248,7 +1274,7 @@ return x_19; } } } -LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Tactic_evalDelta___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* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Tactic_evalDelta___spec__9(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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; @@ -1261,7 +1287,7 @@ x_14 = l_Lean_replaceRef(x_1, x_13); lean_dec(x_13); lean_dec(x_1); lean_ctor_set(x_9, 5, x_14); -x_15 = l_Lean_throwError___at_Lean_Elab_Tactic_evalDelta___spec__9(x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +x_15 = l_Lean_throwError___at_Lean_Elab_Tactic_evalDelta___spec__10(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); @@ -1313,7 +1339,7 @@ lean_ctor_set(x_28, 7, x_23); lean_ctor_set(x_28, 8, x_24); lean_ctor_set(x_28, 9, x_25); lean_ctor_set(x_28, 10, x_26); -x_29 = l_Lean_throwError___at_Lean_Elab_Tactic_evalDelta___spec__9(x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_28, x_10, x_11); +x_29 = l_Lean_throwError___at_Lean_Elab_Tactic_evalDelta___spec__10(x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_28, x_10, x_11); lean_dec(x_10); lean_dec(x_28); lean_dec(x_8); @@ -1326,7 +1352,7 @@ return x_29; } } } -static lean_object* _init_l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalDelta___spec__1___closed__1() { +static lean_object* _init_l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalDelta___spec__2___closed__1() { _start: { lean_object* x_1; @@ -1334,7 +1360,7 @@ x_1 = lean_mk_string_from_bytes("ambiguous identifier '", 22); return x_1; } } -static lean_object* _init_l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalDelta___spec__1___closed__2() { +static lean_object* _init_l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalDelta___spec__2___closed__2() { _start: { lean_object* x_1; @@ -1342,7 +1368,7 @@ x_1 = lean_mk_string_from_bytes("', possible interpretations: ", 29); return x_1; } } -static lean_object* _init_l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalDelta___spec__1___closed__3() { +static lean_object* _init_l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalDelta___spec__2___closed__3() { _start: { lean_object* x_1; @@ -1350,7 +1376,7 @@ x_1 = lean_mk_string_from_bytes("", 0); return x_1; } } -LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalDelta___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_EXPORT lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalDelta___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) { _start: { lean_object* x_11; @@ -1363,7 +1389,7 @@ lean_inc(x_4); lean_inc(x_3); lean_inc(x_2); lean_inc(x_1); -x_11 = l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalDelta___spec__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_11 = l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalDelta___spec__3(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); if (lean_obj_tag(x_11) == 0) { lean_object* x_12; @@ -1382,23 +1408,23 @@ lean_inc(x_1); x_17 = l_Lean_Syntax_formatStxAux(x_14, x_15, x_16, x_1); x_18 = l_Std_Format_defWidth; x_19 = lean_format_pretty(x_17, x_18); -x_20 = l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalDelta___spec__1___closed__1; +x_20 = l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalDelta___spec__2___closed__1; x_21 = lean_string_append(x_20, x_19); lean_dec(x_19); -x_22 = l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalDelta___spec__1___closed__2; +x_22 = l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalDelta___spec__2___closed__2; x_23 = lean_string_append(x_21, x_22); x_24 = lean_box(0); x_25 = l_List_mapTRAux___at_Lean_resolveGlobalConstNoOverload___spec__1(x_12, x_24); x_26 = l_List_toString___at_Lean_resolveGlobalConstNoOverloadCore___spec__2(x_25); x_27 = lean_string_append(x_23, x_26); lean_dec(x_26); -x_28 = l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalDelta___spec__1___closed__3; +x_28 = l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalDelta___spec__2___closed__3; x_29 = lean_string_append(x_27, x_28); x_30 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_30, 0, x_29); x_31 = lean_alloc_ctor(0, 1, 0); lean_ctor_set(x_31, 0, x_30); -x_32 = l_Lean_throwErrorAt___at_Lean_Elab_Tactic_evalDelta___spec__8(x_1, x_31, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_13); +x_32 = l_Lean_throwErrorAt___at_Lean_Elab_Tactic_evalDelta___spec__9(x_1, x_31, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_13); return x_32; } else @@ -1459,23 +1485,23 @@ lean_inc(x_1); x_44 = l_Lean_Syntax_formatStxAux(x_41, x_42, x_43, x_1); x_45 = l_Std_Format_defWidth; x_46 = lean_format_pretty(x_44, x_45); -x_47 = l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalDelta___spec__1___closed__1; +x_47 = l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalDelta___spec__2___closed__1; x_48 = lean_string_append(x_47, x_46); lean_dec(x_46); -x_49 = l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalDelta___spec__1___closed__2; +x_49 = l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalDelta___spec__2___closed__2; x_50 = lean_string_append(x_48, x_49); x_51 = lean_box(0); x_52 = l_List_mapTRAux___at_Lean_resolveGlobalConstNoOverload___spec__1(x_12, x_51); x_53 = l_List_toString___at_Lean_resolveGlobalConstNoOverloadCore___spec__2(x_52); x_54 = lean_string_append(x_50, x_53); lean_dec(x_53); -x_55 = l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalDelta___spec__1___closed__3; +x_55 = l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalDelta___spec__2___closed__3; x_56 = lean_string_append(x_54, x_55); x_57 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_57, 0, x_56); x_58 = lean_alloc_ctor(0, 1, 0); lean_ctor_set(x_58, 0, x_57); -x_59 = l_Lean_throwErrorAt___at_Lean_Elab_Tactic_evalDelta___spec__8(x_1, x_58, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_40); +x_59 = l_Lean_throwErrorAt___at_Lean_Elab_Tactic_evalDelta___spec__9(x_1, x_58, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_40); return x_59; } } @@ -1513,6 +1539,722 @@ return x_63; } } } +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_evalDelta___spec__14(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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; uint8_t x_13; +x_11 = lean_ctor_get(x_8, 5); +x_12 = l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(x_1, x_6, x_7, x_8, x_9, x_10); +x_13 = !lean_is_exclusive(x_12); +if (x_13 == 0) +{ +lean_object* x_14; lean_object* x_15; +x_14 = lean_ctor_get(x_12, 0); +lean_inc(x_11); +x_15 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_15, 0, x_11); +lean_ctor_set(x_15, 1, x_14); +lean_ctor_set_tag(x_12, 1); +lean_ctor_set(x_12, 0, x_15); +return x_12; +} +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_inc(x_16); +lean_dec(x_12); +lean_inc(x_11); +x_18 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_18, 0, x_11); +lean_ctor_set(x_18, 1, x_16); +x_19 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_19, 0, x_18); +lean_ctor_set(x_19, 1, x_17); +return x_19; +} +} +} +LEAN_EXPORT lean_object* l_Lean_getConstInfo___at_Lean_Elab_Tactic_evalDelta___spec__13(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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; +x_11 = lean_st_ref_get(x_9, x_10); +x_12 = !lean_is_exclusive(x_11); +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_11, 0); +x_14 = lean_ctor_get(x_11, 1); +x_15 = lean_ctor_get(x_13, 0); +lean_inc(x_15); +lean_dec(x_13); +lean_inc(x_1); +x_16 = lean_environment_find(x_15, x_1); +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; lean_object* x_24; +lean_free_object(x_11); +x_17 = lean_box(0); +x_18 = l_Lean_Expr_const___override(x_1, x_17); +x_19 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_19, 0, x_18); +x_20 = l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalDelta___spec__8___closed__2; +x_21 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_21, 0, x_20); +lean_ctor_set(x_21, 1, x_19); +x_22 = l_Lean_Elab_Tactic_deltaLocalDecl___closed__8; +x_23 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_23, 0, x_21); +lean_ctor_set(x_23, 1, x_22); +x_24 = l_Lean_throwError___at_Lean_Elab_Tactic_evalDelta___spec__14(x_23, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_14); +return x_24; +} +else +{ +lean_object* x_25; +lean_dec(x_1); +x_25 = lean_ctor_get(x_16, 0); +lean_inc(x_25); +lean_dec(x_16); +lean_ctor_set(x_11, 0, x_25); +return x_11; +} +} +else +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; +x_26 = lean_ctor_get(x_11, 0); +x_27 = lean_ctor_get(x_11, 1); +lean_inc(x_27); +lean_inc(x_26); +lean_dec(x_11); +x_28 = lean_ctor_get(x_26, 0); +lean_inc(x_28); +lean_dec(x_26); +lean_inc(x_1); +x_29 = lean_environment_find(x_28, x_1); +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; +x_30 = lean_box(0); +x_31 = l_Lean_Expr_const___override(x_1, x_30); +x_32 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_32, 0, x_31); +x_33 = l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalDelta___spec__8___closed__2; +x_34 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_34, 0, x_33); +lean_ctor_set(x_34, 1, x_32); +x_35 = l_Lean_Elab_Tactic_deltaLocalDecl___closed__8; +x_36 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_36, 0, x_34); +lean_ctor_set(x_36, 1, x_35); +x_37 = l_Lean_throwError___at_Lean_Elab_Tactic_evalDelta___spec__14(x_36, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_27); +return x_37; +} +else +{ +lean_object* x_38; lean_object* x_39; +lean_dec(x_1); +x_38 = lean_ctor_get(x_29, 0); +lean_inc(x_38); +lean_dec(x_29); +x_39 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_39, 0, x_38); +lean_ctor_set(x_39, 1, x_27); +return x_39; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_mkConstWithLevelParams___at_Lean_Elab_Tactic_evalDelta___spec__12(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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_inc(x_1); +x_11 = l_Lean_getConstInfo___at_Lean_Elab_Tactic_evalDelta___spec__13(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +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; lean_object* x_15; lean_object* x_16; lean_object* x_17; +x_13 = lean_ctor_get(x_11, 0); +x_14 = l_Lean_ConstantInfo_levelParams(x_13); +lean_dec(x_13); +x_15 = lean_box(0); +x_16 = l_List_mapTRAux___at_Lean_mkConstWithLevelParams___spec__1(x_14, x_15); +x_17 = l_Lean_Expr_const___override(x_1, x_16); +lean_ctor_set(x_11, 0, x_17); +return x_11; +} +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_11, 0); +x_19 = lean_ctor_get(x_11, 1); +lean_inc(x_19); +lean_inc(x_18); +lean_dec(x_11); +x_20 = l_Lean_ConstantInfo_levelParams(x_18); +lean_dec(x_18); +x_21 = lean_box(0); +x_22 = l_List_mapTRAux___at_Lean_mkConstWithLevelParams___spec__1(x_20, x_21); +x_23 = l_Lean_Expr_const___override(x_1, x_22); +x_24 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_24, 0, x_23); +lean_ctor_set(x_24, 1, x_19); +return x_24; +} +} +else +{ +uint8_t x_25; +lean_dec(x_1); +x_25 = !lean_is_exclusive(x_11); +if (x_25 == 0) +{ +return x_11; +} +else +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_26 = lean_ctor_get(x_11, 0); +x_27 = lean_ctor_get(x_11, 1); +lean_inc(x_27); +lean_inc(x_26); +lean_dec(x_11); +x_28 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_28, 0, x_26); +lean_ctor_set(x_28, 1, x_27); +return x_28; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoTree___at_Lean_Elab_Tactic_evalDelta___spec__16(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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; uint8_t x_14; +x_11 = lean_st_ref_get(x_9, x_10); +x_12 = lean_ctor_get(x_11, 0); +lean_inc(x_12); +x_13 = lean_ctor_get(x_12, 6); +lean_inc(x_13); +lean_dec(x_12); +x_14 = lean_ctor_get_uint8(x_13, sizeof(void*)*2); +lean_dec(x_13); +if (x_14 == 0) +{ +uint8_t x_15; +lean_dec(x_1); +x_15 = !lean_is_exclusive(x_11); +if (x_15 == 0) +{ +lean_object* x_16; lean_object* x_17; +x_16 = lean_ctor_get(x_11, 0); +lean_dec(x_16); +x_17 = lean_box(0); +lean_ctor_set(x_11, 0, x_17); +return x_11; +} +else +{ +lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_18 = lean_ctor_get(x_11, 1); +lean_inc(x_18); +lean_dec(x_11); +x_19 = lean_box(0); +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_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; uint8_t x_26; +x_21 = lean_ctor_get(x_11, 1); +lean_inc(x_21); +lean_dec(x_11); +x_22 = lean_st_ref_take(x_9, x_21); +x_23 = lean_ctor_get(x_22, 0); +lean_inc(x_23); +x_24 = lean_ctor_get(x_23, 6); +lean_inc(x_24); +x_25 = lean_ctor_get(x_22, 1); +lean_inc(x_25); +lean_dec(x_22); +x_26 = !lean_is_exclusive(x_23); +if (x_26 == 0) +{ +lean_object* x_27; uint8_t x_28; +x_27 = lean_ctor_get(x_23, 6); +lean_dec(x_27); +x_28 = !lean_is_exclusive(x_24); +if (x_28 == 0) +{ +lean_object* x_29; lean_object* x_30; lean_object* x_31; uint8_t x_32; +x_29 = lean_ctor_get(x_24, 1); +x_30 = l_Std_PersistentArray_push___rarg(x_29, x_1); +lean_ctor_set(x_24, 1, x_30); +x_31 = lean_st_ref_set(x_9, x_23, x_25); +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(0); +lean_ctor_set(x_31, 0, x_34); +return x_31; +} +else +{ +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(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; +} +} +else +{ +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; +x_38 = lean_ctor_get_uint8(x_24, sizeof(void*)*2); +x_39 = lean_ctor_get(x_24, 0); +x_40 = lean_ctor_get(x_24, 1); +lean_inc(x_40); +lean_inc(x_39); +lean_dec(x_24); +x_41 = l_Std_PersistentArray_push___rarg(x_40, x_1); +x_42 = lean_alloc_ctor(0, 2, 1); +lean_ctor_set(x_42, 0, x_39); +lean_ctor_set(x_42, 1, x_41); +lean_ctor_set_uint8(x_42, sizeof(void*)*2, x_38); +lean_ctor_set(x_23, 6, x_42); +x_43 = lean_st_ref_set(x_9, x_23, x_25); +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); +} +x_46 = lean_box(0); +if (lean_is_scalar(x_45)) { + x_47 = lean_alloc_ctor(0, 2, 0); +} else { + x_47 = x_45; +} +lean_ctor_set(x_47, 0, x_46); +lean_ctor_set(x_47, 1, x_44); +return x_47; +} +} +else +{ +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_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; +x_48 = lean_ctor_get(x_23, 0); +x_49 = lean_ctor_get(x_23, 1); +x_50 = lean_ctor_get(x_23, 2); +x_51 = lean_ctor_get(x_23, 3); +x_52 = lean_ctor_get(x_23, 4); +x_53 = lean_ctor_get(x_23, 5); +lean_inc(x_53); +lean_inc(x_52); +lean_inc(x_51); +lean_inc(x_50); +lean_inc(x_49); +lean_inc(x_48); +lean_dec(x_23); +x_54 = lean_ctor_get_uint8(x_24, sizeof(void*)*2); +x_55 = lean_ctor_get(x_24, 0); +lean_inc(x_55); +x_56 = lean_ctor_get(x_24, 1); +lean_inc(x_56); +if (lean_is_exclusive(x_24)) { + lean_ctor_release(x_24, 0); + lean_ctor_release(x_24, 1); + x_57 = x_24; +} else { + lean_dec_ref(x_24); + x_57 = lean_box(0); +} +x_58 = l_Std_PersistentArray_push___rarg(x_56, x_1); +if (lean_is_scalar(x_57)) { + x_59 = lean_alloc_ctor(0, 2, 1); +} else { + x_59 = x_57; +} +lean_ctor_set(x_59, 0, x_55); +lean_ctor_set(x_59, 1, x_58); +lean_ctor_set_uint8(x_59, sizeof(void*)*2, x_54); +x_60 = lean_alloc_ctor(0, 7, 0); +lean_ctor_set(x_60, 0, x_48); +lean_ctor_set(x_60, 1, x_49); +lean_ctor_set(x_60, 2, x_50); +lean_ctor_set(x_60, 3, x_51); +lean_ctor_set(x_60, 4, x_52); +lean_ctor_set(x_60, 5, x_53); +lean_ctor_set(x_60, 6, x_59); +x_61 = lean_st_ref_set(x_9, x_60, x_25); +x_62 = lean_ctor_get(x_61, 1); +lean_inc(x_62); +if (lean_is_exclusive(x_61)) { + lean_ctor_release(x_61, 0); + lean_ctor_release(x_61, 1); + x_63 = x_61; +} else { + lean_dec_ref(x_61); + x_63 = lean_box(0); +} +x_64 = lean_box(0); +if (lean_is_scalar(x_63)) { + x_65 = lean_alloc_ctor(0, 2, 0); +} else { + x_65 = x_63; +} +lean_ctor_set(x_65, 0, x_64); +lean_ctor_set(x_65, 1, x_62); +return x_65; +} +} +} +} +static lean_object* _init_l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Tactic_evalDelta___spec__15___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = lean_unsigned_to_nat(32u); +x_2 = lean_mk_empty_array_with_capacity(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Tactic_evalDelta___spec__15___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Tactic_evalDelta___spec__15___closed__1; +x_2 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Tactic_evalDelta___spec__15___closed__3() { +_start: +{ +size_t x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; +x_1 = 5; +x_2 = l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Tactic_evalDelta___spec__15___closed__2; +x_3 = l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Tactic_evalDelta___spec__15___closed__1; +x_4 = lean_unsigned_to_nat(0u); +x_5 = lean_alloc_ctor(0, 4, sizeof(size_t)*1); +lean_ctor_set(x_5, 0, x_2); +lean_ctor_set(x_5, 1, x_3); +lean_ctor_set(x_5, 2, x_4); +lean_ctor_set(x_5, 3, x_4); +lean_ctor_set_usize(x_5, 4, x_1); +return x_5; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Tactic_evalDelta___spec__15(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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; uint8_t x_14; +x_11 = lean_st_ref_get(x_9, x_10); +x_12 = lean_ctor_get(x_11, 0); +lean_inc(x_12); +x_13 = lean_ctor_get(x_12, 6); +lean_inc(x_13); +lean_dec(x_12); +x_14 = lean_ctor_get_uint8(x_13, sizeof(void*)*2); +lean_dec(x_13); +if (x_14 == 0) +{ +uint8_t x_15; +lean_dec(x_1); +x_15 = !lean_is_exclusive(x_11); +if (x_15 == 0) +{ +lean_object* x_16; lean_object* x_17; +x_16 = lean_ctor_get(x_11, 0); +lean_dec(x_16); +x_17 = lean_box(0); +lean_ctor_set(x_11, 0, x_17); +return x_11; +} +else +{ +lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_18 = lean_ctor_get(x_11, 1); +lean_inc(x_18); +lean_dec(x_11); +x_19 = lean_box(0); +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_object* x_22; lean_object* x_23; lean_object* x_24; +x_21 = lean_ctor_get(x_11, 1); +lean_inc(x_21); +lean_dec(x_11); +x_22 = l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Tactic_evalDelta___spec__15___closed__3; +x_23 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_23, 0, x_1); +lean_ctor_set(x_23, 1, x_22); +x_24 = l_Lean_Elab_pushInfoTree___at_Lean_Elab_Tactic_evalDelta___spec__16(x_23, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_21); +return x_24; +} +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_addConstInfo___at_Lean_Elab_Tactic_evalDelta___spec__11(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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; +x_13 = l_Lean_mkConstWithLevelParams___at_Lean_Elab_Tactic_evalDelta___spec__12(x_2, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, 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; lean_object* x_18; uint8_t x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; +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_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_1); +x_18 = l_Lean_LocalContext_empty; +x_19 = 0; +x_20 = lean_alloc_ctor(0, 4, 1); +lean_ctor_set(x_20, 0, x_17); +lean_ctor_set(x_20, 1, x_18); +lean_ctor_set(x_20, 2, x_3); +lean_ctor_set(x_20, 3, x_14); +lean_ctor_set_uint8(x_20, sizeof(void*)*4, x_19); +x_21 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_21, 0, x_20); +x_22 = l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Tactic_evalDelta___spec__15(x_21, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_15); +lean_dec(x_10); +lean_dec(x_8); +lean_dec(x_6); +lean_dec(x_4); +return x_22; +} +else +{ +uint8_t x_23; +lean_dec(x_10); +lean_dec(x_8); +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_1); +x_23 = !lean_is_exclusive(x_13); +if (x_23 == 0) +{ +return x_13; +} +else +{ +lean_object* x_24; lean_object* x_25; lean_object* x_26; +x_24 = lean_ctor_get(x_13, 0); +x_25 = lean_ctor_get(x_13, 1); +lean_inc(x_25); +lean_inc(x_24); +lean_dec(x_13); +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; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_Elab_Tactic_evalDelta___spec__1___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +_start: +{ +lean_object* x_12; +x_12 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_12, 0, x_1); +lean_ctor_set(x_12, 1, x_11); +return x_12; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_Elab_Tactic_evalDelta___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: +{ +lean_object* x_12; +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_1); +x_12 = l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalDelta___spec__2(x_1, x_3, x_4, x_5, x_6, 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; uint8_t x_18; +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_st_ref_get(x_10, x_14); +x_16 = lean_ctor_get(x_15, 0); +lean_inc(x_16); +x_17 = lean_ctor_get(x_16, 6); +lean_inc(x_17); +lean_dec(x_16); +x_18 = lean_ctor_get_uint8(x_17, sizeof(void*)*2); +lean_dec(x_17); +if (x_18 == 0) +{ +uint8_t x_19; +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); +lean_dec(x_1); +x_19 = !lean_is_exclusive(x_15); +if (x_19 == 0) +{ +lean_object* x_20; +x_20 = lean_ctor_get(x_15, 0); +lean_dec(x_20); +lean_ctor_set(x_15, 0, x_13); +return x_15; +} +else +{ +lean_object* x_21; lean_object* x_22; +x_21 = lean_ctor_get(x_15, 1); +lean_inc(x_21); +lean_dec(x_15); +x_22 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_22, 0, x_13); +lean_ctor_set(x_22, 1, x_21); +return x_22; +} +} +else +{ +lean_object* x_23; lean_object* x_24; +x_23 = lean_ctor_get(x_15, 1); +lean_inc(x_23); +lean_dec(x_15); +lean_inc(x_13); +x_24 = l_Lean_Elab_addConstInfo___at_Lean_Elab_Tactic_evalDelta___spec__11(x_1, x_13, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_23); +lean_dec(x_10); +lean_dec(x_8); +lean_dec(x_6); +lean_dec(x_4); +if (lean_obj_tag(x_24) == 0) +{ +uint8_t x_25; +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_13); +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_13); +lean_ctor_set(x_28, 1, x_27); +return x_28; +} +} +else +{ +uint8_t x_29; +lean_dec(x_13); +x_29 = !lean_is_exclusive(x_24); +if (x_29 == 0) +{ +return x_24; +} +else +{ +lean_object* x_30; lean_object* x_31; lean_object* x_32; +x_30 = lean_ctor_get(x_24, 0); +x_31 = lean_ctor_get(x_24, 1); +lean_inc(x_31); +lean_inc(x_30); +lean_dec(x_24); +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 +{ +uint8_t x_33; +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); +lean_dec(x_1); +x_33 = !lean_is_exclusive(x_12); +if (x_33 == 0) +{ +return x_12; +} +else +{ +lean_object* x_34; lean_object* x_35; lean_object* x_36; +x_34 = lean_ctor_get(x_12, 0); +x_35 = lean_ctor_get(x_12, 1); +lean_inc(x_35); +lean_inc(x_34); +lean_dec(x_12); +x_36 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_36, 0, x_34); +lean_ctor_set(x_36, 1, x_35); +return x_36; +} +} +} +} LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalDelta___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) { _start: { @@ -1535,9 +2277,10 @@ return x_18; LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalDelta(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; x_11 = lean_unsigned_to_nat(1u); x_12 = l_Lean_Syntax_getArg(x_1, x_11); +x_13 = lean_box(0); lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); @@ -1546,34 +2289,34 @@ lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); lean_inc(x_2); -x_13 = l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalDelta___spec__1(x_12, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); -if (lean_obj_tag(x_13) == 0) +x_14 = l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_Elab_Tactic_evalDelta___spec__1(x_12, x_13, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +if (lean_obj_tag(x_14) == 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; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_14 = lean_ctor_get(x_13, 0); -lean_inc(x_14); -x_15 = lean_ctor_get(x_13, 1); +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_15 = lean_ctor_get(x_14, 0); lean_inc(x_15); -lean_dec(x_13); -x_16 = lean_unsigned_to_nat(2u); -x_17 = l_Lean_Syntax_getArg(x_1, x_16); -x_18 = l_Lean_Elab_Tactic_expandOptLocation(x_17); -lean_dec(x_17); -lean_inc(x_14); -x_19 = lean_alloc_closure((void*)(l_Lean_Elab_Tactic_deltaLocalDecl), 11, 1); -lean_closure_set(x_19, 0, x_14); -lean_inc(x_14); -x_20 = lean_alloc_closure((void*)(l_Lean_Elab_Tactic_deltaTarget), 10, 1); -lean_closure_set(x_20, 0, x_14); -x_21 = lean_alloc_closure((void*)(l_Lean_Elab_Tactic_evalDelta___lambda__1___boxed), 11, 1); -lean_closure_set(x_21, 0, x_14); -x_22 = l_Lean_Elab_Tactic_withLocation(x_18, x_19, x_20, x_21, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_15); +x_16 = lean_ctor_get(x_14, 1); +lean_inc(x_16); +lean_dec(x_14); +x_17 = lean_unsigned_to_nat(2u); +x_18 = l_Lean_Syntax_getArg(x_1, x_17); +x_19 = l_Lean_Elab_Tactic_expandOptLocation(x_18); lean_dec(x_18); -return x_22; +lean_inc(x_15); +x_20 = lean_alloc_closure((void*)(l_Lean_Elab_Tactic_deltaLocalDecl), 11, 1); +lean_closure_set(x_20, 0, x_15); +lean_inc(x_15); +x_21 = lean_alloc_closure((void*)(l_Lean_Elab_Tactic_deltaTarget), 10, 1); +lean_closure_set(x_21, 0, x_15); +x_22 = lean_alloc_closure((void*)(l_Lean_Elab_Tactic_evalDelta___lambda__1___boxed), 11, 1); +lean_closure_set(x_22, 0, x_15); +x_23 = l_Lean_Elab_Tactic_withLocation(x_19, x_20, x_21, x_22, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_16); +lean_dec(x_19); +return x_23; } else { -uint8_t x_23; +uint8_t x_24; lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); @@ -1582,32 +2325,32 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_23 = !lean_is_exclusive(x_13); -if (x_23 == 0) +x_24 = !lean_is_exclusive(x_14); +if (x_24 == 0) { -return x_13; +return x_14; } else { -lean_object* x_24; lean_object* x_25; lean_object* x_26; -x_24 = lean_ctor_get(x_13, 0); -x_25 = lean_ctor_get(x_13, 1); +lean_object* x_25; lean_object* x_26; lean_object* x_27; +x_25 = lean_ctor_get(x_14, 0); +x_26 = lean_ctor_get(x_14, 1); +lean_inc(x_26); lean_inc(x_25); -lean_inc(x_24); -lean_dec(x_13); -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; +lean_dec(x_14); +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; } } } } -LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_evalDelta___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_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_evalDelta___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) { _start: { lean_object* x_11; -x_11 = l_Lean_throwError___at_Lean_Elab_Tactic_evalDelta___spec__4(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_11 = l_Lean_throwError___at_Lean_Elab_Tactic_evalDelta___spec__5(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); @@ -1619,11 +2362,11 @@ lean_dec(x_2); return x_11; } } -LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_Lean_Elab_Tactic_evalDelta___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_EXPORT lean_object* l_Lean_resolveGlobalName___at_Lean_Elab_Tactic_evalDelta___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* x_10) { _start: { lean_object* x_11; -x_11 = l_Lean_resolveGlobalName___at_Lean_Elab_Tactic_evalDelta___spec__6(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_11 = l_Lean_resolveGlobalName___at_Lean_Elab_Tactic_evalDelta___spec__7(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_7); lean_dec(x_6); @@ -1634,11 +2377,11 @@ lean_dec(x_2); return x_11; } } -LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalDelta___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* x_10) { +LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalDelta___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) { _start: { lean_object* x_11; -x_11 = l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalDelta___spec__7(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_11 = l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalDelta___spec__8(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); @@ -1650,11 +2393,11 @@ lean_dec(x_2); return x_11; } } -LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_Elab_Tactic_evalDelta___spec__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* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_Elab_Tactic_evalDelta___spec__6___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: { lean_object* x_13; -x_13 = l_Lean_resolveGlobalConstCore___at_Lean_Elab_Tactic_evalDelta___spec__5___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); +x_13 = l_Lean_resolveGlobalConstCore___at_Lean_Elab_Tactic_evalDelta___spec__6___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); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); @@ -1667,11 +2410,11 @@ lean_dec(x_3); return x_13; } } -LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_evalDelta___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_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_evalDelta___spec__10___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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_throwError___at_Lean_Elab_Tactic_evalDelta___spec__9(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_11 = l_Lean_throwError___at_Lean_Elab_Tactic_evalDelta___spec__10(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); @@ -1683,6 +2426,115 @@ lean_dec(x_2); return x_11; } } +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_evalDelta___spec__14___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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_throwError___at_Lean_Elab_Tactic_evalDelta___spec__14(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_11; +} +} +LEAN_EXPORT lean_object* l_Lean_getConstInfo___at_Lean_Elab_Tactic_evalDelta___spec__13___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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_getConstInfo___at_Lean_Elab_Tactic_evalDelta___spec__13(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_11; +} +} +LEAN_EXPORT lean_object* l_Lean_mkConstWithLevelParams___at_Lean_Elab_Tactic_evalDelta___spec__12___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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_mkConstWithLevelParams___at_Lean_Elab_Tactic_evalDelta___spec__12(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_11; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoTree___at_Lean_Elab_Tactic_evalDelta___spec__16___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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_Elab_pushInfoTree___at_Lean_Elab_Tactic_evalDelta___spec__16(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_11; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Tactic_evalDelta___spec__15___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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_Elab_pushInfoLeaf___at_Lean_Elab_Tactic_evalDelta___spec__15(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_11; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_addConstInfo___at_Lean_Elab_Tactic_evalDelta___spec__11___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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; +x_13 = l_Lean_Elab_addConstInfo___at_Lean_Elab_Tactic_evalDelta___spec__11(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +lean_dec(x_11); +lean_dec(x_9); +lean_dec(x_7); +lean_dec(x_5); +return x_13; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_Elab_Tactic_evalDelta___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* x_9, lean_object* x_10, lean_object* x_11) { +_start: +{ +lean_object* x_12; +x_12 = l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_Elab_Tactic_evalDelta___spec__1___lambda__1(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_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_12; +} +} LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalDelta___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) { _start: { @@ -1999,22 +2851,28 @@ l_Lean_Elab_Tactic_deltaLocalDecl___closed__7 = _init_l_Lean_Elab_Tactic_deltaLo lean_mark_persistent(l_Lean_Elab_Tactic_deltaLocalDecl___closed__7); l_Lean_Elab_Tactic_deltaLocalDecl___closed__8 = _init_l_Lean_Elab_Tactic_deltaLocalDecl___closed__8(); lean_mark_persistent(l_Lean_Elab_Tactic_deltaLocalDecl___closed__8); -l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalDelta___spec__7___closed__1 = _init_l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalDelta___spec__7___closed__1(); -lean_mark_persistent(l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalDelta___spec__7___closed__1); -l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalDelta___spec__7___closed__2 = _init_l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalDelta___spec__7___closed__2(); -lean_mark_persistent(l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalDelta___spec__7___closed__2); -l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalDelta___spec__2___closed__1 = _init_l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalDelta___spec__2___closed__1(); -lean_mark_persistent(l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalDelta___spec__2___closed__1); -l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalDelta___spec__2___closed__2 = _init_l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalDelta___spec__2___closed__2(); -lean_mark_persistent(l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalDelta___spec__2___closed__2); -l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalDelta___spec__2___closed__3 = _init_l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalDelta___spec__2___closed__3(); -lean_mark_persistent(l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalDelta___spec__2___closed__3); -l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalDelta___spec__1___closed__1 = _init_l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalDelta___spec__1___closed__1(); -lean_mark_persistent(l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalDelta___spec__1___closed__1); -l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalDelta___spec__1___closed__2 = _init_l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalDelta___spec__1___closed__2(); -lean_mark_persistent(l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalDelta___spec__1___closed__2); -l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalDelta___spec__1___closed__3 = _init_l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalDelta___spec__1___closed__3(); -lean_mark_persistent(l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalDelta___spec__1___closed__3); +l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalDelta___spec__8___closed__1 = _init_l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalDelta___spec__8___closed__1(); +lean_mark_persistent(l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalDelta___spec__8___closed__1); +l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalDelta___spec__8___closed__2 = _init_l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalDelta___spec__8___closed__2(); +lean_mark_persistent(l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalDelta___spec__8___closed__2); +l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalDelta___spec__3___closed__1 = _init_l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalDelta___spec__3___closed__1(); +lean_mark_persistent(l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalDelta___spec__3___closed__1); +l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalDelta___spec__3___closed__2 = _init_l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalDelta___spec__3___closed__2(); +lean_mark_persistent(l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalDelta___spec__3___closed__2); +l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalDelta___spec__3___closed__3 = _init_l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalDelta___spec__3___closed__3(); +lean_mark_persistent(l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalDelta___spec__3___closed__3); +l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalDelta___spec__2___closed__1 = _init_l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalDelta___spec__2___closed__1(); +lean_mark_persistent(l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalDelta___spec__2___closed__1); +l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalDelta___spec__2___closed__2 = _init_l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalDelta___spec__2___closed__2(); +lean_mark_persistent(l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalDelta___spec__2___closed__2); +l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalDelta___spec__2___closed__3 = _init_l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalDelta___spec__2___closed__3(); +lean_mark_persistent(l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalDelta___spec__2___closed__3); +l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Tactic_evalDelta___spec__15___closed__1 = _init_l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Tactic_evalDelta___spec__15___closed__1(); +lean_mark_persistent(l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Tactic_evalDelta___spec__15___closed__1); +l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Tactic_evalDelta___spec__15___closed__2 = _init_l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Tactic_evalDelta___spec__15___closed__2(); +lean_mark_persistent(l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Tactic_evalDelta___spec__15___closed__2); +l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Tactic_evalDelta___spec__15___closed__3 = _init_l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Tactic_evalDelta___spec__15___closed__3(); +lean_mark_persistent(l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Tactic_evalDelta___spec__15___closed__3); l___regBuiltin_Lean_Elab_Tactic_evalDelta___closed__1 = _init_l___regBuiltin_Lean_Elab_Tactic_evalDelta___closed__1(); lean_mark_persistent(l___regBuiltin_Lean_Elab_Tactic_evalDelta___closed__1); l___regBuiltin_Lean_Elab_Tactic_evalDelta___closed__2 = _init_l___regBuiltin_Lean_Elab_Tactic_evalDelta___closed__2(); diff --git a/stage0/stdlib/Lean/Elab/Tactic/Induction.c b/stage0/stdlib/Lean/Elab/Tactic/Induction.c index e7b82eeb2d..b613c8a6a0 100644 --- a/stage0/stdlib/Lean/Elab/Tactic/Induction.c +++ b/stage0/stdlib/Lean/Elab/Tactic/Induction.c @@ -282,6 +282,7 @@ lean_object* l_panic___at_Lean_Expr_getRevArg_x21___spec__1(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_ElimApp_saveAltVarsInfo(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Tactic_ElimApp_evalAlts_go___spec__5___closed__1; LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getElimNameInfo___spec__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_RBNode_insert___at___private_Lean_Meta_FunInfo_0__Lean_Meta_getFunInfoAux___spec__1(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Tactic_ElimApp_evalAlts_go___spec__5___boxed(lean_object**); static lean_object* l_Lean_Elab_Tactic_ElimApp_State_alts___default___closed__1; lean_object* l_Lean_MVarId_assign___at_Lean_Elab_Tactic_closeMainGoal___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -301,7 +302,6 @@ static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Tactic_evalInduction LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalInduction___lambda__1___boxed(lean_object**); lean_object* lean_st_mk_ref(lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Tactic_ElimApp_evalAlts_go___spec__5___lambda__2___closed__8; -lean_object* l_Std_RBNode_insert___at_Lean_Meta_ToHide_moveToHiddeProp___spec__1(lean_object*, lean_object*, lean_object*); static lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_ElimApp_checkAltNames___spec__2___lambda__1___closed__3; LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_expandInductionAlts_x3f___spec__1___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalInduction___closed__3; @@ -12421,7 +12421,7 @@ _start: { lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; x_13 = lean_box(0); -x_14 = l_Std_RBNode_insert___at_Lean_Meta_ToHide_moveToHiddeProp___spec__1(x_2, x_1, x_13); +x_14 = l_Std_RBNode_insert___at___private_Lean_Meta_FunInfo_0__Lean_Meta_getFunInfoAux___spec__1(x_2, x_1, x_13); x_15 = lean_alloc_ctor(1, 1, 0); lean_ctor_set(x_15, 0, x_14); x_16 = lean_alloc_ctor(0, 2, 0); diff --git a/stage0/stdlib/Lean/Elab/Tactic/Rewrite.c b/stage0/stdlib/Lean/Elab/Tactic/Rewrite.c index 2d83ab7997..d683422715 100644 --- a/stage0/stdlib/Lean/Elab/Tactic/Rewrite.c +++ b/stage0/stdlib/Lean/Elab/Tactic/Rewrite.c @@ -40,6 +40,7 @@ static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Tactic_withRWRulesSeq_ lean_object* l_List_mapTRAux___at_Lean_resolveGlobalConstCore___spec__2(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_withRWRulesSeq___spec__9(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_Format_defWidth; +lean_object* l_Lean_Meta_mkConstWithFreshMVarLevels(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalRewriteSeq___closed__7; static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalRewriteSeq_declRange___closed__2; LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Tactic_withRWRulesSeq___spec__10___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -54,15 +55,12 @@ LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Tactic_withRWRule static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalRewriteSeq___closed__10; lean_object* l_Std_PersistentArray_append___rarg(lean_object*, lean_object*); lean_object* lean_st_ref_get(lean_object*, lean_object*); -static lean_object* l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__1; static lean_object* l_Lean_Elab_Tactic_withRWRulesSeq___closed__4; lean_object* l_Lean_mkIdentFrom(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Tactic_elabRewriteConfig___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_EXPORT lean_object* l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Tactic_withRWRulesSeq___spec__10___closed__4; lean_object* lean_array_push(lean_object*, lean_object*); lean_object* lean_array_get_size(lean_object*); -static lean_object* l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__2; lean_object* lean_string_append(lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalRewriteSeq___closed__3; lean_object* l_Lean_Elab_InfoTree_substitute(lean_object*, lean_object*); @@ -106,17 +104,20 @@ lean_object* l_Lean_Elab_Tactic_mkInitialTacticInfo(lean_object*, lean_object*, lean_object* l_Lean_Elab_Tactic_expandOptLocation(lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Tactic_elabRewriteConfig___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*); static lean_object* l_Lean_withoutModifyingState___at_Lean_Elab_Tactic_elabRewriteConfig___spec__12___at_Lean_Elab_Tactic_elabRewriteConfig___spec__13___closed__4; +static lean_object* l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__1; static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Tactic_withRWRulesSeq___spec__10___closed__6; lean_object* l_Lean_replaceRef(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_evalRewriteSeq___lambda__2___closed__1; static lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_withRWRulesSeq___spec__2___closed__1; +static lean_object* l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__2; lean_object* l_Lean_Elab_Tactic_getMainTarget(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Tactic_withRWRulesSeq___spec__10___lambda__2___closed__1; +LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Tactic_elabRewriteConfig___spec__4(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_withoutModifyingState___at_Lean_Elab_Tactic_elabRewriteConfig___spec__12___at_Lean_Elab_Tactic_elabRewriteConfig___spec__13___closed__8; LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_rewriteTarget___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*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalRewriteSeq_declRange___closed__6; -LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005_(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059_(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_withInfoTreeContext___at_Lean_Elab_Term_runTactic___spec__9(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_evalExpr_x27___rarg(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_withRWRulesSeq___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -146,7 +147,6 @@ LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Tactic_elabRewrit LEAN_EXPORT lean_object* l_Std_PersistentArray_mapMAux___at_Lean_Elab_Tactic_elabRewriteConfig___spec__8(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*); extern lean_object* l_Lean_Elab_Tactic_tacticElabAttribute; -static lean_object* l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__6; static lean_object* l_Lean_Elab_Tactic_evalRewriteSeq___lambda__2___closed__4; LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Tactic_withRWRulesSeq___spec__10(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Tactic_withRWRulesSeq___spec__10___lambda__2___closed__4; @@ -154,6 +154,7 @@ lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_evalTactic___spec__2(lean_o LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalRewriteSeq___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_ReaderT_pure___at_Lean_Elab_Tactic_saveTacticInfoForToken___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_object* l_Lean_throwError___at_Lean_Elab_Tactic_evalTactic_throwExs___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__4; lean_object* l_Lean_MVarId_rewrite(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Tactic_withRWRulesSeq___spec__10___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*); static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Tactic_withRWRulesSeq___spec__10___lambda__2___closed__8; @@ -177,8 +178,10 @@ static lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_withRWRulesS lean_object* l_Lean_Elab_Term_SavedState_restore(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_getArgs(lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentArray_mapMAux___at_Lean_Elab_Tactic_elabRewriteConfig___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__5; LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_rewriteLocalDecl___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_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Tactic_withRWRulesSeq___spec__10___lambda__2(lean_object*, uint8_t, 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* l_Lean_Elab_Term_addTermInfo(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*); static lean_object* l_Lean_withoutModifyingState___at_Lean_Elab_Tactic_elabRewriteConfig___spec__12___at_Lean_Elab_Tactic_elabRewriteConfig___spec__13___closed__6; lean_object* l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_withSynthesizeImp___rarg(lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Tactic_withRWRulesSeq___spec__10___lambda__2___closed__5; @@ -187,6 +190,7 @@ lean_object* l_Lean_Elab_withInfoTreeContext___at_Lean_Elab_Tactic_evalTactic_ev lean_object* l_Lean_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_EXPORT lean_object* l_Lean_Elab_Tactic_evalRewriteSeq___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Tactic_evalRewriteSeq(lean_object*); +static lean_object* l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__3; lean_object* lean_nat_mul(lean_object*, lean_object*); lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Tactic_withRWRulesSeq___spec__10___closed__5; @@ -205,6 +209,7 @@ LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_Elab_Tactic_wit uint8_t l_Lean_Syntax_isOfKind(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_evalRewriteSeq___lambda__3___closed__1; static lean_object* l_Lean_Elab_Tactic_elabRewriteConfig___closed__2; +static lean_object* l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__6; LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalRewriteSeq___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_EXPORT lean_object* l_Lean_Elab_Tactic_evalRewriteSeq___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*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalRewriteSeq___closed__8; @@ -213,7 +218,6 @@ lean_object* l_Lean_Elab_Tactic_replaceMainGoal(lean_object*, lean_object*, lean lean_object* l_Lean_Elab_Tactic_withoutRecover___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_Elab_Tactic_withRWRulesSeq___spec__5___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_EXPORT lean_object* l_Lean_Elab_Tactic_elabRewriteConfig___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__4; static lean_object* l_Lean_Elab_Tactic_withRWRulesSeq_go___closed__2; lean_object* l_Lean_Syntax_getArg(lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalRewriteSeq_declRange___closed__1; @@ -230,10 +234,8 @@ static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalRewriteSeq_declRange___c static lean_object* l_Lean_withoutModifyingState___at_Lean_Elab_Tactic_elabRewriteConfig___spec__12___at_Lean_Elab_Tactic_elabRewriteConfig___spec__13___closed__3; lean_object* l_Lean_Elab_Term_saveState___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalRewriteSeq___lambda__3(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*); -static lean_object* l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__5; lean_object* l_Lean_Syntax_formatStxAux(lean_object*, uint8_t, lean_object*, lean_object*); static lean_object* l_Lean_withoutModifyingState___at_Lean_Elab_Tactic_elabRewriteConfig___spec__12___at_Lean_Elab_Tactic_elabRewriteConfig___spec__13___closed__7; -static lean_object* l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__3; LEAN_EXPORT lean_object* l_Std_PersistentArray_mapM___at_Lean_Elab_Tactic_elabRewriteConfig___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_withRWRulesSeq___spec__7___closed__1; lean_object* l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_withSynthesizeImp___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -1821,22 +1823,325 @@ return x_20; } else { -lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; +lean_object* x_21; uint8_t x_22; lean_dec(x_3); x_21 = lean_ctor_get(x_16, 1); lean_inc(x_21); lean_dec(x_16); -x_22 = lean_ctor_get(x_17, 0); -lean_inc(x_22); -lean_dec(x_17); -x_23 = lean_array_to_list(lean_box(0), x_22); -x_24 = l_Lean_Elab_Tactic_withRWRulesSeq_go(x_1, x_2, x_4, x_5, x_23, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_21); -return x_24; +x_22 = !lean_is_exclusive(x_17); +if (x_22 == 0) +{ +lean_object* x_23; lean_object* x_24; lean_object* x_25; +x_23 = lean_ctor_get(x_17, 0); +x_24 = lean_array_to_list(lean_box(0), x_23); +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_inc(x_5); +lean_inc(x_4); +x_25 = l_Lean_Elab_Tactic_withRWRulesSeq_go(x_1, x_2, x_4, x_5, x_24, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_21); +if (lean_obj_tag(x_25) == 0) +{ +lean_object* x_26; lean_object* x_27; +x_26 = lean_ctor_get(x_25, 1); +lean_inc(x_26); +lean_dec(x_25); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +x_27 = l_Lean_Meta_mkConstWithFreshMVarLevels(x_5, x_10, x_11, x_12, x_13, x_26); +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_27, 0); +lean_inc(x_28); +x_29 = lean_ctor_get(x_27, 1); +lean_inc(x_29); +lean_dec(x_27); +x_30 = lean_ctor_get(x_10, 1); +lean_inc(x_30); +x_31 = lean_box(0); +lean_ctor_set(x_17, 0, x_30); +x_32 = lean_box(0); +x_33 = 0; +x_34 = l_Lean_Elab_Term_addTermInfo(x_4, x_28, x_31, x_17, x_32, x_33, x_8, x_9, x_10, x_11, x_12, x_13, x_29); +if (lean_obj_tag(x_34) == 0) +{ +uint8_t x_35; +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_25; +uint8_t x_41; +x_41 = !lean_is_exclusive(x_34); +if (x_41 == 0) +{ +return x_34; +} +else +{ +lean_object* x_42; lean_object* x_43; lean_object* x_44; +x_42 = lean_ctor_get(x_34, 0); +x_43 = lean_ctor_get(x_34, 1); +lean_inc(x_43); +lean_inc(x_42); +lean_dec(x_34); +x_44 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_44, 0, x_42); +lean_ctor_set(x_44, 1, x_43); +return x_44; +} +} +} +else +{ +uint8_t x_45; +lean_free_object(x_17); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_4); +x_45 = !lean_is_exclusive(x_27); +if (x_45 == 0) +{ +return x_27; +} +else +{ +lean_object* x_46; lean_object* x_47; lean_object* x_48; +x_46 = lean_ctor_get(x_27, 0); +x_47 = lean_ctor_get(x_27, 1); +lean_inc(x_47); +lean_inc(x_46); +lean_dec(x_27); +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 +{ +uint8_t x_49; +lean_free_object(x_17); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_5); +lean_dec(x_4); +x_49 = !lean_is_exclusive(x_25); +if (x_49 == 0) +{ +return x_25; +} +else +{ +lean_object* x_50; lean_object* x_51; lean_object* x_52; +x_50 = lean_ctor_get(x_25, 0); +x_51 = lean_ctor_get(x_25, 1); +lean_inc(x_51); +lean_inc(x_50); +lean_dec(x_25); +x_52 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_52, 0, x_50); +lean_ctor_set(x_52, 1, x_51); +return x_52; +} +} +} +else +{ +lean_object* x_53; lean_object* x_54; lean_object* x_55; +x_53 = lean_ctor_get(x_17, 0); +lean_inc(x_53); +lean_dec(x_17); +x_54 = lean_array_to_list(lean_box(0), x_53); +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_inc(x_5); +lean_inc(x_4); +x_55 = l_Lean_Elab_Tactic_withRWRulesSeq_go(x_1, x_2, x_4, x_5, x_54, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_21); +if (lean_obj_tag(x_55) == 0) +{ +lean_object* x_56; lean_object* x_57; +x_56 = lean_ctor_get(x_55, 1); +lean_inc(x_56); +lean_dec(x_55); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +x_57 = l_Lean_Meta_mkConstWithFreshMVarLevels(x_5, x_10, x_11, x_12, x_13, x_56); +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; lean_object* x_63; uint8_t x_64; lean_object* x_65; +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 = lean_ctor_get(x_10, 1); +lean_inc(x_60); +x_61 = lean_box(0); +x_62 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_62, 0, x_60); +x_63 = lean_box(0); +x_64 = 0; +x_65 = l_Lean_Elab_Term_addTermInfo(x_4, x_58, x_61, x_62, x_63, x_64, x_8, x_9, x_10, x_11, x_12, x_13, x_59); +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_65, 1); +lean_inc(x_66); +if (lean_is_exclusive(x_65)) { + lean_ctor_release(x_65, 0); + lean_ctor_release(x_65, 1); + x_67 = x_65; +} else { + lean_dec_ref(x_65); + x_67 = lean_box(0); +} +x_68 = lean_box(0); +if (lean_is_scalar(x_67)) { + x_69 = lean_alloc_ctor(0, 2, 0); +} else { + x_69 = x_67; +} +lean_ctor_set(x_69, 0, x_68); +lean_ctor_set(x_69, 1, x_66); +return x_69; +} +else +{ +lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; +x_70 = lean_ctor_get(x_65, 0); +lean_inc(x_70); +x_71 = lean_ctor_get(x_65, 1); +lean_inc(x_71); +if (lean_is_exclusive(x_65)) { + lean_ctor_release(x_65, 0); + lean_ctor_release(x_65, 1); + x_72 = x_65; +} else { + lean_dec_ref(x_65); + x_72 = lean_box(0); +} +if (lean_is_scalar(x_72)) { + x_73 = lean_alloc_ctor(1, 2, 0); +} else { + x_73 = x_72; +} +lean_ctor_set(x_73, 0, x_70); +lean_ctor_set(x_73, 1, x_71); +return x_73; +} +} +else +{ +lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_4); +x_74 = lean_ctor_get(x_57, 0); +lean_inc(x_74); +x_75 = lean_ctor_get(x_57, 1); +lean_inc(x_75); +if (lean_is_exclusive(x_57)) { + lean_ctor_release(x_57, 0); + lean_ctor_release(x_57, 1); + x_76 = x_57; +} else { + lean_dec_ref(x_57); + x_76 = lean_box(0); +} +if (lean_is_scalar(x_76)) { + x_77 = lean_alloc_ctor(1, 2, 0); +} else { + x_77 = x_76; +} +lean_ctor_set(x_77, 0, x_74); +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_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_5); +lean_dec(x_4); +x_78 = lean_ctor_get(x_55, 0); +lean_inc(x_78); +x_79 = lean_ctor_get(x_55, 1); +lean_inc(x_79); +if (lean_is_exclusive(x_55)) { + lean_ctor_release(x_55, 0); + lean_ctor_release(x_55, 1); + x_80 = x_55; +} else { + lean_dec_ref(x_55); + x_80 = lean_box(0); +} +if (lean_is_scalar(x_80)) { + x_81 = lean_alloc_ctor(1, 2, 0); +} else { + x_81 = x_80; +} +lean_ctor_set(x_81, 0, x_78); +lean_ctor_set(x_81, 1, x_79); +return x_81; +} +} +} +} +else +{ +uint8_t x_82; lean_dec(x_13); lean_dec(x_12); lean_dec(x_11); @@ -1849,23 +2154,23 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_1); -x_25 = !lean_is_exclusive(x_16); -if (x_25 == 0) +x_82 = !lean_is_exclusive(x_16); +if (x_82 == 0) { return x_16; } else { -lean_object* x_26; lean_object* x_27; lean_object* x_28; -x_26 = lean_ctor_get(x_16, 0); -x_27 = lean_ctor_get(x_16, 1); -lean_inc(x_27); -lean_inc(x_26); +lean_object* x_83; lean_object* x_84; lean_object* x_85; +x_83 = lean_ctor_get(x_16, 0); +x_84 = lean_ctor_get(x_16, 1); +lean_inc(x_84); +lean_inc(x_83); lean_dec(x_16); -x_28 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_28, 0, x_26); -lean_ctor_set(x_28, 1, x_27); -return x_28; +x_85 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_85, 0, x_83); +lean_ctor_set(x_85, 1, x_84); +return x_85; } } } @@ -3119,7 +3424,7 @@ lean_dec(x_2); return x_13; } } -static lean_object* _init_l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__1() { +static lean_object* _init_l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__1() { _start: { lean_object* x_1; @@ -3127,17 +3432,17 @@ x_1 = lean_mk_string_from_bytes("Meta", 4); return x_1; } } -static lean_object* _init_l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__2() { +static lean_object* _init_l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Std_Range_forIn_loop___at_Lean_Elab_Tactic_withRWRulesSeq___spec__10___lambda__2___closed__2; -x_2 = l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__1; +x_2 = l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__1; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__3() { +static lean_object* _init_l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__3() { _start: { lean_object* x_1; @@ -3145,17 +3450,17 @@ x_1 = lean_mk_string_from_bytes("Rewrite", 7); return x_1; } } -static lean_object* _init_l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__4() { +static lean_object* _init_l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__2; -x_2 = l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__3; +x_1 = l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__2; +x_2 = l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__3; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__5() { +static lean_object* _init_l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__5() { _start: { lean_object* x_1; @@ -3163,31 +3468,31 @@ x_1 = lean_mk_string_from_bytes("Config", 6); return x_1; } } -static lean_object* _init_l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__6() { +static lean_object* _init_l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__6() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__4; -x_2 = l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__5; +x_1 = l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__4; +x_2 = l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__5; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005_(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059_(lean_object* x_1, lean_object* x_2, 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; -x_9 = l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__6; +x_9 = l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__6; x_10 = 0; x_11 = l_Lean_Meta_evalExpr_x27___rarg(x_9, x_1, x_10, x_4, x_5, x_6, x_7, x_8); return x_11; } } -LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____boxed(lean_object* x_1, lean_object* x_2, 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_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005_(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +x_9 = l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059_(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; @@ -4708,7 +5013,7 @@ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__6; +x_2 = l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__6; x_3 = l_Lean_Expr_const___override(x_2, x_1); return x_3; } @@ -4765,7 +5070,7 @@ lean_inc(x_17); x_18 = lean_ctor_get(x_16, 1); lean_inc(x_18); lean_dec(x_16); -x_19 = l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005_(x_17, x_2, x_3, x_4, x_5, x_6, x_7, x_18); +x_19 = l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059_(x_17, x_2, x_3, x_4, x_5, x_6, x_7, x_18); lean_dec(x_3); lean_dec(x_2); return x_19; @@ -5307,7 +5612,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalRewriteSeq_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(61u); +x_1 = lean_unsigned_to_nat(62u); x_2 = lean_unsigned_to_nat(47u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -5319,7 +5624,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalRewriteSeq_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(68u); +x_1 = lean_unsigned_to_nat(69u); x_2 = lean_unsigned_to_nat(91u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -5347,7 +5652,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalRewriteSeq_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(61u); +x_1 = lean_unsigned_to_nat(62u); x_2 = lean_unsigned_to_nat(51u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -5359,7 +5664,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalRewriteSeq_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(61u); +x_1 = lean_unsigned_to_nat(62u); x_2 = lean_unsigned_to_nat(65u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -5498,18 +5803,18 @@ l_Lean_Elab_Tactic_withRWRulesSeq___closed__3 = _init_l_Lean_Elab_Tactic_withRWR lean_mark_persistent(l_Lean_Elab_Tactic_withRWRulesSeq___closed__3); l_Lean_Elab_Tactic_withRWRulesSeq___closed__4 = _init_l_Lean_Elab_Tactic_withRWRulesSeq___closed__4(); lean_mark_persistent(l_Lean_Elab_Tactic_withRWRulesSeq___closed__4); -l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__1 = _init_l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__1(); -lean_mark_persistent(l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__1); -l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__2 = _init_l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__2(); -lean_mark_persistent(l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__2); -l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__3 = _init_l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__3(); -lean_mark_persistent(l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__3); -l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__4 = _init_l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__4(); -lean_mark_persistent(l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__4); -l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__5 = _init_l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__5(); -lean_mark_persistent(l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__5); -l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__6 = _init_l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__6(); -lean_mark_persistent(l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__6); +l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__1 = _init_l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__1(); +lean_mark_persistent(l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__1); +l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__2 = _init_l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__2(); +lean_mark_persistent(l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__2); +l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__3 = _init_l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__3(); +lean_mark_persistent(l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__3); +l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__4 = _init_l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__4(); +lean_mark_persistent(l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__4); +l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__5 = _init_l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__5(); +lean_mark_persistent(l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__5); +l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__6 = _init_l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__6(); +lean_mark_persistent(l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__6); l_Lean_withoutModifyingState___at_Lean_Elab_Tactic_elabRewriteConfig___spec__12___at_Lean_Elab_Tactic_elabRewriteConfig___spec__13___closed__1 = _init_l_Lean_withoutModifyingState___at_Lean_Elab_Tactic_elabRewriteConfig___spec__12___at_Lean_Elab_Tactic_elabRewriteConfig___spec__13___closed__1(); lean_mark_persistent(l_Lean_withoutModifyingState___at_Lean_Elab_Tactic_elabRewriteConfig___spec__12___at_Lean_Elab_Tactic_elabRewriteConfig___spec__13___closed__1); l_Lean_withoutModifyingState___at_Lean_Elab_Tactic_elabRewriteConfig___spec__12___at_Lean_Elab_Tactic_elabRewriteConfig___spec__13___closed__2 = _init_l_Lean_withoutModifyingState___at_Lean_Elab_Tactic_elabRewriteConfig___spec__12___at_Lean_Elab_Tactic_elabRewriteConfig___spec__13___closed__2(); diff --git a/stage0/stdlib/Lean/Elab/Tactic/Unfold.c b/stage0/stdlib/Lean/Elab/Tactic/Unfold.c index 75a1bb6195..c0bea874ed 100644 --- a/stage0/stdlib/Lean/Elab/Tactic/Unfold.c +++ b/stage0/stdlib/Lean/Elab/Tactic/Unfold.c @@ -13,105 +13,131 @@ #ifdef __cplusplus extern "C" { #endif -LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_Elab_Tactic_evalUnfold_go___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); size_t lean_usize_add(size_t, size_t); lean_object* l_Lean_stringToMessageData(lean_object*); +LEAN_EXPORT lean_object* l_Lean_getConstInfo___at_Lean_Elab_Tactic_evalUnfold_go___spec__13(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalUnfold_declRange___closed__5; +lean_object* lean_mk_empty_array_with_capacity(lean_object*); lean_object* l_Lean_Name_str___override(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_evalUnfold_go___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* l_List_filterTRAux___at_Lean_resolveGlobalConstCore___spec__1(lean_object*, lean_object*); lean_object* lean_array_uget(lean_object*, size_t); -LEAN_EXPORT lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalUnfold_go___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_List_mapTRAux___at_Lean_resolveGlobalConstCore___spec__2(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_evalUnfold_go___spec__10(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_Format_defWidth; +LEAN_EXPORT lean_object* l_Lean_Elab_addConstInfo___at_Lean_Elab_Tactic_evalUnfold_go___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_List_filterMap___at_Lean_resolveGlobalConst___spec__1(lean_object*); -static lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalUnfold_go___spec__1___closed__1; -LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Tactic_evalUnfold_go___spec__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalUnfold_go___spec__1___closed__2; +LEAN_EXPORT lean_object* l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_Elab_Tactic_evalUnfold_go___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_EXPORT lean_object* l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_Elab_Tactic_evalUnfold_go___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_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Tactic_evalUnfold_go___spec__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* lean_environment_find(lean_object*, lean_object*); lean_object* lean_st_ref_get(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Tactic_evalUnfold(lean_object*); -static lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___spec__7___closed__4; LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalUnfold_go___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalUnfold___closed__12; lean_object* lean_array_get_size(lean_object*); lean_object* lean_string_append(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalUnfold_go(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalUnfold_go___spec__2___closed__3; +LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Tactic_evalUnfold_go___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalUnfold_go___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_EXPORT lean_object* l_Lean_resolveGlobalName___at_Lean_Elab_Tactic_evalUnfold_go___spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_evalUnfold_go___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_KeyedDeclsAttribute_addBuiltin___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_usize_dec_lt(size_t, size_t); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalUnfold_declRange___closed__6; -LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_evalUnfold_go___spec__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_Lean_Elab_Tactic_evalUnfold_go___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalUnfold_go___spec__3___closed__2; +static lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalUnfold_go___spec__2___closed__3; +extern lean_object* l_Lean_LocalContext_empty; lean_object* l_List_mapTRAux___at_Lean_resolveGlobalConstNoOverload___spec__1(lean_object*, lean_object*); +lean_object* l_Lean_ConstantInfo_levelParams(lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalUnfold___closed__2; static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalUnfold___closed__1; +lean_object* lean_st_ref_take(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_Lean_Elab_Tactic_evalUnfold_go___spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalUnfold___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_expandOptLocation(lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalUnfold___closed__11; static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalUnfold___closed__8; lean_object* l_Lean_Meta_unfoldTarget(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalUnfold_go___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_replaceRef(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalUnfold_go___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalUnfold___closed__9; +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_evalUnfold_go___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalUnfold_declRange___closed__3; +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_evalUnfold_go___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_format_pretty(lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalUnfold___closed__4; static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalUnfold_declRange___closed__7; LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_unfoldTarget(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_addBuiltinDeclarationRanges(lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalUnfold_go___spec__3___closed__1; +LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_Elab_Tactic_evalUnfold_go___spec__6___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*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalUnfold___closed__6; 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*); +LEAN_EXPORT lean_object* l_Lean_mkConstWithLevelParams___at_Lean_Elab_Tactic_evalUnfold_go___spec__12(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_evalUnfold_go___lambda__1___closed__1; LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalUnfold_go___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*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalUnfold___closed__13; -LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_Lean_Elab_Tactic_evalUnfold_go___spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalUnfold_go___spec__2___closed__2; +static lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___spec__8___closed__3; +static lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Tactic_evalUnfold_go___spec__15___closed__3; +LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_Elab_Tactic_evalUnfold_go___spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_evalUnfold_go___spec__14(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_evalUnfold_go___lambda__1___closed__2; lean_object* l_Lean_ResolveName_resolveGlobalName(lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Tactic_evalUnfold_go___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_Elab_Tactic_evalUnfold_go___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_evalUnfold_go___lambda__1___closed__3; size_t lean_usize_of_nat(lean_object*); static lean_object* l_Lean_Elab_Tactic_evalUnfold_go___lambda__1___closed__4; extern lean_object* l_Lean_Elab_Tactic_tacticElabAttribute; lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_evalTactic___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalUnfold_go___spec__3___closed__3; 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* l_Lean_Meta_unfoldLocalDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_Elab_Tactic_evalUnfold_go___spec__5___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_Std_PersistentArray_push___rarg(lean_object*, lean_object*); lean_object* l_Lean_Expr_const___override(lean_object*, lean_object*); lean_object* l_Lean_Syntax_getSepArgs(lean_object*); -LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_evalUnfold_go___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalUnfold_go___spec__1___closed__3; -LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Tactic_evalUnfold_go___spec__15(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Tactic_evalUnfold_go___spec__15___closed__2; +lean_object* l_List_mapTRAux___at_Lean_mkConstWithLevelParams___spec__1(lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalUnfold___closed__7; -static lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___spec__7___closed__1; -static lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___spec__7___closed__2; +LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoTree___at_Lean_Elab_Tactic_evalUnfold_go___spec__16(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*); +LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_Elab_Tactic_evalUnfold_go___spec__6___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_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalUnfold___closed__3; -LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_evalUnfold_go___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___spec__7___closed__3; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Tactic_evalUnfold___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_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Tactic_evalUnfold___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*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalUnfold___closed__14; static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalUnfold___closed__5; lean_object* l_Lean_Elab_Tactic_withLocation(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_Elab_Tactic_evalUnfold_go___spec__5___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*); +static lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalUnfold_go___spec__2___closed__1; +static lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Tactic_evalUnfold_go___spec__15___closed__1; +LEAN_EXPORT lean_object* l_Lean_mkConstWithLevelParams___at_Lean_Elab_Tactic_evalUnfold_go___spec__12___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_replaceMainGoal(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_addBuiltinDocString(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_getArg(lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalUnfold_docString___closed__1; +LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Tactic_evalUnfold_go___spec__15___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalUnfold_go___spec__2___closed__2; static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalUnfold_declRange___closed__2; +LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoTree___at_Lean_Elab_Tactic_evalUnfold_go___spec__16___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___spec__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalUnfold_declRange___closed__4; uint8_t l_List_isEmpty___rarg(lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_evalUnfold_go___spec__14___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalUnfold___closed__10; +LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___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* l_List_toString___at_Lean_resolveGlobalConstNoOverloadCore___spec__2(lean_object*); +static lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___spec__8___closed__1; +static lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___spec__8___closed__2; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Tactic_evalUnfold_declRange(lean_object*); +LEAN_EXPORT lean_object* l_Lean_getConstInfo___at_Lean_Elab_Tactic_evalUnfold_go___spec__13___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_Syntax_formatStxAux(lean_object*, uint8_t, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalUnfold_declRange___closed__1; LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalUnfold(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalUnfold_go___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_addConstInfo___at_Lean_Elab_Tactic_evalUnfold_go___spec__11___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_EXPORT lean_object* l___regBuiltin_Lean_Elab_Tactic_evalUnfold_docString(lean_object*); -static lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalUnfold_go___spec__2___closed__1; +static lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___spec__8___closed__4; LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_unfoldLocalDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_unfoldLocalDecl(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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: @@ -324,7 +350,7 @@ return x_27; } } } -LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_evalUnfold_go___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) { +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_evalUnfold_go___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) { _start: { lean_object* x_11; lean_object* x_12; uint8_t x_13; @@ -362,7 +388,7 @@ return x_19; } } } -LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Tactic_evalUnfold_go___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_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Tactic_evalUnfold_go___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, lean_object* x_11) { _start: { uint8_t x_12; @@ -375,7 +401,7 @@ x_14 = l_Lean_replaceRef(x_1, x_13); lean_dec(x_13); lean_dec(x_1); lean_ctor_set(x_9, 5, x_14); -x_15 = l_Lean_throwError___at_Lean_Elab_Tactic_evalUnfold_go___spec__4(x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +x_15 = l_Lean_throwError___at_Lean_Elab_Tactic_evalUnfold_go___spec__5(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); @@ -427,7 +453,7 @@ lean_ctor_set(x_28, 7, x_23); lean_ctor_set(x_28, 8, x_24); lean_ctor_set(x_28, 9, x_25); lean_ctor_set(x_28, 10, x_26); -x_29 = l_Lean_throwError___at_Lean_Elab_Tactic_evalUnfold_go___spec__4(x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_28, x_10, x_11); +x_29 = l_Lean_throwError___at_Lean_Elab_Tactic_evalUnfold_go___spec__5(x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_28, x_10, x_11); lean_dec(x_10); lean_dec(x_28); lean_dec(x_8); @@ -440,7 +466,7 @@ return x_29; } } } -LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_Lean_Elab_Tactic_evalUnfold_go___spec__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, lean_object* x_10) { +LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_Lean_Elab_Tactic_evalUnfold_go___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* x_10) { _start: { lean_object* x_11; uint8_t x_12; @@ -486,7 +512,7 @@ return x_24; } } } -static lean_object* _init_l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___spec__7___closed__1() { +static lean_object* _init_l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___spec__8___closed__1() { _start: { lean_object* x_1; @@ -494,16 +520,16 @@ x_1 = lean_mk_string_from_bytes("unknown constant '", 18); return x_1; } } -static lean_object* _init_l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___spec__7___closed__2() { +static lean_object* _init_l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___spec__8___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___spec__7___closed__1; +x_1 = l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___spec__8___closed__1; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -static lean_object* _init_l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___spec__7___closed__3() { +static lean_object* _init_l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___spec__8___closed__3() { _start: { lean_object* x_1; @@ -511,16 +537,16 @@ x_1 = lean_mk_string_from_bytes("'", 1); return x_1; } } -static lean_object* _init_l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___spec__7___closed__4() { +static lean_object* _init_l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___spec__8___closed__4() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___spec__7___closed__3; +x_1 = l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___spec__8___closed__3; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___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* x_10) { +LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___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* 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; @@ -528,11 +554,11 @@ x_11 = lean_box(0); x_12 = l_Lean_Expr_const___override(x_1, x_11); x_13 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_13, 0, x_12); -x_14 = l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___spec__7___closed__2; +x_14 = l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___spec__8___closed__2; x_15 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_15, 0, x_14); lean_ctor_set(x_15, 1, x_13); -x_16 = l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___spec__7___closed__4; +x_16 = l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___spec__8___closed__4; x_17 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_17, 0, x_15); lean_ctor_set(x_17, 1, x_16); @@ -540,7 +566,7 @@ x_18 = l_Lean_throwError___at_Lean_Elab_Tactic_evalTactic___spec__2(x_17, x_2, x return x_18; } } -LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_Elab_Tactic_evalUnfold_go___spec__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* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_Elab_Tactic_evalUnfold_go___spec__6___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { _start: { lean_object* x_13; lean_object* x_14; @@ -551,13 +577,13 @@ lean_ctor_set(x_14, 1, x_12); return x_14; } } -LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_Elab_Tactic_evalUnfold_go___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_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_Elab_Tactic_evalUnfold_go___spec__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, 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; uint8_t x_16; lean_inc(x_8); lean_inc(x_1); -x_11 = l_Lean_resolveGlobalName___at_Lean_Elab_Tactic_evalUnfold_go___spec__6(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_11 = l_Lean_resolveGlobalName___at_Lean_Elab_Tactic_evalUnfold_go___spec__7(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); x_12 = lean_ctor_get(x_11, 0); lean_inc(x_12); x_13 = lean_ctor_get(x_11, 1); @@ -571,7 +597,7 @@ if (x_16 == 0) lean_object* x_17; lean_object* x_18; lean_dec(x_1); x_17 = lean_box(0); -x_18 = l_Lean_resolveGlobalConstCore___at_Lean_Elab_Tactic_evalUnfold_go___spec__5___lambda__1(x_15, x_14, x_17, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_13); +x_18 = l_Lean_resolveGlobalConstCore___at_Lean_Elab_Tactic_evalUnfold_go___spec__6___lambda__1(x_15, x_14, x_17, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_13); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); @@ -586,7 +612,7 @@ else { lean_object* x_19; uint8_t x_20; lean_dec(x_15); -x_19 = l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___spec__7(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_13); +x_19 = l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___spec__8(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_13); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); @@ -616,7 +642,7 @@ return x_23; } } } -static lean_object* _init_l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalUnfold_go___spec__2___closed__1() { +static lean_object* _init_l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalUnfold_go___spec__3___closed__1() { _start: { lean_object* x_1; @@ -624,27 +650,27 @@ x_1 = lean_mk_string_from_bytes("expected identifier", 19); return x_1; } } -static lean_object* _init_l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalUnfold_go___spec__2___closed__2() { +static lean_object* _init_l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalUnfold_go___spec__3___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalUnfold_go___spec__2___closed__1; +x_1 = l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalUnfold_go___spec__3___closed__1; 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_resolveGlobalConst___at_Lean_Elab_Tactic_evalUnfold_go___spec__2___closed__3() { +static lean_object* _init_l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalUnfold_go___spec__3___closed__3() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalUnfold_go___spec__2___closed__2; +x_1 = l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalUnfold_go___spec__3___closed__2; x_2 = lean_alloc_ctor(0, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -LEAN_EXPORT lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalUnfold_go___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_EXPORT lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalUnfold_go___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_1) == 3) @@ -687,7 +713,7 @@ x_18 = l_Lean_replaceRef(x_1, x_17); lean_dec(x_17); lean_dec(x_1); lean_ctor_set(x_8, 5, x_18); -x_19 = l_Lean_resolveGlobalConstCore___at_Lean_Elab_Tactic_evalUnfold_go___spec__5(x_11, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_19 = l_Lean_resolveGlobalConstCore___at_Lean_Elab_Tactic_evalUnfold_go___spec__6(x_11, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); return x_19; } else @@ -731,7 +757,7 @@ lean_ctor_set(x_32, 7, x_27); lean_ctor_set(x_32, 8, x_28); lean_ctor_set(x_32, 9, x_29); lean_ctor_set(x_32, 10, x_30); -x_33 = l_Lean_resolveGlobalConstCore___at_Lean_Elab_Tactic_evalUnfold_go___spec__5(x_11, x_2, x_3, x_4, x_5, x_6, x_7, x_32, x_9, x_10); +x_33 = l_Lean_resolveGlobalConstCore___at_Lean_Elab_Tactic_evalUnfold_go___spec__6(x_11, x_2, x_3, x_4, x_5, x_6, x_7, x_32, x_9, x_10); return x_33; } } @@ -739,13 +765,13 @@ return x_33; else { lean_object* x_34; lean_object* x_35; -x_34 = l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalUnfold_go___spec__2___closed__3; -x_35 = l_Lean_throwErrorAt___at_Lean_Elab_Tactic_evalUnfold_go___spec__3(x_1, x_34, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_34 = l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalUnfold_go___spec__3___closed__3; +x_35 = l_Lean_throwErrorAt___at_Lean_Elab_Tactic_evalUnfold_go___spec__4(x_1, x_34, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); return x_35; } } } -LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_evalUnfold_go___spec__9(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_evalUnfold_go___spec__10(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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; uint8_t x_13; @@ -783,7 +809,7 @@ return x_19; } } } -LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Tactic_evalUnfold_go___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* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Tactic_evalUnfold_go___spec__9(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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; @@ -796,7 +822,7 @@ x_14 = l_Lean_replaceRef(x_1, x_13); lean_dec(x_13); lean_dec(x_1); lean_ctor_set(x_9, 5, x_14); -x_15 = l_Lean_throwError___at_Lean_Elab_Tactic_evalUnfold_go___spec__9(x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +x_15 = l_Lean_throwError___at_Lean_Elab_Tactic_evalUnfold_go___spec__10(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); @@ -848,7 +874,7 @@ lean_ctor_set(x_28, 7, x_23); lean_ctor_set(x_28, 8, x_24); lean_ctor_set(x_28, 9, x_25); lean_ctor_set(x_28, 10, x_26); -x_29 = l_Lean_throwError___at_Lean_Elab_Tactic_evalUnfold_go___spec__9(x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_28, x_10, x_11); +x_29 = l_Lean_throwError___at_Lean_Elab_Tactic_evalUnfold_go___spec__10(x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_28, x_10, x_11); lean_dec(x_10); lean_dec(x_28); lean_dec(x_8); @@ -861,7 +887,7 @@ return x_29; } } } -static lean_object* _init_l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalUnfold_go___spec__1___closed__1() { +static lean_object* _init_l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalUnfold_go___spec__2___closed__1() { _start: { lean_object* x_1; @@ -869,7 +895,7 @@ x_1 = lean_mk_string_from_bytes("ambiguous identifier '", 22); return x_1; } } -static lean_object* _init_l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalUnfold_go___spec__1___closed__2() { +static lean_object* _init_l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalUnfold_go___spec__2___closed__2() { _start: { lean_object* x_1; @@ -877,7 +903,7 @@ x_1 = lean_mk_string_from_bytes("', possible interpretations: ", 29); return x_1; } } -static lean_object* _init_l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalUnfold_go___spec__1___closed__3() { +static lean_object* _init_l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalUnfold_go___spec__2___closed__3() { _start: { lean_object* x_1; @@ -885,7 +911,7 @@ x_1 = lean_mk_string_from_bytes("", 0); return x_1; } } -LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalUnfold_go___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_EXPORT lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalUnfold_go___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) { _start: { lean_object* x_11; @@ -898,7 +924,7 @@ lean_inc(x_4); lean_inc(x_3); lean_inc(x_2); lean_inc(x_1); -x_11 = l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalUnfold_go___spec__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_11 = l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalUnfold_go___spec__3(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); if (lean_obj_tag(x_11) == 0) { lean_object* x_12; @@ -917,23 +943,23 @@ lean_inc(x_1); x_17 = l_Lean_Syntax_formatStxAux(x_14, x_15, x_16, x_1); x_18 = l_Std_Format_defWidth; x_19 = lean_format_pretty(x_17, x_18); -x_20 = l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalUnfold_go___spec__1___closed__1; +x_20 = l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalUnfold_go___spec__2___closed__1; x_21 = lean_string_append(x_20, x_19); lean_dec(x_19); -x_22 = l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalUnfold_go___spec__1___closed__2; +x_22 = l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalUnfold_go___spec__2___closed__2; x_23 = lean_string_append(x_21, x_22); x_24 = lean_box(0); x_25 = l_List_mapTRAux___at_Lean_resolveGlobalConstNoOverload___spec__1(x_12, x_24); x_26 = l_List_toString___at_Lean_resolveGlobalConstNoOverloadCore___spec__2(x_25); x_27 = lean_string_append(x_23, x_26); lean_dec(x_26); -x_28 = l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalUnfold_go___spec__1___closed__3; +x_28 = l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalUnfold_go___spec__2___closed__3; x_29 = lean_string_append(x_27, x_28); x_30 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_30, 0, x_29); x_31 = lean_alloc_ctor(0, 1, 0); lean_ctor_set(x_31, 0, x_30); -x_32 = l_Lean_throwErrorAt___at_Lean_Elab_Tactic_evalUnfold_go___spec__8(x_1, x_31, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_13); +x_32 = l_Lean_throwErrorAt___at_Lean_Elab_Tactic_evalUnfold_go___spec__9(x_1, x_31, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_13); return x_32; } else @@ -994,23 +1020,23 @@ lean_inc(x_1); x_44 = l_Lean_Syntax_formatStxAux(x_41, x_42, x_43, x_1); x_45 = l_Std_Format_defWidth; x_46 = lean_format_pretty(x_44, x_45); -x_47 = l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalUnfold_go___spec__1___closed__1; +x_47 = l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalUnfold_go___spec__2___closed__1; x_48 = lean_string_append(x_47, x_46); lean_dec(x_46); -x_49 = l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalUnfold_go___spec__1___closed__2; +x_49 = l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalUnfold_go___spec__2___closed__2; x_50 = lean_string_append(x_48, x_49); x_51 = lean_box(0); x_52 = l_List_mapTRAux___at_Lean_resolveGlobalConstNoOverload___spec__1(x_12, x_51); x_53 = l_List_toString___at_Lean_resolveGlobalConstNoOverloadCore___spec__2(x_52); x_54 = lean_string_append(x_50, x_53); lean_dec(x_53); -x_55 = l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalUnfold_go___spec__1___closed__3; +x_55 = l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalUnfold_go___spec__2___closed__3; x_56 = lean_string_append(x_54, x_55); x_57 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_57, 0, x_56); x_58 = lean_alloc_ctor(0, 1, 0); lean_ctor_set(x_58, 0, x_57); -x_59 = l_Lean_throwErrorAt___at_Lean_Elab_Tactic_evalUnfold_go___spec__8(x_1, x_58, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_40); +x_59 = l_Lean_throwErrorAt___at_Lean_Elab_Tactic_evalUnfold_go___spec__9(x_1, x_58, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_40); return x_59; } } @@ -1048,6 +1074,722 @@ return x_63; } } } +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_evalUnfold_go___spec__14(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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; uint8_t x_13; +x_11 = lean_ctor_get(x_8, 5); +x_12 = l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(x_1, x_6, x_7, x_8, x_9, x_10); +x_13 = !lean_is_exclusive(x_12); +if (x_13 == 0) +{ +lean_object* x_14; lean_object* x_15; +x_14 = lean_ctor_get(x_12, 0); +lean_inc(x_11); +x_15 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_15, 0, x_11); +lean_ctor_set(x_15, 1, x_14); +lean_ctor_set_tag(x_12, 1); +lean_ctor_set(x_12, 0, x_15); +return x_12; +} +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_inc(x_16); +lean_dec(x_12); +lean_inc(x_11); +x_18 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_18, 0, x_11); +lean_ctor_set(x_18, 1, x_16); +x_19 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_19, 0, x_18); +lean_ctor_set(x_19, 1, x_17); +return x_19; +} +} +} +LEAN_EXPORT lean_object* l_Lean_getConstInfo___at_Lean_Elab_Tactic_evalUnfold_go___spec__13(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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; +x_11 = lean_st_ref_get(x_9, x_10); +x_12 = !lean_is_exclusive(x_11); +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_11, 0); +x_14 = lean_ctor_get(x_11, 1); +x_15 = lean_ctor_get(x_13, 0); +lean_inc(x_15); +lean_dec(x_13); +lean_inc(x_1); +x_16 = lean_environment_find(x_15, x_1); +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; lean_object* x_24; +lean_free_object(x_11); +x_17 = lean_box(0); +x_18 = l_Lean_Expr_const___override(x_1, x_17); +x_19 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_19, 0, x_18); +x_20 = l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___spec__8___closed__2; +x_21 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_21, 0, x_20); +lean_ctor_set(x_21, 1, x_19); +x_22 = l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___spec__8___closed__4; +x_23 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_23, 0, x_21); +lean_ctor_set(x_23, 1, x_22); +x_24 = l_Lean_throwError___at_Lean_Elab_Tactic_evalUnfold_go___spec__14(x_23, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_14); +return x_24; +} +else +{ +lean_object* x_25; +lean_dec(x_1); +x_25 = lean_ctor_get(x_16, 0); +lean_inc(x_25); +lean_dec(x_16); +lean_ctor_set(x_11, 0, x_25); +return x_11; +} +} +else +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; +x_26 = lean_ctor_get(x_11, 0); +x_27 = lean_ctor_get(x_11, 1); +lean_inc(x_27); +lean_inc(x_26); +lean_dec(x_11); +x_28 = lean_ctor_get(x_26, 0); +lean_inc(x_28); +lean_dec(x_26); +lean_inc(x_1); +x_29 = lean_environment_find(x_28, x_1); +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; +x_30 = lean_box(0); +x_31 = l_Lean_Expr_const___override(x_1, x_30); +x_32 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_32, 0, x_31); +x_33 = l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___spec__8___closed__2; +x_34 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_34, 0, x_33); +lean_ctor_set(x_34, 1, x_32); +x_35 = l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___spec__8___closed__4; +x_36 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_36, 0, x_34); +lean_ctor_set(x_36, 1, x_35); +x_37 = l_Lean_throwError___at_Lean_Elab_Tactic_evalUnfold_go___spec__14(x_36, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_27); +return x_37; +} +else +{ +lean_object* x_38; lean_object* x_39; +lean_dec(x_1); +x_38 = lean_ctor_get(x_29, 0); +lean_inc(x_38); +lean_dec(x_29); +x_39 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_39, 0, x_38); +lean_ctor_set(x_39, 1, x_27); +return x_39; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_mkConstWithLevelParams___at_Lean_Elab_Tactic_evalUnfold_go___spec__12(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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_inc(x_1); +x_11 = l_Lean_getConstInfo___at_Lean_Elab_Tactic_evalUnfold_go___spec__13(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +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; lean_object* x_15; lean_object* x_16; lean_object* x_17; +x_13 = lean_ctor_get(x_11, 0); +x_14 = l_Lean_ConstantInfo_levelParams(x_13); +lean_dec(x_13); +x_15 = lean_box(0); +x_16 = l_List_mapTRAux___at_Lean_mkConstWithLevelParams___spec__1(x_14, x_15); +x_17 = l_Lean_Expr_const___override(x_1, x_16); +lean_ctor_set(x_11, 0, x_17); +return x_11; +} +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_11, 0); +x_19 = lean_ctor_get(x_11, 1); +lean_inc(x_19); +lean_inc(x_18); +lean_dec(x_11); +x_20 = l_Lean_ConstantInfo_levelParams(x_18); +lean_dec(x_18); +x_21 = lean_box(0); +x_22 = l_List_mapTRAux___at_Lean_mkConstWithLevelParams___spec__1(x_20, x_21); +x_23 = l_Lean_Expr_const___override(x_1, x_22); +x_24 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_24, 0, x_23); +lean_ctor_set(x_24, 1, x_19); +return x_24; +} +} +else +{ +uint8_t x_25; +lean_dec(x_1); +x_25 = !lean_is_exclusive(x_11); +if (x_25 == 0) +{ +return x_11; +} +else +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_26 = lean_ctor_get(x_11, 0); +x_27 = lean_ctor_get(x_11, 1); +lean_inc(x_27); +lean_inc(x_26); +lean_dec(x_11); +x_28 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_28, 0, x_26); +lean_ctor_set(x_28, 1, x_27); +return x_28; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoTree___at_Lean_Elab_Tactic_evalUnfold_go___spec__16(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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; uint8_t x_14; +x_11 = lean_st_ref_get(x_9, x_10); +x_12 = lean_ctor_get(x_11, 0); +lean_inc(x_12); +x_13 = lean_ctor_get(x_12, 6); +lean_inc(x_13); +lean_dec(x_12); +x_14 = lean_ctor_get_uint8(x_13, sizeof(void*)*2); +lean_dec(x_13); +if (x_14 == 0) +{ +uint8_t x_15; +lean_dec(x_1); +x_15 = !lean_is_exclusive(x_11); +if (x_15 == 0) +{ +lean_object* x_16; lean_object* x_17; +x_16 = lean_ctor_get(x_11, 0); +lean_dec(x_16); +x_17 = lean_box(0); +lean_ctor_set(x_11, 0, x_17); +return x_11; +} +else +{ +lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_18 = lean_ctor_get(x_11, 1); +lean_inc(x_18); +lean_dec(x_11); +x_19 = lean_box(0); +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_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; uint8_t x_26; +x_21 = lean_ctor_get(x_11, 1); +lean_inc(x_21); +lean_dec(x_11); +x_22 = lean_st_ref_take(x_9, x_21); +x_23 = lean_ctor_get(x_22, 0); +lean_inc(x_23); +x_24 = lean_ctor_get(x_23, 6); +lean_inc(x_24); +x_25 = lean_ctor_get(x_22, 1); +lean_inc(x_25); +lean_dec(x_22); +x_26 = !lean_is_exclusive(x_23); +if (x_26 == 0) +{ +lean_object* x_27; uint8_t x_28; +x_27 = lean_ctor_get(x_23, 6); +lean_dec(x_27); +x_28 = !lean_is_exclusive(x_24); +if (x_28 == 0) +{ +lean_object* x_29; lean_object* x_30; lean_object* x_31; uint8_t x_32; +x_29 = lean_ctor_get(x_24, 1); +x_30 = l_Std_PersistentArray_push___rarg(x_29, x_1); +lean_ctor_set(x_24, 1, x_30); +x_31 = lean_st_ref_set(x_9, x_23, x_25); +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(0); +lean_ctor_set(x_31, 0, x_34); +return x_31; +} +else +{ +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(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; +} +} +else +{ +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; +x_38 = lean_ctor_get_uint8(x_24, sizeof(void*)*2); +x_39 = lean_ctor_get(x_24, 0); +x_40 = lean_ctor_get(x_24, 1); +lean_inc(x_40); +lean_inc(x_39); +lean_dec(x_24); +x_41 = l_Std_PersistentArray_push___rarg(x_40, x_1); +x_42 = lean_alloc_ctor(0, 2, 1); +lean_ctor_set(x_42, 0, x_39); +lean_ctor_set(x_42, 1, x_41); +lean_ctor_set_uint8(x_42, sizeof(void*)*2, x_38); +lean_ctor_set(x_23, 6, x_42); +x_43 = lean_st_ref_set(x_9, x_23, x_25); +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); +} +x_46 = lean_box(0); +if (lean_is_scalar(x_45)) { + x_47 = lean_alloc_ctor(0, 2, 0); +} else { + x_47 = x_45; +} +lean_ctor_set(x_47, 0, x_46); +lean_ctor_set(x_47, 1, x_44); +return x_47; +} +} +else +{ +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_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; +x_48 = lean_ctor_get(x_23, 0); +x_49 = lean_ctor_get(x_23, 1); +x_50 = lean_ctor_get(x_23, 2); +x_51 = lean_ctor_get(x_23, 3); +x_52 = lean_ctor_get(x_23, 4); +x_53 = lean_ctor_get(x_23, 5); +lean_inc(x_53); +lean_inc(x_52); +lean_inc(x_51); +lean_inc(x_50); +lean_inc(x_49); +lean_inc(x_48); +lean_dec(x_23); +x_54 = lean_ctor_get_uint8(x_24, sizeof(void*)*2); +x_55 = lean_ctor_get(x_24, 0); +lean_inc(x_55); +x_56 = lean_ctor_get(x_24, 1); +lean_inc(x_56); +if (lean_is_exclusive(x_24)) { + lean_ctor_release(x_24, 0); + lean_ctor_release(x_24, 1); + x_57 = x_24; +} else { + lean_dec_ref(x_24); + x_57 = lean_box(0); +} +x_58 = l_Std_PersistentArray_push___rarg(x_56, x_1); +if (lean_is_scalar(x_57)) { + x_59 = lean_alloc_ctor(0, 2, 1); +} else { + x_59 = x_57; +} +lean_ctor_set(x_59, 0, x_55); +lean_ctor_set(x_59, 1, x_58); +lean_ctor_set_uint8(x_59, sizeof(void*)*2, x_54); +x_60 = lean_alloc_ctor(0, 7, 0); +lean_ctor_set(x_60, 0, x_48); +lean_ctor_set(x_60, 1, x_49); +lean_ctor_set(x_60, 2, x_50); +lean_ctor_set(x_60, 3, x_51); +lean_ctor_set(x_60, 4, x_52); +lean_ctor_set(x_60, 5, x_53); +lean_ctor_set(x_60, 6, x_59); +x_61 = lean_st_ref_set(x_9, x_60, x_25); +x_62 = lean_ctor_get(x_61, 1); +lean_inc(x_62); +if (lean_is_exclusive(x_61)) { + lean_ctor_release(x_61, 0); + lean_ctor_release(x_61, 1); + x_63 = x_61; +} else { + lean_dec_ref(x_61); + x_63 = lean_box(0); +} +x_64 = lean_box(0); +if (lean_is_scalar(x_63)) { + x_65 = lean_alloc_ctor(0, 2, 0); +} else { + x_65 = x_63; +} +lean_ctor_set(x_65, 0, x_64); +lean_ctor_set(x_65, 1, x_62); +return x_65; +} +} +} +} +static lean_object* _init_l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Tactic_evalUnfold_go___spec__15___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = lean_unsigned_to_nat(32u); +x_2 = lean_mk_empty_array_with_capacity(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Tactic_evalUnfold_go___spec__15___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Tactic_evalUnfold_go___spec__15___closed__1; +x_2 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Tactic_evalUnfold_go___spec__15___closed__3() { +_start: +{ +size_t x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; +x_1 = 5; +x_2 = l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Tactic_evalUnfold_go___spec__15___closed__2; +x_3 = l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Tactic_evalUnfold_go___spec__15___closed__1; +x_4 = lean_unsigned_to_nat(0u); +x_5 = lean_alloc_ctor(0, 4, sizeof(size_t)*1); +lean_ctor_set(x_5, 0, x_2); +lean_ctor_set(x_5, 1, x_3); +lean_ctor_set(x_5, 2, x_4); +lean_ctor_set(x_5, 3, x_4); +lean_ctor_set_usize(x_5, 4, x_1); +return x_5; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Tactic_evalUnfold_go___spec__15(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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; uint8_t x_14; +x_11 = lean_st_ref_get(x_9, x_10); +x_12 = lean_ctor_get(x_11, 0); +lean_inc(x_12); +x_13 = lean_ctor_get(x_12, 6); +lean_inc(x_13); +lean_dec(x_12); +x_14 = lean_ctor_get_uint8(x_13, sizeof(void*)*2); +lean_dec(x_13); +if (x_14 == 0) +{ +uint8_t x_15; +lean_dec(x_1); +x_15 = !lean_is_exclusive(x_11); +if (x_15 == 0) +{ +lean_object* x_16; lean_object* x_17; +x_16 = lean_ctor_get(x_11, 0); +lean_dec(x_16); +x_17 = lean_box(0); +lean_ctor_set(x_11, 0, x_17); +return x_11; +} +else +{ +lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_18 = lean_ctor_get(x_11, 1); +lean_inc(x_18); +lean_dec(x_11); +x_19 = lean_box(0); +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_object* x_22; lean_object* x_23; lean_object* x_24; +x_21 = lean_ctor_get(x_11, 1); +lean_inc(x_21); +lean_dec(x_11); +x_22 = l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Tactic_evalUnfold_go___spec__15___closed__3; +x_23 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_23, 0, x_1); +lean_ctor_set(x_23, 1, x_22); +x_24 = l_Lean_Elab_pushInfoTree___at_Lean_Elab_Tactic_evalUnfold_go___spec__16(x_23, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_21); +return x_24; +} +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_addConstInfo___at_Lean_Elab_Tactic_evalUnfold_go___spec__11(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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; +x_13 = l_Lean_mkConstWithLevelParams___at_Lean_Elab_Tactic_evalUnfold_go___spec__12(x_2, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, 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; lean_object* x_18; uint8_t x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; +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_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_1); +x_18 = l_Lean_LocalContext_empty; +x_19 = 0; +x_20 = lean_alloc_ctor(0, 4, 1); +lean_ctor_set(x_20, 0, x_17); +lean_ctor_set(x_20, 1, x_18); +lean_ctor_set(x_20, 2, x_3); +lean_ctor_set(x_20, 3, x_14); +lean_ctor_set_uint8(x_20, sizeof(void*)*4, x_19); +x_21 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_21, 0, x_20); +x_22 = l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Tactic_evalUnfold_go___spec__15(x_21, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_15); +lean_dec(x_10); +lean_dec(x_8); +lean_dec(x_6); +lean_dec(x_4); +return x_22; +} +else +{ +uint8_t x_23; +lean_dec(x_10); +lean_dec(x_8); +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_1); +x_23 = !lean_is_exclusive(x_13); +if (x_23 == 0) +{ +return x_13; +} +else +{ +lean_object* x_24; lean_object* x_25; lean_object* x_26; +x_24 = lean_ctor_get(x_13, 0); +x_25 = lean_ctor_get(x_13, 1); +lean_inc(x_25); +lean_inc(x_24); +lean_dec(x_13); +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; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_Elab_Tactic_evalUnfold_go___spec__1___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +_start: +{ +lean_object* x_12; +x_12 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_12, 0, x_1); +lean_ctor_set(x_12, 1, x_11); +return x_12; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_Elab_Tactic_evalUnfold_go___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: +{ +lean_object* x_12; +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_1); +x_12 = l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalUnfold_go___spec__2(x_1, x_3, x_4, x_5, x_6, 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; uint8_t x_18; +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_st_ref_get(x_10, x_14); +x_16 = lean_ctor_get(x_15, 0); +lean_inc(x_16); +x_17 = lean_ctor_get(x_16, 6); +lean_inc(x_17); +lean_dec(x_16); +x_18 = lean_ctor_get_uint8(x_17, sizeof(void*)*2); +lean_dec(x_17); +if (x_18 == 0) +{ +uint8_t x_19; +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); +lean_dec(x_1); +x_19 = !lean_is_exclusive(x_15); +if (x_19 == 0) +{ +lean_object* x_20; +x_20 = lean_ctor_get(x_15, 0); +lean_dec(x_20); +lean_ctor_set(x_15, 0, x_13); +return x_15; +} +else +{ +lean_object* x_21; lean_object* x_22; +x_21 = lean_ctor_get(x_15, 1); +lean_inc(x_21); +lean_dec(x_15); +x_22 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_22, 0, x_13); +lean_ctor_set(x_22, 1, x_21); +return x_22; +} +} +else +{ +lean_object* x_23; lean_object* x_24; +x_23 = lean_ctor_get(x_15, 1); +lean_inc(x_23); +lean_dec(x_15); +lean_inc(x_13); +x_24 = l_Lean_Elab_addConstInfo___at_Lean_Elab_Tactic_evalUnfold_go___spec__11(x_1, x_13, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_23); +lean_dec(x_10); +lean_dec(x_8); +lean_dec(x_6); +lean_dec(x_4); +if (lean_obj_tag(x_24) == 0) +{ +uint8_t x_25; +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_13); +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_13); +lean_ctor_set(x_28, 1, x_27); +return x_28; +} +} +else +{ +uint8_t x_29; +lean_dec(x_13); +x_29 = !lean_is_exclusive(x_24); +if (x_29 == 0) +{ +return x_24; +} +else +{ +lean_object* x_30; lean_object* x_31; lean_object* x_32; +x_30 = lean_ctor_get(x_24, 0); +x_31 = lean_ctor_get(x_24, 1); +lean_inc(x_31); +lean_inc(x_30); +lean_dec(x_24); +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 +{ +uint8_t x_33; +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); +lean_dec(x_1); +x_33 = !lean_is_exclusive(x_12); +if (x_33 == 0) +{ +return x_12; +} +else +{ +lean_object* x_34; lean_object* x_35; lean_object* x_36; +x_34 = lean_ctor_get(x_12, 0); +x_35 = lean_ctor_get(x_12, 1); +lean_inc(x_35); +lean_inc(x_34); +lean_dec(x_12); +x_36 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_36, 0, x_34); +lean_ctor_set(x_36, 1, x_35); +return x_36; +} +} +} +} static lean_object* _init_l_Lean_Elab_Tactic_evalUnfold_go___lambda__1___closed__1() { _start: { @@ -1093,7 +1835,7 @@ x_13 = l_Lean_Elab_Tactic_evalUnfold_go___lambda__1___closed__4; x_14 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_14, 0, x_13); lean_ctor_set(x_14, 1, x_12); -x_15 = l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___spec__7___closed__4; +x_15 = l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___spec__8___closed__4; x_16 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_16, 0, x_14); lean_ctor_set(x_16, 1, x_15); @@ -1105,7 +1847,8 @@ return x_18; LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalUnfold_go(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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; +lean_object* x_12; lean_object* x_13; +x_12 = lean_box(0); lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); @@ -1114,29 +1857,29 @@ lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); -x_12 = l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalUnfold_go___spec__1(x_1, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); -if (lean_obj_tag(x_12) == 0) +x_13 = l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_Elab_Tactic_evalUnfold_go___spec__1(x_1, x_12, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +if (lean_obj_tag(x_13) == 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_12, 0); -lean_inc(x_13); -x_14 = lean_ctor_get(x_12, 1); +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_13, 0); lean_inc(x_14); -lean_dec(x_12); -lean_inc(x_13); -x_15 = lean_alloc_closure((void*)(l_Lean_Elab_Tactic_unfoldLocalDecl), 11, 1); -lean_closure_set(x_15, 0, x_13); -lean_inc(x_13); -x_16 = lean_alloc_closure((void*)(l_Lean_Elab_Tactic_unfoldTarget), 10, 1); -lean_closure_set(x_16, 0, x_13); -x_17 = lean_alloc_closure((void*)(l_Lean_Elab_Tactic_evalUnfold_go___lambda__1___boxed), 11, 1); -lean_closure_set(x_17, 0, x_13); -x_18 = l_Lean_Elab_Tactic_withLocation(x_2, x_15, x_16, x_17, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_14); -return x_18; +x_15 = lean_ctor_get(x_13, 1); +lean_inc(x_15); +lean_dec(x_13); +lean_inc(x_14); +x_16 = lean_alloc_closure((void*)(l_Lean_Elab_Tactic_unfoldLocalDecl), 11, 1); +lean_closure_set(x_16, 0, x_14); +lean_inc(x_14); +x_17 = lean_alloc_closure((void*)(l_Lean_Elab_Tactic_unfoldTarget), 10, 1); +lean_closure_set(x_17, 0, x_14); +x_18 = lean_alloc_closure((void*)(l_Lean_Elab_Tactic_evalUnfold_go___lambda__1___boxed), 11, 1); +lean_closure_set(x_18, 0, x_14); +x_19 = l_Lean_Elab_Tactic_withLocation(x_2, x_16, x_17, x_18, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_15); +return x_19; } else { -uint8_t x_19; +uint8_t x_20; lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); @@ -1145,32 +1888,32 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_19 = !lean_is_exclusive(x_12); -if (x_19 == 0) +x_20 = !lean_is_exclusive(x_13); +if (x_20 == 0) { -return x_12; +return x_13; } else { -lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_20 = lean_ctor_get(x_12, 0); -x_21 = lean_ctor_get(x_12, 1); +lean_object* x_21; lean_object* x_22; lean_object* x_23; +x_21 = lean_ctor_get(x_13, 0); +x_22 = lean_ctor_get(x_13, 1); +lean_inc(x_22); lean_inc(x_21); -lean_inc(x_20); -lean_dec(x_12); -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_13); +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_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_evalUnfold_go___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_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_evalUnfold_go___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) { _start: { lean_object* x_11; -x_11 = l_Lean_throwError___at_Lean_Elab_Tactic_evalUnfold_go___spec__4(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_11 = l_Lean_throwError___at_Lean_Elab_Tactic_evalUnfold_go___spec__5(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); @@ -1182,11 +1925,11 @@ lean_dec(x_2); return x_11; } } -LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_Lean_Elab_Tactic_evalUnfold_go___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_EXPORT lean_object* l_Lean_resolveGlobalName___at_Lean_Elab_Tactic_evalUnfold_go___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* x_10) { _start: { lean_object* x_11; -x_11 = l_Lean_resolveGlobalName___at_Lean_Elab_Tactic_evalUnfold_go___spec__6(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_11 = l_Lean_resolveGlobalName___at_Lean_Elab_Tactic_evalUnfold_go___spec__7(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_7); lean_dec(x_6); @@ -1197,11 +1940,11 @@ lean_dec(x_2); return x_11; } } -LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___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* x_10) { +LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___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) { _start: { lean_object* x_11; -x_11 = l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___spec__7(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_11 = l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___spec__8(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); @@ -1213,11 +1956,11 @@ lean_dec(x_2); return x_11; } } -LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_Elab_Tactic_evalUnfold_go___spec__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* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_Elab_Tactic_evalUnfold_go___spec__6___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: { lean_object* x_13; -x_13 = l_Lean_resolveGlobalConstCore___at_Lean_Elab_Tactic_evalUnfold_go___spec__5___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); +x_13 = l_Lean_resolveGlobalConstCore___at_Lean_Elab_Tactic_evalUnfold_go___spec__6___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); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); @@ -1230,11 +1973,11 @@ lean_dec(x_3); return x_13; } } -LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_evalUnfold_go___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_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_evalUnfold_go___spec__10___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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_throwError___at_Lean_Elab_Tactic_evalUnfold_go___spec__9(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_11 = l_Lean_throwError___at_Lean_Elab_Tactic_evalUnfold_go___spec__10(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); @@ -1246,6 +1989,115 @@ lean_dec(x_2); return x_11; } } +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_evalUnfold_go___spec__14___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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_throwError___at_Lean_Elab_Tactic_evalUnfold_go___spec__14(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_11; +} +} +LEAN_EXPORT lean_object* l_Lean_getConstInfo___at_Lean_Elab_Tactic_evalUnfold_go___spec__13___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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_getConstInfo___at_Lean_Elab_Tactic_evalUnfold_go___spec__13(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_11; +} +} +LEAN_EXPORT lean_object* l_Lean_mkConstWithLevelParams___at_Lean_Elab_Tactic_evalUnfold_go___spec__12___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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_mkConstWithLevelParams___at_Lean_Elab_Tactic_evalUnfold_go___spec__12(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_11; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoTree___at_Lean_Elab_Tactic_evalUnfold_go___spec__16___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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_Elab_pushInfoTree___at_Lean_Elab_Tactic_evalUnfold_go___spec__16(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_11; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Tactic_evalUnfold_go___spec__15___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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_Elab_pushInfoLeaf___at_Lean_Elab_Tactic_evalUnfold_go___spec__15(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_11; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_addConstInfo___at_Lean_Elab_Tactic_evalUnfold_go___spec__11___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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; +x_13 = l_Lean_Elab_addConstInfo___at_Lean_Elab_Tactic_evalUnfold_go___spec__11(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +lean_dec(x_11); +lean_dec(x_9); +lean_dec(x_7); +lean_dec(x_5); +return x_13; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_Elab_Tactic_evalUnfold_go___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* x_9, lean_object* x_10, lean_object* x_11) { +_start: +{ +lean_object* x_12; +x_12 = l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_Elab_Tactic_evalUnfold_go___spec__1___lambda__1(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_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_12; +} +} LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalUnfold_go___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) { _start: { @@ -1719,26 +2571,32 @@ lean_dec_ref(res); res = initialize_Lean_Elab_Tactic_Location(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___spec__7___closed__1 = _init_l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___spec__7___closed__1(); -lean_mark_persistent(l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___spec__7___closed__1); -l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___spec__7___closed__2 = _init_l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___spec__7___closed__2(); -lean_mark_persistent(l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___spec__7___closed__2); -l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___spec__7___closed__3 = _init_l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___spec__7___closed__3(); -lean_mark_persistent(l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___spec__7___closed__3); -l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___spec__7___closed__4 = _init_l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___spec__7___closed__4(); -lean_mark_persistent(l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___spec__7___closed__4); -l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalUnfold_go___spec__2___closed__1 = _init_l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalUnfold_go___spec__2___closed__1(); -lean_mark_persistent(l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalUnfold_go___spec__2___closed__1); -l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalUnfold_go___spec__2___closed__2 = _init_l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalUnfold_go___spec__2___closed__2(); -lean_mark_persistent(l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalUnfold_go___spec__2___closed__2); -l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalUnfold_go___spec__2___closed__3 = _init_l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalUnfold_go___spec__2___closed__3(); -lean_mark_persistent(l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalUnfold_go___spec__2___closed__3); -l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalUnfold_go___spec__1___closed__1 = _init_l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalUnfold_go___spec__1___closed__1(); -lean_mark_persistent(l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalUnfold_go___spec__1___closed__1); -l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalUnfold_go___spec__1___closed__2 = _init_l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalUnfold_go___spec__1___closed__2(); -lean_mark_persistent(l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalUnfold_go___spec__1___closed__2); -l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalUnfold_go___spec__1___closed__3 = _init_l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalUnfold_go___spec__1___closed__3(); -lean_mark_persistent(l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalUnfold_go___spec__1___closed__3); +l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___spec__8___closed__1 = _init_l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___spec__8___closed__1(); +lean_mark_persistent(l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___spec__8___closed__1); +l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___spec__8___closed__2 = _init_l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___spec__8___closed__2(); +lean_mark_persistent(l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___spec__8___closed__2); +l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___spec__8___closed__3 = _init_l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___spec__8___closed__3(); +lean_mark_persistent(l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___spec__8___closed__3); +l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___spec__8___closed__4 = _init_l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___spec__8___closed__4(); +lean_mark_persistent(l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_evalUnfold_go___spec__8___closed__4); +l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalUnfold_go___spec__3___closed__1 = _init_l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalUnfold_go___spec__3___closed__1(); +lean_mark_persistent(l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalUnfold_go___spec__3___closed__1); +l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalUnfold_go___spec__3___closed__2 = _init_l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalUnfold_go___spec__3___closed__2(); +lean_mark_persistent(l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalUnfold_go___spec__3___closed__2); +l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalUnfold_go___spec__3___closed__3 = _init_l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalUnfold_go___spec__3___closed__3(); +lean_mark_persistent(l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_evalUnfold_go___spec__3___closed__3); +l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalUnfold_go___spec__2___closed__1 = _init_l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalUnfold_go___spec__2___closed__1(); +lean_mark_persistent(l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalUnfold_go___spec__2___closed__1); +l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalUnfold_go___spec__2___closed__2 = _init_l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalUnfold_go___spec__2___closed__2(); +lean_mark_persistent(l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalUnfold_go___spec__2___closed__2); +l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalUnfold_go___spec__2___closed__3 = _init_l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalUnfold_go___spec__2___closed__3(); +lean_mark_persistent(l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalUnfold_go___spec__2___closed__3); +l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Tactic_evalUnfold_go___spec__15___closed__1 = _init_l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Tactic_evalUnfold_go___spec__15___closed__1(); +lean_mark_persistent(l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Tactic_evalUnfold_go___spec__15___closed__1); +l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Tactic_evalUnfold_go___spec__15___closed__2 = _init_l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Tactic_evalUnfold_go___spec__15___closed__2(); +lean_mark_persistent(l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Tactic_evalUnfold_go___spec__15___closed__2); +l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Tactic_evalUnfold_go___spec__15___closed__3 = _init_l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Tactic_evalUnfold_go___spec__15___closed__3(); +lean_mark_persistent(l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Tactic_evalUnfold_go___spec__15___closed__3); l_Lean_Elab_Tactic_evalUnfold_go___lambda__1___closed__1 = _init_l_Lean_Elab_Tactic_evalUnfold_go___lambda__1___closed__1(); lean_mark_persistent(l_Lean_Elab_Tactic_evalUnfold_go___lambda__1___closed__1); l_Lean_Elab_Tactic_evalUnfold_go___lambda__1___closed__2 = _init_l_Lean_Elab_Tactic_evalUnfold_go___lambda__1___closed__2(); diff --git a/stage0/stdlib/Lean/Elab/Util.c b/stage0/stdlib/Lean/Elab/Util.c index 1110a21820..6d293324c7 100644 --- a/stage0/stdlib/Lean/Elab/Util.c +++ b/stage0/stdlib/Lean/Elab/Util.c @@ -30,9 +30,9 @@ LEAN_EXPORT lean_object* l_List_foldl___at_Lean_Elab_addMacroStack___spec__1(lea static lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__4___closed__4; static lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__3___closed__3; static lean_object* l_Lean_Elab_mkMacroAttributeUnsafe___closed__7; -LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_mkElabAttribute___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Macro_getCurrNamespace(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_MacroScopesView_format___boxed(lean_object*, lean_object*); +static lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__7; LEAN_EXPORT lean_object* l_List_forM___at_Lean_Elab_liftMacroM___spec__3___rarg___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_String_toFormat(lean_object*); lean_object* lean_array_uget(lean_object*, size_t); @@ -60,6 +60,7 @@ uint8_t lean_name_eq(lean_object*, lean_object*); static lean_object* l_Lean_Elab_logException___rarg___lambda__1___closed__3; lean_object* l_Lean_Elab_throwUnsupportedSyntax___rarg(lean_object*); static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_294____closed__4; +static lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__5; static lean_object* l_Lean_Elab_mkElabAttribute___rarg___closed__1; LEAN_EXPORT lean_object* l_Lean_Elab_throwErrorWithNestedErrors___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_push(lean_object*, lean_object*); @@ -72,7 +73,6 @@ lean_object* l_Lean_KeyedDeclsAttribute_getEntries___rarg(lean_object*, lean_obj static lean_object* l_Lean_Elab_throwErrorWithNestedErrors___rarg___lambda__1___closed__2; static lean_object* l_Lean_Elab_expandMacroImpl_x3f___closed__1; LEAN_EXPORT lean_object* l_Lean_Elab_instMonadMacroAdapter___rarg___lambda__1(lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_mkElabAttribute___spec__1___closed__3; LEAN_EXPORT lean_object* l_Lean_Elab_expandMacroImpl_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_checkSyntaxNodeKind___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_expandMacroImpl_x3f___closed__2; @@ -84,8 +84,6 @@ static lean_object* l_Lean_Elab_nestedExceptionToMessageData___rarg___lambda__1_ lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___rarg(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forM___at_Lean_Elab_liftMacroM___spec__3___rarg___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_addMacroStack___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_mkElabAttribute___spec__1___closed__1; -LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_mkElabAttribute___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_nat_add(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___rarg___lambda__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_logDbgTrace___rarg___closed__1; @@ -96,10 +94,10 @@ lean_object* l_Lean_mkAppN(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__2(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___rarg___lambda__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___rarg___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__6; LEAN_EXPORT lean_object* l___private_Lean_Elab_Util_0__Lean_Elab_evalSyntaxConstantUnsafe(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_mkMacroAttributeUnsafe___closed__6; static lean_object* l_Lean_Elab_logDbgTrace___rarg___closed__2; -LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoTree___at_Lean_Elab_mkElabAttribute___spec__2(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_nestedExceptionToMessageData___rarg___lambda__1___closed__4; static lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__4___closed__2; static lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__3___closed__1; @@ -111,7 +109,6 @@ LEAN_EXPORT lean_object* l_Lean_Elab_checkSyntaxNodeKindAtNamespaces(lean_object LEAN_EXPORT lean_object* l_Lean_Elab_expandMacroImpl_x3f___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Lean_Elab_getBetterRef___lambda__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_expandMacroImpl_x3f(lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* lean_st_ref_take(lean_object*, lean_object*); lean_object* l_Lean_addTrace___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_ReaderT_pure___at_Lean_Elab_liftMacroM___spec__2___rarg(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_logException___rarg___lambda__1___closed__4; @@ -133,7 +130,6 @@ lean_object* l_Lean_ResolveName_resolveNamespace(lean_object*, lean_object*, lea static lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__3___closed__8; LEAN_EXPORT lean_object* l_Lean_Elab_withLogging___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_name_append_index_after(lean_object*, lean_object*); -static lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_mkElabAttribute___spec__1___closed__2; LEAN_EXPORT lean_object* l_Lean_Elab_checkSyntaxNodeKind___rarg(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__4___closed__5; static lean_object* l_Lean_Elab_mkMacroAttributeUnsafe___closed__10; @@ -200,7 +196,6 @@ LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___rarg___lambda__6___boxed(lean_ LEAN_EXPORT lean_object* l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_828____at_Lean_Elab_getBetterRef___spec__1___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_trace___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__3___closed__4; -lean_object* l_Std_PersistentArray_push___rarg(lean_object*, lean_object*); lean_object* l_Lean_Expr_const___override(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_throwErrorWithNestedErrors___spec__1___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_throwErrorWithNestedErrors___spec__1___rarg(lean_object*, lean_object*, size_t, size_t, lean_object*); @@ -243,7 +238,6 @@ static lean_object* l_Lean_Elab_getBetterRef___closed__1; LEAN_EXPORT lean_object* l_Lean_Elab_getBetterRef___boxed(lean_object*, lean_object*); static lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__3___closed__18; static lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__3___closed__15; -lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_findDeclarationRanges_x3f___at___private_Lean_Parser_Extension_0__Lean_Parser_BuiltinParserAttribute_add___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_foldl___at_Lean_MacroScopesView_review___spec__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_nestedExceptionToMessageData(lean_object*); @@ -251,6 +245,7 @@ static lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__3___closed__14; uint8_t l_Lean_Syntax_isNone(lean_object*); static lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__3___closed__5; LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_syntaxNodeKindOfAttrParam___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_registerInitAttrUnsafe___spec__15(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___rarg___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_trace(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_expandMacroImpl_x3f___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); @@ -262,7 +257,6 @@ uint8_t l_Lean_Syntax_isOfKind(lean_object*, lean_object*); lean_object* l_Lean_InternalExceptionId_getName___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_expandOptNamedPrio___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_expandOptNamedPrio___closed__8; -LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoTree___at_Lean_Elab_mkElabAttribute___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_checkSyntaxNodeKind___at_Lean_Elab_checkSyntaxNodeKindAtCurrentNamespaces___spec__2(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_logException___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_expandOptNamedPrio___closed__1; @@ -1458,293 +1452,6 @@ lean_dec(x_2); return x_4; } } -LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoTree___at_Lean_Elab_mkElabAttribute___spec__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; uint8_t x_8; -x_5 = lean_st_ref_get(x_3, x_4); -x_6 = lean_ctor_get(x_5, 0); -lean_inc(x_6); -x_7 = lean_ctor_get(x_6, 6); -lean_inc(x_7); -lean_dec(x_6); -x_8 = lean_ctor_get_uint8(x_7, sizeof(void*)*2); -lean_dec(x_7); -if (x_8 == 0) -{ -uint8_t x_9; -lean_dec(x_1); -x_9 = !lean_is_exclusive(x_5); -if (x_9 == 0) -{ -lean_object* x_10; lean_object* x_11; -x_10 = lean_ctor_get(x_5, 0); -lean_dec(x_10); -x_11 = lean_box(0); -lean_ctor_set(x_5, 0, x_11); -return x_5; -} -else -{ -lean_object* x_12; lean_object* x_13; lean_object* x_14; -x_12 = lean_ctor_get(x_5, 1); -lean_inc(x_12); -lean_dec(x_5); -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_12); -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; -x_15 = lean_ctor_get(x_5, 1); -lean_inc(x_15); -lean_dec(x_5); -x_16 = lean_st_ref_take(x_3, x_15); -x_17 = lean_ctor_get(x_16, 0); -lean_inc(x_17); -x_18 = lean_ctor_get(x_17, 6); -lean_inc(x_18); -x_19 = lean_ctor_get(x_16, 1); -lean_inc(x_19); -lean_dec(x_16); -x_20 = !lean_is_exclusive(x_17); -if (x_20 == 0) -{ -lean_object* x_21; uint8_t x_22; -x_21 = lean_ctor_get(x_17, 6); -lean_dec(x_21); -x_22 = !lean_is_exclusive(x_18); -if (x_22 == 0) -{ -lean_object* x_23; lean_object* x_24; lean_object* x_25; uint8_t x_26; -x_23 = lean_ctor_get(x_18, 1); -x_24 = l_Std_PersistentArray_push___rarg(x_23, x_1); -lean_ctor_set(x_18, 1, x_24); -x_25 = lean_st_ref_set(x_3, x_17, x_19); -x_26 = !lean_is_exclusive(x_25); -if (x_26 == 0) -{ -lean_object* x_27; lean_object* x_28; -x_27 = lean_ctor_get(x_25, 0); -lean_dec(x_27); -x_28 = lean_box(0); -lean_ctor_set(x_25, 0, x_28); -return x_25; -} -else -{ -lean_object* x_29; lean_object* x_30; lean_object* x_31; -x_29 = lean_ctor_get(x_25, 1); -lean_inc(x_29); -lean_dec(x_25); -x_30 = lean_box(0); -x_31 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_31, 0, x_30); -lean_ctor_set(x_31, 1, x_29); -return x_31; -} -} -else -{ -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; lean_object* x_41; -x_32 = lean_ctor_get_uint8(x_18, sizeof(void*)*2); -x_33 = lean_ctor_get(x_18, 0); -x_34 = lean_ctor_get(x_18, 1); -lean_inc(x_34); -lean_inc(x_33); -lean_dec(x_18); -x_35 = l_Std_PersistentArray_push___rarg(x_34, x_1); -x_36 = lean_alloc_ctor(0, 2, 1); -lean_ctor_set(x_36, 0, x_33); -lean_ctor_set(x_36, 1, x_35); -lean_ctor_set_uint8(x_36, sizeof(void*)*2, x_32); -lean_ctor_set(x_17, 6, x_36); -x_37 = lean_st_ref_set(x_3, x_17, x_19); -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); -} -x_40 = lean_box(0); -if (lean_is_scalar(x_39)) { - x_41 = lean_alloc_ctor(0, 2, 0); -} else { - x_41 = x_39; -} -lean_ctor_set(x_41, 0, x_40); -lean_ctor_set(x_41, 1, x_38); -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; 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; -x_42 = lean_ctor_get(x_17, 0); -x_43 = lean_ctor_get(x_17, 1); -x_44 = lean_ctor_get(x_17, 2); -x_45 = lean_ctor_get(x_17, 3); -x_46 = lean_ctor_get(x_17, 4); -x_47 = lean_ctor_get(x_17, 5); -lean_inc(x_47); -lean_inc(x_46); -lean_inc(x_45); -lean_inc(x_44); -lean_inc(x_43); -lean_inc(x_42); -lean_dec(x_17); -x_48 = lean_ctor_get_uint8(x_18, sizeof(void*)*2); -x_49 = lean_ctor_get(x_18, 0); -lean_inc(x_49); -x_50 = lean_ctor_get(x_18, 1); -lean_inc(x_50); -if (lean_is_exclusive(x_18)) { - lean_ctor_release(x_18, 0); - lean_ctor_release(x_18, 1); - x_51 = x_18; -} else { - lean_dec_ref(x_18); - x_51 = lean_box(0); -} -x_52 = l_Std_PersistentArray_push___rarg(x_50, x_1); -if (lean_is_scalar(x_51)) { - x_53 = lean_alloc_ctor(0, 2, 1); -} else { - x_53 = x_51; -} -lean_ctor_set(x_53, 0, x_49); -lean_ctor_set(x_53, 1, x_52); -lean_ctor_set_uint8(x_53, sizeof(void*)*2, x_48); -x_54 = lean_alloc_ctor(0, 7, 0); -lean_ctor_set(x_54, 0, x_42); -lean_ctor_set(x_54, 1, x_43); -lean_ctor_set(x_54, 2, x_44); -lean_ctor_set(x_54, 3, x_45); -lean_ctor_set(x_54, 4, x_46); -lean_ctor_set(x_54, 5, x_47); -lean_ctor_set(x_54, 6, x_53); -x_55 = lean_st_ref_set(x_3, x_54, x_19); -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 = lean_box(0); -if (lean_is_scalar(x_57)) { - x_59 = lean_alloc_ctor(0, 2, 0); -} else { - x_59 = x_57; -} -lean_ctor_set(x_59, 0, x_58); -lean_ctor_set(x_59, 1, x_56); -return x_59; -} -} -} -} -static lean_object* _init_l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_mkElabAttribute___spec__1___closed__1() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = lean_unsigned_to_nat(32u); -x_2 = lean_mk_empty_array_with_capacity(x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_mkElabAttribute___spec__1___closed__2() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_mkElabAttribute___spec__1___closed__1; -x_2 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_2, 0, x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_mkElabAttribute___spec__1___closed__3() { -_start: -{ -size_t x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; -x_1 = 5; -x_2 = l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_mkElabAttribute___spec__1___closed__2; -x_3 = l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_mkElabAttribute___spec__1___closed__1; -x_4 = lean_unsigned_to_nat(0u); -x_5 = lean_alloc_ctor(0, 4, sizeof(size_t)*1); -lean_ctor_set(x_5, 0, x_2); -lean_ctor_set(x_5, 1, x_3); -lean_ctor_set(x_5, 2, x_4); -lean_ctor_set(x_5, 3, x_4); -lean_ctor_set_usize(x_5, 4, x_1); -return x_5; -} -} -LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_mkElabAttribute___spec__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; uint8_t x_8; -x_5 = lean_st_ref_get(x_3, x_4); -x_6 = lean_ctor_get(x_5, 0); -lean_inc(x_6); -x_7 = lean_ctor_get(x_6, 6); -lean_inc(x_7); -lean_dec(x_6); -x_8 = lean_ctor_get_uint8(x_7, sizeof(void*)*2); -lean_dec(x_7); -if (x_8 == 0) -{ -uint8_t x_9; -lean_dec(x_1); -x_9 = !lean_is_exclusive(x_5); -if (x_9 == 0) -{ -lean_object* x_10; lean_object* x_11; -x_10 = lean_ctor_get(x_5, 0); -lean_dec(x_10); -x_11 = lean_box(0); -lean_ctor_set(x_5, 0, x_11); -return x_5; -} -else -{ -lean_object* x_12; lean_object* x_13; lean_object* x_14; -x_12 = lean_ctor_get(x_5, 1); -lean_inc(x_12); -lean_dec(x_5); -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_12); -return x_14; -} -} -else -{ -lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; -x_15 = lean_ctor_get(x_5, 1); -lean_inc(x_15); -lean_dec(x_5); -x_16 = l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_mkElabAttribute___spec__1___closed__3; -x_17 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_17, 0, x_1); -lean_ctor_set(x_17, 1, x_16); -x_18 = l_Lean_Elab_pushInfoTree___at_Lean_Elab_mkElabAttribute___spec__2(x_17, x_2, x_3, x_15); -return x_18; -} -} -} LEAN_EXPORT lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { @@ -1788,9 +1495,45 @@ return x_3; static lean_object* _init_l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__4() { _start: { +lean_object* x_1; lean_object* x_2; +x_1 = lean_unsigned_to_nat(32u); +x_2 = lean_mk_empty_array_with_capacity(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__5() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__4; +x_2 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__6() { +_start: +{ +size_t x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; +x_1 = 5; +x_2 = l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__5; +x_3 = l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__4; +x_4 = lean_unsigned_to_nat(0u); +x_5 = lean_alloc_ctor(0, 4, sizeof(size_t)*1); +lean_ctor_set(x_5, 0, x_2); +lean_ctor_set(x_5, 1, x_3); +lean_ctor_set(x_5, 2, x_4); +lean_ctor_set(x_5, 3, x_4); +lean_ctor_set_usize(x_5, 4, x_1); +return x_5; +} +} +static lean_object* _init_l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__7() { +_start: +{ lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__3; -x_2 = l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_mkElabAttribute___spec__1___closed__3; +x_2 = l_Lean_Elab_mkElabAttribute___rarg___lambda__2___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); @@ -1871,7 +1614,7 @@ x_25 = lean_box(0); x_26 = lean_box(0); lean_inc(x_8); x_27 = l_Lean_Expr_const___override(x_8, x_26); -x_28 = l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__4; +x_28 = l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__7; x_29 = 0; x_30 = lean_alloc_ctor(0, 4, 1); lean_ctor_set(x_30, 0, x_24); @@ -1881,7 +1624,7 @@ lean_ctor_set(x_30, 3, x_27); lean_ctor_set_uint8(x_30, sizeof(void*)*4, x_29); x_31 = lean_alloc_ctor(1, 1, 0); lean_ctor_set(x_31, 0, x_30); -x_32 = l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_mkElabAttribute___spec__1(x_31, x_4, x_5, x_17); +x_32 = l_Lean_Elab_pushInfoLeaf___at_Lean_registerInitAttrUnsafe___spec__15(x_31, x_4, x_5, x_17); lean_dec(x_5); lean_dec(x_4); x_33 = !lean_is_exclusive(x_32); @@ -1962,7 +1705,7 @@ x_48 = lean_box(0); x_49 = lean_box(0); lean_inc(x_8); x_50 = l_Lean_Expr_const___override(x_8, x_49); -x_51 = l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__4; +x_51 = l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__7; x_52 = 0; x_53 = lean_alloc_ctor(0, 4, 1); lean_ctor_set(x_53, 0, x_47); @@ -1972,7 +1715,7 @@ lean_ctor_set(x_53, 3, x_50); lean_ctor_set_uint8(x_53, sizeof(void*)*4, x_52); x_54 = lean_alloc_ctor(1, 1, 0); lean_ctor_set(x_54, 0, x_53); -x_55 = l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_mkElabAttribute___spec__1(x_54, x_4, x_5, x_38); +x_55 = l_Lean_Elab_pushInfoLeaf___at_Lean_registerInitAttrUnsafe___spec__15(x_54, x_4, x_5, x_38); lean_dec(x_5); lean_dec(x_4); x_56 = lean_ctor_get(x_55, 1); @@ -2553,26 +2296,6 @@ x_2 = lean_alloc_closure((void*)(l_Lean_Elab_mkElabAttribute___rarg), 7, 0); return x_2; } } -LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoTree___at_Lean_Elab_mkElabAttribute___spec__2___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_Elab_pushInfoTree___at_Lean_Elab_mkElabAttribute___spec__2(x_1, x_2, x_3, x_4); -lean_dec(x_3); -lean_dec(x_2); -return x_5; -} -} -LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_mkElabAttribute___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_Lean_Elab_pushInfoLeaf___at_Lean_Elab_mkElabAttribute___spec__1(x_1, x_2, x_3, x_4); -lean_dec(x_3); -lean_dec(x_2); -return x_5; -} -} LEAN_EXPORT lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { @@ -5183,12 +4906,6 @@ l___private_Lean_Elab_Util_0__Lean_Elab_evalSyntaxConstantUnsafe___closed__1 = _ lean_mark_persistent(l___private_Lean_Elab_Util_0__Lean_Elab_evalSyntaxConstantUnsafe___closed__1); l___private_Lean_Elab_Util_0__Lean_Elab_evalSyntaxConstantUnsafe___closed__2 = _init_l___private_Lean_Elab_Util_0__Lean_Elab_evalSyntaxConstantUnsafe___closed__2(); lean_mark_persistent(l___private_Lean_Elab_Util_0__Lean_Elab_evalSyntaxConstantUnsafe___closed__2); -l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_mkElabAttribute___spec__1___closed__1 = _init_l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_mkElabAttribute___spec__1___closed__1(); -lean_mark_persistent(l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_mkElabAttribute___spec__1___closed__1); -l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_mkElabAttribute___spec__1___closed__2 = _init_l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_mkElabAttribute___spec__1___closed__2(); -lean_mark_persistent(l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_mkElabAttribute___spec__1___closed__2); -l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_mkElabAttribute___spec__1___closed__3 = _init_l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_mkElabAttribute___spec__1___closed__3(); -lean_mark_persistent(l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_mkElabAttribute___spec__1___closed__3); l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__1 = _init_l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__1(); lean_mark_persistent(l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__1); l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__2 = _init_l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__2(); @@ -5197,6 +4914,12 @@ l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__3 = _init_l_Lean_Elab_m lean_mark_persistent(l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__3); l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__4 = _init_l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__4(); lean_mark_persistent(l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__4); +l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__5 = _init_l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__5(); +lean_mark_persistent(l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__5); +l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__6 = _init_l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__6(); +lean_mark_persistent(l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__6); +l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__7 = _init_l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__7(); +lean_mark_persistent(l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__7); l_Lean_Elab_mkElabAttribute___rarg___lambda__3___closed__1 = _init_l_Lean_Elab_mkElabAttribute___rarg___lambda__3___closed__1(); lean_mark_persistent(l_Lean_Elab_mkElabAttribute___rarg___lambda__3___closed__1); l_Lean_Elab_mkElabAttribute___rarg___lambda__3___closed__2 = _init_l_Lean_Elab_mkElabAttribute___rarg___lambda__3___closed__2(); diff --git a/stage0/stdlib/Lean/Linter/MissingDocs.c b/stage0/stdlib/Lean/Linter/MissingDocs.c index 22f6a4a8bb..5d2d4bb0fc 100644 --- a/stage0/stdlib/Lean/Linter/MissingDocs.c +++ b/stage0/stdlib/Lean/Linter/MissingDocs.c @@ -36,7 +36,6 @@ static lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Linter_MissingDocs_handle static lean_object* l_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_356____closed__9; lean_object* l_Lean_Name_str___override(lean_object*, lean_object*); static lean_object* l_Lean_Linter_MissingDocs_mkHandlerUnsafe___closed__4; -lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_mkElabAttribute___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Linter_MissingDocs_lintDeclHead___closed__14; lean_object* l_Lean_throwError___at_Lean_registerTagAttribute___spec__3(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Linter_MissingDocs_SimpleHandler_toHandler___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -55,7 +54,6 @@ LEAN_EXPORT lean_object* l_Lean_Linter_MissingDocs_handleIn___rarg___lambda__1(l static lean_object* l_Lean_Linter_MissingDocs_mkHandlerUnsafe___closed__1; lean_object* l_Lean_Attribute_Builtin_getIdent(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_356____closed__6; -LEAN_EXPORT lean_object* l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_757____spec__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Linter_MissingDocs_lintDeclHead___closed__22; static lean_object* l_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_356____closed__4; static lean_object* l___regBuiltin_Lean_Linter_MissingDocs_checkMixfix___closed__1; @@ -82,6 +80,7 @@ LEAN_EXPORT lean_object* l_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_Mis lean_object* lean_environment_find(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoTree___at_Lean_Linter_MissingDocs_handleIn___spec__4(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Linter_MissingDocs_checkSimpLike___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_getConstInfo___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__14(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_st_ref_get(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Linter_MissingDocs_handleIn___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_757____lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*); @@ -101,7 +100,6 @@ static lean_object* l_Lean_Linter_MissingDocs_checkSimpLike___closed__1; static lean_object* l_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_757____closed__19; lean_object* l_Lean_Elab_Command_addLinter(lean_object*, lean_object*); static lean_object* l_Lean_Linter_MissingDocs_lintField___closed__1; -lean_object* l_Lean_getConstInfo___at_Lean_registerInitAttrUnsafe___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_356____closed__3; static lean_object* l_Lean_Linter_MissingDocs_handleIn___rarg___closed__2; lean_object* l_Array_toSubarray___rarg(lean_object*, lean_object*, lean_object*); @@ -109,7 +107,6 @@ lean_object* lean_array_get_size(lean_object*); static lean_object* l___regBuiltin_Lean_Linter_MissingDocs_checkNotation___closed__1; lean_object* lean_string_append(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentArray_foldlM___at_Lean_Linter_MissingDocs_checkDecl___spec__11(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_757____spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Linter_MissingDocs_handleMutual(uint8_t); static lean_object* l_Lean_Linter_MissingDocs_lintDeclHead___closed__5; LEAN_EXPORT lean_object* l_Lean_Linter_initFn____x40_Lean_Linter_MissingDocs___hyg_8_(lean_object*); @@ -143,7 +140,6 @@ static lean_object* l_Lean_Linter_MissingDocs_lintDeclHead___closed__1; static lean_object* l___regBuiltin_Lean_Linter_MissingDocs_checkSimpLike___closed__4; static lean_object* l_Lean_Elab_elabSetOption_setOption___at_Lean_Linter_MissingDocs_handleIn___spec__6___closed__2; LEAN_EXPORT lean_object* l_Lean_Elab_addCompletionInfo___at_Lean_Linter_MissingDocs_handleIn___spec__2(lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_mkConstWithLevelParams___at_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_757____spec__3(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Linter_MissingDocs_lintDeclHead___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Linter_MissingDocs_mkHandlerUnsafe___closed__7; LEAN_EXPORT lean_object* l_Lean_Linter_MissingDocs_missingDocsExt; @@ -152,7 +148,6 @@ LEAN_EXPORT lean_object* l_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_Mis static lean_object* l_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_757____lambda__5___closed__2; static lean_object* l___regBuiltin_Lean_Linter_MissingDocs_checkSyntax___closed__3; LEAN_EXPORT lean_object* l_Lean_Linter_MissingDocs_checkNotation___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -extern lean_object* l_Lean_LocalContext_empty; size_t lean_uint64_to_usize(uint64_t); static lean_object* l_Lean_Linter_MissingDocs_lintDeclHead___closed__23; LEAN_EXPORT lean_object* l_Lean_Linter_MissingDocs_lintStructField___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -170,7 +165,6 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Linter_MissingDocs_checkSyntaxAbbre lean_object* l_Lean_Syntax_isNatLit_x3f(lean_object*); static lean_object* l_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_757____lambda__5___closed__1; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Linter_MissingDocs_checkSimpLike(lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_addConstInfo___at_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_757____spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Linter_MissingDocs_lintDeclHead___closed__4; uint8_t lean_nat_dec_eq(lean_object*, lean_object*); uint8_t l___private_Lean_Attributes_0__Lean_beqAttributeKind____x40_Lean_Attributes___hyg_192_(uint8_t, uint8_t); @@ -183,7 +177,6 @@ static lean_object* l___regBuiltin_Lean_Linter_MissingDocs_checkInit___closed__2 lean_object* lean_st_ref_take(lean_object*, lean_object*); static lean_object* l_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_757____closed__18; lean_object* l_Lean_getOptionDecl(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_addConstInfo___at_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_757____spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Linter_MissingDocs_lintDeclHead___closed__2; static lean_object* l___regBuiltin_Lean_Linter_MissingDocs_checkMacro___closed__2; lean_object* l_EStateM_bind___rarg(lean_object*, lean_object*, lean_object*); @@ -200,7 +193,6 @@ LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Linter_MissingDocs_ LEAN_EXPORT lean_object* l_Lean_Linter_MissingDocs_checkRegisterOption___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Linter_MissingDocs_handleIn___closed__1; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Linter_MissingDocs_checkDecl___spec__17(lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_757____spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_757____lambda__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Linter_MissingDocs_handleMutual___spec__1(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Linter_MissingDocs_handleMutual___rarg(lean_object*, lean_object*, lean_object*, lean_object*); @@ -266,7 +258,6 @@ LEAN_EXPORT lean_object* l_Lean_Linter_MissingDocs_checkClassAbbrev(lean_object* LEAN_EXPORT lean_object* l___regBuiltin_Lean_Linter_MissingDocs_checkRegisterSimpAttr(lean_object*); static lean_object* l_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_356____lambda__1___closed__1; LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Linter_MissingDocs_handleMutual___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_mkConstWithLevelParams___at_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_757____spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Linter_MissingDocs_checkDecl___spec__15___boxed(lean_object*, lean_object*, lean_object*, lean_object*); uint64_t lean_uint64_of_nat(lean_object*); static lean_object* l_Array_forInUnsafe_loop___at_Lean_Linter_MissingDocs_checkDecl___spec__18___closed__1; @@ -387,7 +378,6 @@ static lean_object* l_Lean_Linter_MissingDocs_checkNotation___closed__1; LEAN_EXPORT lean_object* l_Lean_Linter_MissingDocs_lintDeclHead(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_356____spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_declareBuiltin(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_List_mapTRAux___at_Lean_mkConstWithLevelParams___spec__1(lean_object*, lean_object*); lean_object* l_Array_ofSubarray___rarg(lean_object*); lean_object* lean_nat_mul(lean_object*, lean_object*); lean_object* l_Lean_Elab_Command_getRef(lean_object*, lean_object*, lean_object*); @@ -466,8 +456,8 @@ static lean_object* l_Lean_Linter_MissingDocs_checkNotation___closed__3; static lean_object* l_Lean_Linter_MissingDocs_lint___closed__3; LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Linter_MissingDocs_handleIn___spec__3(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Linter_MissingDocs_checkNotation___closed__5; +lean_object* l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_356____spec__2(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__2(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Linter_MissingDocs_checkRegisterOption(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Linter_MissingDocs_checkSyntaxCat___closed__4; LEAN_EXPORT lean_object* l_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_356____lambda__1(lean_object*); @@ -2229,277 +2219,6 @@ return x_13; } } } -LEAN_EXPORT lean_object* l_Lean_mkConstWithLevelParams___at_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_757____spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { -_start: -{ -lean_object* x_5; -lean_inc(x_1); -x_5 = l_Lean_getConstInfo___at_Lean_registerInitAttrUnsafe___spec__1(x_1, x_2, x_3, x_4); -if (lean_obj_tag(x_5) == 0) -{ -uint8_t x_6; -x_6 = !lean_is_exclusive(x_5); -if (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_8 = l_Lean_ConstantInfo_levelParams(x_7); -lean_dec(x_7); -x_9 = lean_box(0); -x_10 = l_List_mapTRAux___at_Lean_mkConstWithLevelParams___spec__1(x_8, x_9); -x_11 = l_Lean_Expr_const___override(x_1, x_10); -lean_ctor_set(x_5, 0, x_11); -return x_5; -} -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; lean_object* x_18; -x_12 = lean_ctor_get(x_5, 0); -x_13 = lean_ctor_get(x_5, 1); -lean_inc(x_13); -lean_inc(x_12); -lean_dec(x_5); -x_14 = l_Lean_ConstantInfo_levelParams(x_12); -lean_dec(x_12); -x_15 = lean_box(0); -x_16 = l_List_mapTRAux___at_Lean_mkConstWithLevelParams___spec__1(x_14, x_15); -x_17 = l_Lean_Expr_const___override(x_1, x_16); -x_18 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_18, 0, x_17); -lean_ctor_set(x_18, 1, x_13); -return x_18; -} -} -else -{ -uint8_t x_19; -lean_dec(x_1); -x_19 = !lean_is_exclusive(x_5); -if (x_19 == 0) -{ -return x_5; -} -else -{ -lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_20 = lean_ctor_get(x_5, 0); -x_21 = lean_ctor_get(x_5, 1); -lean_inc(x_21); -lean_inc(x_20); -lean_dec(x_5); -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_EXPORT lean_object* l_Lean_Elab_addConstInfo___at_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_757____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; -x_7 = l_Lean_mkConstWithLevelParams___at_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_757____spec__3(x_2, x_4, x_5, x_6); -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; uint8_t x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; -x_8 = lean_ctor_get(x_7, 0); -lean_inc(x_8); -x_9 = lean_ctor_get(x_7, 1); -lean_inc(x_9); -lean_dec(x_7); -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_1); -x_12 = l_Lean_LocalContext_empty; -x_13 = 0; -x_14 = lean_alloc_ctor(0, 4, 1); -lean_ctor_set(x_14, 0, x_11); -lean_ctor_set(x_14, 1, x_12); -lean_ctor_set(x_14, 2, x_3); -lean_ctor_set(x_14, 3, x_8); -lean_ctor_set_uint8(x_14, sizeof(void*)*4, x_13); -x_15 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_15, 0, x_14); -x_16 = l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_mkElabAttribute___spec__1(x_15, x_4, x_5, x_9); -return x_16; -} -else -{ -uint8_t x_17; -lean_dec(x_3); -lean_dec(x_1); -x_17 = !lean_is_exclusive(x_7); -if (x_17 == 0) -{ -return x_7; -} -else -{ -lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_18 = lean_ctor_get(x_7, 0); -x_19 = lean_ctor_get(x_7, 1); -lean_inc(x_19); -lean_inc(x_18); -lean_dec(x_7); -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_EXPORT lean_object* l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_757____spec__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_6; -x_6 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_6, 0, x_1); -lean_ctor_set(x_6, 1, x_5); -return x_6; -} -} -LEAN_EXPORT lean_object* l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_757____spec__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_6; -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_1); -x_6 = l_Lean_resolveGlobalConstNoOverload___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__2(x_1, x_3, x_4, x_5); -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; uint8_t x_12; -x_7 = lean_ctor_get(x_6, 0); -lean_inc(x_7); -x_8 = lean_ctor_get(x_6, 1); -lean_inc(x_8); -lean_dec(x_6); -x_9 = lean_st_ref_get(x_4, x_8); -x_10 = lean_ctor_get(x_9, 0); -lean_inc(x_10); -x_11 = lean_ctor_get(x_10, 6); -lean_inc(x_11); -lean_dec(x_10); -x_12 = lean_ctor_get_uint8(x_11, sizeof(void*)*2); -lean_dec(x_11); -if (x_12 == 0) -{ -uint8_t x_13; -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_13 = !lean_is_exclusive(x_9); -if (x_13 == 0) -{ -lean_object* x_14; -x_14 = lean_ctor_get(x_9, 0); -lean_dec(x_14); -lean_ctor_set(x_9, 0, x_7); -return x_9; -} -else -{ -lean_object* x_15; lean_object* x_16; -x_15 = lean_ctor_get(x_9, 1); -lean_inc(x_15); -lean_dec(x_9); -x_16 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_16, 0, x_7); -lean_ctor_set(x_16, 1, x_15); -return x_16; -} -} -else -{ -lean_object* x_17; lean_object* x_18; -x_17 = lean_ctor_get(x_9, 1); -lean_inc(x_17); -lean_dec(x_9); -lean_inc(x_7); -x_18 = l_Lean_Elab_addConstInfo___at_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_757____spec__2(x_1, x_7, x_2, x_3, x_4, x_17); -lean_dec(x_4); -lean_dec(x_3); -if (lean_obj_tag(x_18) == 0) -{ -uint8_t x_19; -x_19 = !lean_is_exclusive(x_18); -if (x_19 == 0) -{ -lean_object* x_20; -x_20 = lean_ctor_get(x_18, 0); -lean_dec(x_20); -lean_ctor_set(x_18, 0, x_7); -return x_18; -} -else -{ -lean_object* x_21; lean_object* x_22; -x_21 = lean_ctor_get(x_18, 1); -lean_inc(x_21); -lean_dec(x_18); -x_22 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_22, 0, x_7); -lean_ctor_set(x_22, 1, x_21); -return x_22; -} -} -else -{ -uint8_t x_23; -lean_dec(x_7); -x_23 = !lean_is_exclusive(x_18); -if (x_23 == 0) -{ -return x_18; -} -else -{ -lean_object* x_24; lean_object* x_25; lean_object* x_26; -x_24 = lean_ctor_get(x_18, 0); -x_25 = lean_ctor_get(x_18, 1); -lean_inc(x_25); -lean_inc(x_24); -lean_dec(x_18); -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; -} -} -} -} -else -{ -uint8_t x_27; -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_27 = !lean_is_exclusive(x_6); -if (x_27 == 0) -{ -return x_6; -} -else -{ -lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_28 = lean_ctor_get(x_6, 0); -x_29 = lean_ctor_get(x_6, 1); -lean_inc(x_29); -lean_inc(x_28); -lean_dec(x_6); -x_30 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_30, 0, x_28); -lean_ctor_set(x_30, 1, x_29); -return x_30; -} -} -} -} static lean_object* _init_l_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_757____lambda__1___closed__1() { _start: { @@ -2583,7 +2302,7 @@ _start: lean_object* x_8; lean_dec(x_4); lean_inc(x_1); -x_8 = l_Lean_getConstInfo___at_Lean_registerInitAttrUnsafe___spec__1(x_1, x_5, x_6, x_7); +x_8 = l_Lean_getConstInfo___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__14(x_1, x_5, x_6, x_7); if (lean_obj_tag(x_8) == 0) { lean_object* x_9; lean_object* x_10; lean_object* x_11; @@ -2606,7 +2325,7 @@ lean_dec(x_11); x_14 = lean_box(0); lean_inc(x_6); lean_inc(x_5); -x_15 = l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_757____spec__1(x_12, x_14, x_5, x_6, x_13); +x_15 = l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__2(x_12, x_14, x_5, x_6, x_13); if (lean_obj_tag(x_15) == 0) { lean_object* x_16; lean_object* x_17; lean_object* x_18; uint8_t x_19; @@ -3042,7 +2761,7 @@ _start: lean_object* x_9; lean_dec(x_5); lean_inc(x_1); -x_9 = l_Lean_getConstInfo___at_Lean_registerInitAttrUnsafe___spec__1(x_1, x_6, x_7, x_8); +x_9 = l_Lean_getConstInfo___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__14(x_1, x_6, x_7, x_8); if (lean_obj_tag(x_9) == 0) { lean_object* x_10; lean_object* x_11; lean_object* x_12; @@ -3065,7 +2784,7 @@ lean_dec(x_12); x_15 = lean_box(0); lean_inc(x_7); lean_inc(x_6); -x_16 = l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_757____spec__1(x_13, x_15, x_6, x_7, x_14); +x_16 = l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__2(x_13, x_15, x_6, x_7, x_14); if (lean_obj_tag(x_16) == 0) { lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t x_20; @@ -3716,37 +3435,6 @@ return x_18; } } } -LEAN_EXPORT lean_object* l_Lean_mkConstWithLevelParams___at_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_757____spec__3___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_mkConstWithLevelParams___at_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_757____spec__3(x_1, x_2, x_3, x_4); -lean_dec(x_3); -lean_dec(x_2); -return x_5; -} -} -LEAN_EXPORT lean_object* l_Lean_Elab_addConstInfo___at_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_757____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_Lean_Elab_addConstInfo___at_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_757____spec__2(x_1, x_2, x_3, x_4, x_5, x_6); -lean_dec(x_5); -lean_dec(x_4); -return x_7; -} -} -LEAN_EXPORT lean_object* l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_757____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) { -_start: -{ -lean_object* x_6; -x_6 = l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_757____spec__1___lambda__1(x_1, x_2, x_3, x_4, x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -return x_6; -} -} LEAN_EXPORT lean_object* l_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_757____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: { @@ -6574,7 +6262,7 @@ 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; uint8_t x_16; -x_10 = lean_unsigned_to_nat(1u); +x_10 = lean_unsigned_to_nat(2u); x_11 = l_Lean_Syntax_getArg(x_1, x_10); x_12 = l_Lean_Syntax_getArg(x_11, x_5); lean_dec(x_11); @@ -6587,7 +6275,7 @@ lean_dec(x_14); if (x_16 == 0) { lean_object* x_17; lean_object* x_18; uint8_t x_19; -x_17 = lean_unsigned_to_nat(4u); +x_17 = lean_unsigned_to_nat(5u); x_18 = l_Lean_Syntax_getArg(x_1, x_17); x_19 = l_Lean_Syntax_isNone(x_18); if (x_19 == 0) @@ -6607,7 +6295,7 @@ else { lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_dec(x_18); -x_25 = lean_unsigned_to_nat(2u); +x_25 = lean_unsigned_to_nat(3u); x_26 = l_Lean_Syntax_getArg(x_1, x_25); x_27 = l_Lean_Linter_MissingDocs_checkNotation___closed__5; x_28 = l_Lean_Linter_MissingDocs_lint(x_26, x_27, x_2, x_3, x_4); @@ -6696,7 +6384,7 @@ 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; uint8_t x_16; -x_10 = lean_unsigned_to_nat(1u); +x_10 = lean_unsigned_to_nat(2u); x_11 = l_Lean_Syntax_getArg(x_1, x_10); x_12 = l_Lean_Syntax_getArg(x_11, x_5); lean_dec(x_11); @@ -6709,51 +6397,50 @@ lean_dec(x_14); if (x_16 == 0) { lean_object* x_17; lean_object* x_18; uint8_t x_19; -x_17 = lean_unsigned_to_nat(4u); +x_17 = lean_unsigned_to_nat(5u); x_18 = l_Lean_Syntax_getArg(x_1, x_17); x_19 = l_Lean_Syntax_isNone(x_18); if (x_19 == 0) { -lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; +lean_object* x_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_20 = l_Lean_Syntax_getArg(x_18, x_5); lean_dec(x_18); x_21 = lean_unsigned_to_nat(3u); x_22 = l_Lean_Syntax_getArg(x_20, x_21); lean_dec(x_20); -x_23 = lean_unsigned_to_nat(2u); -x_24 = l_Lean_Syntax_getArg(x_1, x_23); -x_25 = l_Lean_Syntax_getArg(x_24, x_5); +x_23 = l_Lean_Syntax_getArg(x_1, x_21); +x_24 = l_Lean_Syntax_getArg(x_23, x_5); +lean_dec(x_23); +x_25 = l_Lean_Syntax_getAtomVal_x21(x_24); lean_dec(x_24); -x_26 = l_Lean_Syntax_getAtomVal_x21(x_25); +x_26 = l_Lean_Linter_MissingDocs_lintNamed(x_22, x_25, x_2, x_3, x_4); lean_dec(x_25); -x_27 = l_Lean_Linter_MissingDocs_lintNamed(x_22, x_26, x_2, x_3, x_4); -lean_dec(x_26); lean_dec(x_22); -return x_27; +return x_26; } else { -lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; +lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_dec(x_18); -x_28 = lean_unsigned_to_nat(2u); -x_29 = l_Lean_Syntax_getArg(x_1, x_28); -x_30 = l_Lean_Syntax_getArg(x_29, x_5); -x_31 = l_Lean_Syntax_getAtomVal_x21(x_30); -lean_dec(x_30); -x_32 = l_Lean_Linter_MissingDocs_lint(x_29, x_31, x_2, x_3, x_4); -lean_dec(x_31); +x_27 = lean_unsigned_to_nat(3u); +x_28 = l_Lean_Syntax_getArg(x_1, x_27); +x_29 = l_Lean_Syntax_getArg(x_28, x_5); +x_30 = l_Lean_Syntax_getAtomVal_x21(x_29); lean_dec(x_29); -return x_32; +x_31 = l_Lean_Linter_MissingDocs_lint(x_28, x_30, x_2, x_3, x_4); +lean_dec(x_30); +lean_dec(x_28); +return x_31; } } else { -lean_object* x_33; lean_object* x_34; -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_4); -return x_34; +lean_object* x_32; lean_object* x_33; +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_4); +return x_33; } } } diff --git a/stage0/stdlib/Lean/Linter/UnusedVariables.c b/stage0/stdlib/Lean/Linter/UnusedVariables.c index 073a7630a2..0c94f6a720 100644 --- a/stage0/stdlib/Lean/Linter/UnusedVariables.c +++ b/stage0/stdlib/Lean/Linter/UnusedVariables.c @@ -82,6 +82,7 @@ static lean_object* l_Lean_Linter_initFn____x40_Lean_Linter_UnusedVariables___hy size_t lean_usize_sub(size_t, size_t); LEAN_EXPORT lean_object* l_List_forIn_loop___at_Lean_Linter_unusedVariables___spec__32___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*); static lean_object* l_Lean_Elab_InfoTree_visitM_go___at_Lean_Linter_unusedVariables___spec__24___closed__1; +lean_object* l_Lean_getConstInfo___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__14(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_st_ref_get(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_HashSetImp_expand___at_Lean_Linter_unusedVariables___spec__4(lean_object*, lean_object*); static lean_object* l_Lean_Linter_initFn____x40_Lean_Linter_UnusedVariables___hyg_550____lambda__5___closed__1; @@ -100,7 +101,6 @@ LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Linter_unusedVariab LEAN_EXPORT lean_object* l_Std_HashMapImp_moveEntries___at_Lean_Linter_unusedVariables___spec__11(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Linter_getLinterUnusedVariablesPatternVars___boxed(lean_object*); lean_object* l_Lean_Elab_Command_addLinter(lean_object*, lean_object*); -lean_object* l_Lean_getConstInfo___at_Lean_registerInitAttrUnsafe___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Linter_initFn____x40_Lean_Linter_UnusedVariables___hyg_1722____lambda__1___closed__4; static lean_object* l_Lean_Linter_initFn____x40_Lean_Linter_UnusedVariables___hyg_1778____closed__1; static lean_object* l_Lean_Linter_initFn____x40_Lean_Linter_UnusedVariables___hyg_550____lambda__5___closed__8; @@ -4146,7 +4146,7 @@ _start: lean_object* x_7; lean_dec(x_3); lean_inc(x_1); -x_7 = l_Lean_getConstInfo___at_Lean_registerInitAttrUnsafe___spec__1(x_1, x_4, x_5, x_6); +x_7 = l_Lean_getConstInfo___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__14(x_1, x_4, x_5, x_6); 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; uint8_t x_13; diff --git a/stage0/stdlib/Lean/Parser/Syntax.c b/stage0/stdlib/Lean/Parser/Syntax.c index 99ca493c7a..f3df73fa12 100644 --- a/stage0/stdlib/Lean/Parser/Syntax.c +++ b/stage0/stdlib/Lean/Parser/Syntax.c @@ -65,7 +65,6 @@ static lean_object* l_Lean_Parser_Syntax_binary___elambda__1___closed__10; static lean_object* l_Lean_Parser_Command_elabTail_formatter___closed__2; static lean_object* l_Lean_Parser_Syntax_sepBy___elambda__1___closed__7; static lean_object* l_Lean_Parser_Command_notation___closed__7; -static lean_object* l_Lean_Parser_Command_syntax_parenthesizer___closed__16; static lean_object* l_Lean_Parser_Syntax_binary___closed__5; static lean_object* l_Lean_Parser_Command_namedName_formatter___closed__1; static lean_object* l_Lean_Parser_Command_macroTailTactic___closed__1; @@ -256,6 +255,7 @@ static lean_object* l_Lean_Parser_Syntax_binary_parenthesizer___closed__3; static lean_object* l_Lean_Parser_Syntax_nonReserved___elambda__1___closed__6; static lean_object* l_Lean_Parser_Syntax_unary___closed__2; static lean_object* l_Lean_Parser_Syntax_sepBy1___elambda__1___closed__12; +static lean_object* l_Lean_Parser_Command_notation_formatter___closed__13; static lean_object* l_Lean_Parser_Command_prefix___elambda__1___closed__6; LEAN_EXPORT lean_object* l_Lean_Parser_Command_infixr_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Command_macro__rules___elambda__1___closed__4; @@ -285,7 +285,6 @@ static lean_object* l___regBuiltin_Lean_Parser_Command_mixfix_declRange___closed LEAN_EXPORT lean_object* l_Lean_Parser_Command_postfix_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Command_macroTailTactic___closed__3; LEAN_EXPORT lean_object* l_Lean_Parser_Command_prefix; -static lean_object* l_Lean_Parser_Command_syntax_formatter___closed__15; static lean_object* l_Lean_Parser_Command_elabTail_parenthesizer___closed__6; static lean_object* l_Lean_Parser_Command_macroTailCommand___elambda__1___closed__9; static lean_object* l_Lean_Parser_Command_syntaxAbbrev_parenthesizer___closed__4; @@ -417,6 +416,7 @@ static lean_object* l_Lean_Parser_Command_elab___elambda__1___closed__4; static lean_object* l_Lean_Parser_Command_macro___elambda__1___closed__9; lean_object* lean_string_append(lean_object*, lean_object*); static lean_object* l_Lean_Parser_Command_mixfix_parenthesizer___closed__7; +static lean_object* l_Lean_Parser_Command_mixfix_formatter___closed__22; static lean_object* l_Lean_Parser_Syntax_binary_formatter___closed__7; static lean_object* l_Lean_Parser_Command_catBehavior___closed__4; static lean_object* l_Lean_Parser_Syntax_binary___closed__6; @@ -442,6 +442,7 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Command_mixfix_declRange(lea static lean_object* l_Lean_Parser_Command_macroTail___elambda__1___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Command_syntaxCat_declRange___closed__4; LEAN_EXPORT lean_object* l_Lean_Parser_Command_macroTailDefault___elambda__1(lean_object*, lean_object*); +static lean_object* l_Lean_Parser_Command_mixfix___elambda__1___closed__21; static lean_object* l_Lean_Parser_Syntax_binary___elambda__1___closed__16; static lean_object* l_Lean_Parser_Command_macroArg_parenthesizer___closed__6; static lean_object* l_Lean_Parser_Syntax_paren_parenthesizer___closed__1; @@ -563,6 +564,7 @@ static lean_object* l_Lean_Parser_Command_notation_parenthesizer___closed__10; LEAN_EXPORT lean_object* l_Lean_Parser_Command_macroRhs_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Command_syntaxAbbrev_declRange___closed__3; static lean_object* l_Lean_Parser_Command_elab__rules___closed__5; +static lean_object* l_Lean_Parser_Command_mixfix_parenthesizer___closed__23; static lean_object* l_Lean_Parser_Command_macro___closed__5; static lean_object* l_Lean_Parser_Command_syntax___elambda__1___closed__24; static lean_object* l___regBuiltin_Lean_Parser_Command_mixfix_formatter___closed__2; @@ -635,6 +637,7 @@ static lean_object* l_Lean_Parser_Command_macro__rules___elambda__1___closed__1; static lean_object* l_Lean_Parser_Syntax_nonReserved_parenthesizer___closed__2; static lean_object* l_Lean_Parser_Command_namedName___elambda__1___closed__19; static lean_object* l_Lean_Parser_Term_prio_quot_formatter___closed__7; +static lean_object* l_Lean_Parser_Command_notation___elambda__1___closed__19; LEAN_EXPORT lean_object* l_Lean_Parser_precedenceParser_formatter___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Command_macro__rules___elambda__1___closed__2; lean_object* l_Lean_Parser_Tactic_seq1_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -673,6 +676,7 @@ static lean_object* l_Lean_Parser_Command_elab__rules_formatter___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Command_catBehaviorSymbol_formatter___closed__1; static lean_object* l_Lean_Parser_Term_prec_quot___elambda__1___closed__15; static lean_object* l_Lean_Parser_Command_macroArg___closed__1; +static lean_object* l_Lean_Parser_Command_mixfix_parenthesizer___closed__21; static lean_object* l___regBuiltin_Lean_Parser_Term_stx_quot_formatter___closed__1; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Syntax_unary(lean_object*); static lean_object* l_Lean_Parser_Command_macroTailCommand_formatter___closed__1; @@ -688,6 +692,7 @@ lean_object* l_Lean_Parser_Command_optNamedPrio_parenthesizer(lean_object*, lean LEAN_EXPORT lean_object* l_Lean_Parser_Command_macroTailDefault_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Command_elabTail___closed__9; static lean_object* l_Lean_Parser_Command_elab___elambda__1___closed__15; +static lean_object* l_Lean_Parser_Command_mixfix___closed__17; static lean_object* l_Lean_Parser_Term_stx_quot_formatter___closed__6; static lean_object* l_Lean_Parser_Command_elab_parenthesizer___closed__11; LEAN_EXPORT lean_object* l_Lean_Parser_Command_infixl; @@ -709,6 +714,7 @@ static lean_object* l___regBuiltin_Lean_Parser_Syntax_binary_parenthesizer___clo LEAN_EXPORT lean_object* l_Lean_Parser_Syntax_binary_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Parser_Syntax_numPrec_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Command_namedName___elambda__1___closed__11; +static lean_object* l_Lean_Parser_Command_mixfix_parenthesizer___closed__22; static lean_object* l_Lean_Parser_Command_macroTail_parenthesizer___closed__6; static lean_object* l_Lean_Parser_Command_infixl___elambda__1___closed__5; LEAN_EXPORT lean_object* l_Lean_Parser_optPrecedence_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -748,6 +754,7 @@ static lean_object* l_Lean_Parser_Syntax_paren_formatter___closed__8; static lean_object* l___regBuiltin_Lean_Parser_Syntax_unary_declRange___closed__7; static lean_object* l_Lean_Parser_Command_macroTail_formatter___closed__4; static lean_object* l_Lean_Parser_Command_notation_parenthesizer___closed__7; +static lean_object* l_Lean_Parser_Command_notation___closed__15; static lean_object* l_Lean_Parser_Syntax_nonReserved_parenthesizer___closed__1; static lean_object* l_Lean_Parser_Command_elabTail___elambda__1___closed__7; static lean_object* l___regBuiltin_Lean_Parser_Command_infixl_formatter___closed__2; @@ -835,6 +842,7 @@ static lean_object* l_Lean_Parser_Command_syntaxCat___closed__7; static lean_object* l_Lean_Parser_Syntax_sepBy1___closed__11; static lean_object* l___regBuiltin_Lean_Parser_Syntax_atom_declRange___closed__4; static lean_object* l_Lean_Parser_Command_syntax___closed__3; +static lean_object* l_Lean_Parser_Command_mixfix_formatter___closed__23; static lean_object* l_Lean_Parser_Term_prec_quot_parenthesizer___closed__6; static lean_object* l_Lean_Parser_Syntax_sepBy1___closed__4; static lean_object* l_Lean_Parser_Command_optKind_formatter___closed__1; @@ -938,6 +946,7 @@ static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Syntax___hyg_5____cl static lean_object* l_Lean_Parser_precedence___elambda__1___closed__5; static lean_object* l_Lean_Parser_Command_macroRhs___elambda__1___closed__1; static lean_object* l_Lean_Parser_Command_syntax_parenthesizer___closed__13; +static lean_object* l_Lean_Parser_Command_mixfix_formatter___closed__21; static lean_object* l_Lean_Parser_Command_identPrec___closed__3; static lean_object* l_Lean_Parser_Command_elab__rules_parenthesizer___closed__8; static lean_object* l___regBuiltin_Lean_Parser_Term_prec_quot_declRange___closed__4; @@ -1089,7 +1098,6 @@ static lean_object* l_Lean_Parser_Command_syntaxCat___closed__10; static lean_object* l_Lean_Parser_Command_mixfixKind___closed__1; static lean_object* l_Lean_Parser_Command_macroArg___elambda__1___closed__9; static lean_object* l___regBuiltin_Lean_Parser_Syntax_cat_declRange___closed__7; -static lean_object* l_Lean_Parser_Command_syntax___elambda__1___closed__28; static lean_object* l_Lean_Parser_Syntax_sepBy1___closed__9; static lean_object* l_Lean_Parser_Command_elab__rules___elambda__1___closed__11; static lean_object* l_Lean_Parser_Command_catBehaviorSymbol___closed__4; @@ -1105,6 +1113,7 @@ static lean_object* l_Lean_Parser_Command_optKind___closed__7; static lean_object* l___regBuiltin_Lean_Parser_Command_mixfix_parenthesizer___closed__1; static lean_object* l_Lean_Parser_Command_namedName_formatter___closed__8; static lean_object* l_Lean_Parser_Syntax_paren___elambda__1___closed__17; +static lean_object* l_Lean_Parser_Command_mixfix___elambda__1___closed__22; static lean_object* l_Lean_Parser_Syntax_sepBy_parenthesizer___closed__13; static lean_object* l_Lean_Parser_Command_macro__rules___closed__11; static lean_object* l_Lean_Parser_Command_syntax___closed__16; @@ -1195,10 +1204,10 @@ static lean_object* l_Lean_Parser_Syntax_binary___elambda__1___closed__9; LEAN_EXPORT lean_object* l_Lean_Parser_Command_elabTail; static lean_object* l_Lean_Parser_Command_elabTail___closed__6; static lean_object* l_Lean_Parser_Term_prec_quot___elambda__1___closed__2; +static lean_object* l_Lean_Parser_Command_notation_parenthesizer___closed__13; LEAN_EXPORT lean_object* l_Lean_Parser_Command_catBehaviorBoth___elambda__1(lean_object*, lean_object*); static lean_object* l_Lean_Parser_Command_macroTailDefault_parenthesizer___closed__3; static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Syntax___hyg_5____closed__5; -static lean_object* l_Lean_Parser_Command_syntax_parenthesizer___closed__17; LEAN_EXPORT lean_object* l_Lean_Parser_Syntax_unary; static lean_object* l___regBuiltin_Lean_Parser_Syntax_cat_declRange___closed__4; static lean_object* l_Lean_Parser_Term_stx_quot_parenthesizer___closed__3; @@ -2036,7 +2045,6 @@ static lean_object* l_Lean_Parser_Command_syntaxCat___elambda__1___closed__13; static lean_object* l_Lean_Parser_Command_syntax_formatter___closed__5; static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Syntax___hyg_5____closed__10; static lean_object* l_Lean_Parser_Command_syntax_parenthesizer___closed__7; -static lean_object* l_Lean_Parser_Command_syntax_formatter___closed__14; static lean_object* l_Lean_Parser_Command_elab___closed__8; static lean_object* l_Lean_Parser_Command_elab__rules_parenthesizer___closed__7; static lean_object* l_Lean_Parser_Command_macroTail_formatter___closed__7; @@ -15234,6 +15242,15 @@ return x_2; static lean_object* _init_l_Lean_Parser_Command_mixfix___elambda__1___closed__5() { _start: { +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_attributes; +x_2 = l_Lean_Parser_optional(x_1); +return x_2; +} +} +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___regBuiltin_Lean_Parser_Term_stx_quot___closed__2; x_2 = lean_unsigned_to_nat(0u); @@ -15243,7 +15260,7 @@ lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Command_mixfix___elambda__1___closed__6() { +static lean_object* _init_l_Lean_Parser_Command_mixfix___elambda__1___closed__7() { _start: { lean_object* x_1; @@ -15251,24 +15268,12 @@ x_1 = lean_alloc_closure((void*)(l_Lean_Parser_darrow___elambda__1), 2, 0); return x_1; } } -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_Command_mixfix___elambda__1___closed__6; -x_2 = l_Lean_Parser_Command_mixfix___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_mixfix___elambda__1___closed__8() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Syntax_sepBy___elambda__1___closed__15; -x_2 = l_Lean_Parser_Command_mixfix___elambda__1___closed__7; +x_1 = l_Lean_Parser_Command_mixfix___elambda__1___closed__7; +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); @@ -15278,16 +15283,8 @@ return x_3; static lean_object* _init_l_Lean_Parser_Command_mixfix___elambda__1___closed__9() { _start: { -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Command_mixfix___elambda__1___lambda__1___boxed), 2, 0); -return x_1; -} -} -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__9; +x_1 = l_Lean_Parser_Syntax_sepBy___elambda__1___closed__15; x_2 = l_Lean_Parser_Command_mixfix___elambda__1___closed__8; x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); lean_closure_set(x_3, 0, x_1); @@ -15295,25 +15292,31 @@ 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; +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Command_mixfix___elambda__1___lambda__1___boxed), 2, 0); +return x_1; +} +} 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; lean_object* x_4; -x_1 = l_Lean_Parser_Command_optNamedPrio; -x_2 = lean_ctor_get(x_1, 1); -lean_inc(x_2); -x_3 = l_Lean_Parser_Command_mixfix___elambda__1___closed__10; -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; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Command_mixfix___elambda__1___closed__10; +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__12() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Command_optNamedName; +x_1 = l_Lean_Parser_Command_optNamedPrio; x_2 = lean_ctor_get(x_1, 1); lean_inc(x_2); x_3 = l_Lean_Parser_Command_mixfix___elambda__1___closed__11; @@ -15326,20 +15329,22 @@ return x_4; 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_precedence___closed__8; -x_2 = l_Lean_Parser_Command_mixfix___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* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Command_optNamedName; +x_2 = lean_ctor_get(x_1, 1); +lean_inc(x_2); +x_3 = l_Lean_Parser_Command_mixfix___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_Command_mixfix___elambda__1___closed__14() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_mixfixKind___closed__5; +x_1 = l_Lean_Parser_precedence___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); @@ -15350,16 +15355,8 @@ return x_3; static lean_object* _init_l_Lean_Parser_Command_mixfix___elambda__1___closed__15() { _start: { -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_attrKind___elambda__1), 2, 0); -return x_1; -} -} -static lean_object* _init_l_Lean_Parser_Command_mixfix___elambda__1___closed__16() { -_start: -{ lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_mixfix___elambda__1___closed__15; +x_1 = l_Lean_Parser_Command_mixfixKind___closed__5; x_2 = l_Lean_Parser_Command_mixfix___elambda__1___closed__14; x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); lean_closure_set(x_3, 0, x_1); @@ -15367,37 +15364,71 @@ lean_closure_set(x_3, 1, x_2); return x_3; } } +static lean_object* _init_l_Lean_Parser_Command_mixfix___elambda__1___closed__16() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_attrKind___elambda__1), 2, 0); +return x_1; +} +} static lean_object* _init_l_Lean_Parser_Command_mixfix___elambda__1___closed__17() { _start: { +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Command_mixfix___elambda__1___closed__16; +x_2 = l_Lean_Parser_Command_mixfix___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_mixfix___elambda__1___closed__18() { +_start: +{ lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Command_mixfix___elambda__1___closed__4; +x_1 = l_Lean_Parser_Command_mixfix___elambda__1___closed__5; x_2 = lean_ctor_get(x_1, 1); lean_inc(x_2); -x_3 = l_Lean_Parser_Command_mixfix___elambda__1___closed__16; +x_3 = l_Lean_Parser_Command_mixfix___elambda__1___closed__17; 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_mixfix___elambda__1___closed__18() { +static lean_object* _init_l_Lean_Parser_Command_mixfix___elambda__1___closed__19() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Command_mixfix___elambda__1___closed__4; +x_2 = lean_ctor_get(x_1, 1); +lean_inc(x_2); +x_3 = l_Lean_Parser_Command_mixfix___elambda__1___closed__18; +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_mixfix___elambda__1___closed__20() { _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__17; +x_2 = l_Lean_Parser_Command_mixfix___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_mixfix___elambda__1___closed__19() { +static lean_object* _init_l_Lean_Parser_Command_mixfix___elambda__1___closed__21() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_mixfix___elambda__1___closed__18; +x_1 = l_Lean_Parser_Command_mixfix___elambda__1___closed__20; x_2 = l_Lean_Parser_precedence___elambda__1___closed__8; x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); lean_closure_set(x_3, 0, x_1); @@ -15405,12 +15436,12 @@ lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Command_mixfix___elambda__1___closed__20() { +static lean_object* _init_l_Lean_Parser_Command_mixfix___elambda__1___closed__22() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Parser_precedence___elambda__1___closed__7; -x_2 = l_Lean_Parser_Command_mixfix___elambda__1___closed__19; +x_2 = l_Lean_Parser_Command_mixfix___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); @@ -15420,226 +15451,249 @@ return x_3; LEAN_EXPORT 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; 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; uint32_t x_14; uint32_t x_15; uint8_t x_16; +lean_object* x_3; 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; uint32_t x_16; uint32_t x_17; uint8_t x_18; x_3 = l_Lean_Parser_Command_optNamedPrio; x_4 = lean_ctor_get(x_3, 1); lean_inc(x_4); x_5 = l_Lean_Parser_Command_optNamedName; x_6 = lean_ctor_get(x_5, 1); lean_inc(x_6); -x_7 = l_Lean_Parser_Command_mixfix___elambda__1___closed__4; +x_7 = l_Lean_Parser_Command_mixfix___elambda__1___closed__5; x_8 = lean_ctor_get(x_7, 1); lean_inc(x_8); -x_9 = l_Lean_Parser_Command_mixfix___elambda__1___closed__3; +x_9 = l_Lean_Parser_Command_mixfix___elambda__1___closed__4; x_10 = lean_ctor_get(x_9, 1); lean_inc(x_10); -x_11 = lean_ctor_get(x_1, 0); -lean_inc(x_11); -x_12 = lean_ctor_get(x_11, 0); +x_11 = l_Lean_Parser_Command_mixfix___elambda__1___closed__3; +x_12 = lean_ctor_get(x_11, 1); lean_inc(x_12); -lean_dec(x_11); -x_13 = lean_ctor_get(x_2, 2); +x_13 = lean_ctor_get(x_1, 0); lean_inc(x_13); -x_14 = lean_string_utf8_get(x_12, x_13); +x_14 = lean_ctor_get(x_13, 0); +lean_inc(x_14); lean_dec(x_13); +x_15 = lean_ctor_get(x_2, 2); +lean_inc(x_15); +x_16 = lean_string_utf8_get(x_14, x_15); +lean_dec(x_15); +lean_dec(x_14); +x_17 = 36; +x_18 = lean_uint32_dec_eq(x_16, x_17); +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_dec(x_12); -x_15 = 36; -x_16 = lean_uint32_dec_eq(x_14, x_15); -if (x_16 == 0) +x_19 = lean_unsigned_to_nat(1024u); +x_20 = l_Lean_Parser_checkPrecFn(x_19, x_1, x_2); +x_21 = lean_ctor_get(x_20, 4); +lean_inc(x_21); +x_22 = lean_box(0); +x_23 = l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_828____at_Lean_Parser_ParserState_hasError___spec__1(x_21, x_22); +lean_dec(x_21); +if (x_23 == 0) { -lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; uint8_t x_21; lean_dec(x_10); -x_17 = lean_unsigned_to_nat(1024u); -x_18 = l_Lean_Parser_checkPrecFn(x_17, x_1, x_2); -x_19 = lean_ctor_get(x_18, 4); -lean_inc(x_19); -x_20 = lean_box(0); -x_21 = l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_828____at_Lean_Parser_ParserState_hasError___spec__1(x_19, x_20); -lean_dec(x_19); -if (x_21 == 0) -{ lean_dec(x_8); lean_dec(x_6); lean_dec(x_4); lean_dec(x_1); -return x_18; +return x_20; } else { -lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; uint8_t x_26; lean_object* x_27; -x_22 = lean_ctor_get(x_18, 0); -lean_inc(x_22); -x_23 = lean_array_get_size(x_22); -lean_dec(x_22); +lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; uint8_t x_28; lean_object* x_29; +x_24 = lean_ctor_get(x_20, 0); +lean_inc(x_24); +x_25 = lean_array_get_size(x_24); +lean_dec(x_24); lean_inc(x_1); -x_24 = lean_apply_2(x_8, x_1, x_18); -x_25 = lean_ctor_get(x_24, 4); -lean_inc(x_25); -x_26 = l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_828____at_Lean_Parser_ParserState_hasError___spec__1(x_25, x_20); -lean_dec(x_25); -if (x_26 == 0) +x_26 = lean_apply_2(x_10, x_1, x_20); +x_27 = lean_ctor_get(x_26, 4); +lean_inc(x_27); +x_28 = l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_828____at_Lean_Parser_ParserState_hasError___spec__1(x_27, x_22); +lean_dec(x_27); +if (x_28 == 0) { -lean_dec(x_6); -lean_dec(x_4); -x_27 = x_24; -goto block_33; -} -else -{ -lean_object* x_34; lean_object* x_35; uint8_t x_36; -lean_inc(x_1); -x_34 = l_Lean_Parser_Term_attrKind___elambda__1(x_1, x_24); -x_35 = lean_ctor_get(x_34, 4); -lean_inc(x_35); -x_36 = l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_828____at_Lean_Parser_ParserState_hasError___spec__1(x_35, x_20); -lean_dec(x_35); -if (x_36 == 0) -{ -lean_dec(x_6); -lean_dec(x_4); -x_27 = x_34; -goto block_33; -} -else -{ -lean_object* x_37; lean_object* x_38; uint8_t x_39; -lean_inc(x_1); -x_37 = l_Lean_Parser_Command_mixfixKind___elambda__1(x_1, x_34); -x_38 = lean_ctor_get(x_37, 4); -lean_inc(x_38); -x_39 = l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_828____at_Lean_Parser_ParserState_hasError___spec__1(x_38, x_20); -lean_dec(x_38); -if (x_39 == 0) -{ -lean_dec(x_6); -lean_dec(x_4); -x_27 = x_37; -goto block_33; -} -else -{ -lean_object* x_40; lean_object* x_41; uint8_t x_42; -lean_inc(x_1); -x_40 = l_Lean_Parser_precedence___elambda__1(x_1, x_37); -x_41 = lean_ctor_get(x_40, 4); -lean_inc(x_41); -x_42 = l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_828____at_Lean_Parser_ParserState_hasError___spec__1(x_41, x_20); -lean_dec(x_41); -if (x_42 == 0) -{ -lean_dec(x_6); -lean_dec(x_4); -x_27 = x_40; -goto block_33; -} -else -{ -lean_object* x_43; lean_object* x_44; uint8_t x_45; -lean_inc(x_1); -x_43 = lean_apply_2(x_6, x_1, x_40); -x_44 = lean_ctor_get(x_43, 4); -lean_inc(x_44); -x_45 = l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_828____at_Lean_Parser_ParserState_hasError___spec__1(x_44, x_20); -lean_dec(x_44); -if (x_45 == 0) -{ -lean_dec(x_4); -x_27 = x_43; -goto block_33; -} -else -{ -lean_object* x_46; lean_object* x_47; uint8_t x_48; -lean_inc(x_1); -x_46 = lean_apply_2(x_4, x_1, x_43); -x_47 = lean_ctor_get(x_46, 4); -lean_inc(x_47); -x_48 = l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_828____at_Lean_Parser_ParserState_hasError___spec__1(x_47, x_20); -lean_dec(x_47); -if (x_48 == 0) -{ -x_27 = x_46; -goto block_33; -} -else -{ -lean_object* x_49; lean_object* x_50; uint8_t x_51; -lean_inc(x_1); -x_49 = l_Lean_Parser_strLit___elambda__1(x_1, x_46); -x_50 = lean_ctor_get(x_49, 4); -lean_inc(x_50); -x_51 = l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_828____at_Lean_Parser_ParserState_hasError___spec__1(x_50, x_20); -lean_dec(x_50); -if (x_51 == 0) -{ -x_27 = x_49; -goto block_33; -} -else -{ -lean_object* x_52; lean_object* x_53; uint8_t x_54; -lean_inc(x_1); -x_52 = l_Lean_Parser_darrow___elambda__1(x_1, x_49); -x_53 = lean_ctor_get(x_52, 4); -lean_inc(x_53); -x_54 = l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_828____at_Lean_Parser_ParserState_hasError___spec__1(x_53, x_20); -lean_dec(x_53); -if (x_54 == 0) -{ -x_27 = x_52; -goto block_33; -} -else -{ -lean_object* x_55; lean_object* x_56; lean_object* x_57; -x_55 = l___regBuiltin_Lean_Parser_Term_stx_quot___closed__2; -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_52); -x_27 = x_57; -goto block_33; -} -} -} -} -} -} -} -} -block_33: -{ -lean_object* x_28; lean_object* x_29; lean_object* x_30; uint8_t x_31; -x_28 = l_Lean_Parser_Command_mixfix___elambda__1___closed__2; -x_29 = l_Lean_Parser_ParserState_mkNode(x_27, x_28, x_23); -x_30 = lean_ctor_get(x_29, 4); -lean_inc(x_30); -x_31 = l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_828____at_Lean_Parser_ParserState_hasError___spec__1(x_30, x_20); -lean_dec(x_30); -if (x_31 == 0) -{ -lean_dec(x_1); -return x_29; -} -else -{ -lean_object* x_32; -x_32 = l_Lean_Parser_setLhsPrecFn(x_17, x_1, x_29); -lean_dec(x_1); -return x_32; -} -} -} -} -else -{ -lean_object* x_58; uint8_t x_59; lean_object* x_60; lean_dec(x_8); lean_dec(x_6); lean_dec(x_4); -x_58 = l_Lean_Parser_Command_mixfix___elambda__1___closed__20; -x_59 = 1; -x_60 = l_Lean_Parser_orelseFnCore(x_10, x_58, x_59, x_1, x_2); -return x_60; +x_29 = x_26; +goto block_35; +} +else +{ +lean_object* x_36; lean_object* x_37; uint8_t x_38; +lean_inc(x_1); +x_36 = lean_apply_2(x_8, x_1, x_26); +x_37 = lean_ctor_get(x_36, 4); +lean_inc(x_37); +x_38 = l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_828____at_Lean_Parser_ParserState_hasError___spec__1(x_37, x_22); +lean_dec(x_37); +if (x_38 == 0) +{ +lean_dec(x_6); +lean_dec(x_4); +x_29 = x_36; +goto block_35; +} +else +{ +lean_object* x_39; lean_object* x_40; uint8_t x_41; +lean_inc(x_1); +x_39 = l_Lean_Parser_Term_attrKind___elambda__1(x_1, x_36); +x_40 = lean_ctor_get(x_39, 4); +lean_inc(x_40); +x_41 = l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_828____at_Lean_Parser_ParserState_hasError___spec__1(x_40, x_22); +lean_dec(x_40); +if (x_41 == 0) +{ +lean_dec(x_6); +lean_dec(x_4); +x_29 = x_39; +goto block_35; +} +else +{ +lean_object* x_42; lean_object* x_43; uint8_t x_44; +lean_inc(x_1); +x_42 = l_Lean_Parser_Command_mixfixKind___elambda__1(x_1, x_39); +x_43 = lean_ctor_get(x_42, 4); +lean_inc(x_43); +x_44 = l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_828____at_Lean_Parser_ParserState_hasError___spec__1(x_43, x_22); +lean_dec(x_43); +if (x_44 == 0) +{ +lean_dec(x_6); +lean_dec(x_4); +x_29 = x_42; +goto block_35; +} +else +{ +lean_object* x_45; lean_object* x_46; uint8_t x_47; +lean_inc(x_1); +x_45 = l_Lean_Parser_precedence___elambda__1(x_1, x_42); +x_46 = lean_ctor_get(x_45, 4); +lean_inc(x_46); +x_47 = l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_828____at_Lean_Parser_ParserState_hasError___spec__1(x_46, x_22); +lean_dec(x_46); +if (x_47 == 0) +{ +lean_dec(x_6); +lean_dec(x_4); +x_29 = x_45; +goto block_35; +} +else +{ +lean_object* x_48; lean_object* x_49; uint8_t x_50; +lean_inc(x_1); +x_48 = lean_apply_2(x_6, x_1, x_45); +x_49 = lean_ctor_get(x_48, 4); +lean_inc(x_49); +x_50 = l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_828____at_Lean_Parser_ParserState_hasError___spec__1(x_49, x_22); +lean_dec(x_49); +if (x_50 == 0) +{ +lean_dec(x_4); +x_29 = x_48; +goto block_35; +} +else +{ +lean_object* x_51; lean_object* x_52; uint8_t x_53; +lean_inc(x_1); +x_51 = lean_apply_2(x_4, x_1, x_48); +x_52 = lean_ctor_get(x_51, 4); +lean_inc(x_52); +x_53 = l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_828____at_Lean_Parser_ParserState_hasError___spec__1(x_52, x_22); +lean_dec(x_52); +if (x_53 == 0) +{ +x_29 = x_51; +goto block_35; +} +else +{ +lean_object* x_54; lean_object* x_55; uint8_t x_56; +lean_inc(x_1); +x_54 = l_Lean_Parser_strLit___elambda__1(x_1, x_51); +x_55 = lean_ctor_get(x_54, 4); +lean_inc(x_55); +x_56 = l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_828____at_Lean_Parser_ParserState_hasError___spec__1(x_55, x_22); +lean_dec(x_55); +if (x_56 == 0) +{ +x_29 = x_54; +goto block_35; +} +else +{ +lean_object* x_57; lean_object* x_58; uint8_t x_59; +lean_inc(x_1); +x_57 = l_Lean_Parser_darrow___elambda__1(x_1, x_54); +x_58 = lean_ctor_get(x_57, 4); +lean_inc(x_58); +x_59 = l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_828____at_Lean_Parser_ParserState_hasError___spec__1(x_58, x_22); +lean_dec(x_58); +if (x_59 == 0) +{ +x_29 = x_57; +goto block_35; +} +else +{ +lean_object* x_60; lean_object* x_61; lean_object* x_62; +x_60 = l___regBuiltin_Lean_Parser_Term_stx_quot___closed__2; +x_61 = lean_unsigned_to_nat(0u); +lean_inc(x_1); +x_62 = l_Lean_Parser_categoryParser___elambda__1(x_60, x_61, x_1, x_57); +x_29 = x_62; +goto block_35; +} +} +} +} +} +} +} +} +} +block_35: +{ +lean_object* x_30; lean_object* x_31; lean_object* x_32; uint8_t x_33; +x_30 = l_Lean_Parser_Command_mixfix___elambda__1___closed__2; +x_31 = l_Lean_Parser_ParserState_mkNode(x_29, x_30, x_25); +x_32 = lean_ctor_get(x_31, 4); +lean_inc(x_32); +x_33 = l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_828____at_Lean_Parser_ParserState_hasError___spec__1(x_32, x_22); +lean_dec(x_32); +if (x_33 == 0) +{ +lean_dec(x_1); +return x_31; +} +else +{ +lean_object* x_34; +x_34 = l_Lean_Parser_setLhsPrecFn(x_19, x_1, x_31); +lean_dec(x_1); +return x_34; +} +} +} +} +else +{ +lean_object* x_63; uint8_t x_64; lean_object* x_65; +lean_dec(x_10); +lean_dec(x_8); +lean_dec(x_6); +lean_dec(x_4); +x_63 = l_Lean_Parser_Command_mixfix___elambda__1___closed__22; +x_64 = 1; +x_65 = l_Lean_Parser_orelseFnCore(x_12, x_63, x_64, x_1, x_2); +return x_65; } } } @@ -15753,7 +15807,7 @@ static lean_object* _init_l_Lean_Parser_Command_mixfix___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_mixfix___elambda__1___closed__4; +x_1 = l_Lean_Parser_Command_mixfix___elambda__1___closed__5; x_2 = lean_ctor_get(x_1, 0); lean_inc(x_2); x_3 = l_Lean_Parser_Command_mixfix___closed__9; @@ -15764,20 +15818,22 @@ return x_4; static lean_object* _init_l_Lean_Parser_Command_mixfix___closed__11() { _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___closed__10; -x_3 = l_Lean_Parser_nodeInfo(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_Command_mixfix___elambda__1___closed__4; +x_2 = lean_ctor_get(x_1, 0); +lean_inc(x_2); +x_3 = l_Lean_Parser_Command_mixfix___closed__10; +x_4 = l_Lean_Parser_andthenInfo(x_2, x_3); +return x_4; } } static lean_object* _init_l_Lean_Parser_Command_mixfix___closed__12() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_mixfix___closed__11; -x_2 = l_Lean_Parser_epsilonInfo; -x_3 = l_Lean_Parser_andthenInfo(x_1, x_2); +x_1 = l_Lean_Parser_Command_mixfix___elambda__1___closed__2; +x_2 = l_Lean_Parser_Command_mixfix___closed__11; +x_3 = l_Lean_Parser_nodeInfo(x_1, x_2); return x_3; } } @@ -15785,8 +15841,8 @@ static lean_object* _init_l_Lean_Parser_Command_mixfix___closed__13() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_epsilonInfo; -x_2 = l_Lean_Parser_Command_mixfix___closed__12; +x_1 = l_Lean_Parser_Command_mixfix___closed__12; +x_2 = l_Lean_Parser_epsilonInfo; x_3 = l_Lean_Parser_andthenInfo(x_1, x_2); return x_3; } @@ -15794,16 +15850,26 @@ return x_3; static lean_object* _init_l_Lean_Parser_Command_mixfix___closed__14() { _start: { +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_epsilonInfo; +x_2 = l_Lean_Parser_Command_mixfix___closed__13; +x_3 = l_Lean_Parser_andthenInfo(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Command_mixfix___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_mixfix___elambda__1___closed__3; x_2 = lean_ctor_get(x_1, 0); lean_inc(x_2); -x_3 = l_Lean_Parser_Command_mixfix___closed__13; +x_3 = l_Lean_Parser_Command_mixfix___closed__14; x_4 = l_Lean_Parser_orelseInfo(x_2, x_3); return x_4; } } -static lean_object* _init_l_Lean_Parser_Command_mixfix___closed__15() { +static lean_object* _init_l_Lean_Parser_Command_mixfix___closed__16() { _start: { lean_object* x_1; @@ -15811,12 +15877,12 @@ x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Command_mixfix___elambda__1), 2, return x_1; } } -static lean_object* _init_l_Lean_Parser_Command_mixfix___closed__16() { +static lean_object* _init_l_Lean_Parser_Command_mixfix___closed__17() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_mixfix___closed__14; -x_2 = l_Lean_Parser_Command_mixfix___closed__15; +x_1 = l_Lean_Parser_Command_mixfix___closed__15; +x_2 = l_Lean_Parser_Command_mixfix___closed__16; x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); @@ -15827,7 +15893,7 @@ static lean_object* _init_l_Lean_Parser_Command_mixfix() { _start: { lean_object* x_1; -x_1 = l_Lean_Parser_Command_mixfix___closed__16; +x_1 = l_Lean_Parser_Command_mixfix___closed__17; return x_1; } } @@ -15889,7 +15955,7 @@ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_unsigned_to_nat(62u); -x_2 = lean_unsigned_to_nat(198u); +x_2 = lean_unsigned_to_nat(230u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); @@ -15903,7 +15969,7 @@ lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_obj x_1 = l___regBuiltin_Lean_Parser_Command_mixfix_declRange___closed__1; x_2 = lean_unsigned_to_nat(24u); x_3 = l___regBuiltin_Lean_Parser_Command_mixfix_declRange___closed__2; -x_4 = lean_unsigned_to_nat(198u); +x_4 = lean_unsigned_to_nat(230u); x_5 = lean_alloc_ctor(0, 4, 0); lean_ctor_set(x_5, 0, x_1); lean_ctor_set(x_5, 1, x_2); @@ -16632,56 +16698,54 @@ static lean_object* _init_l_Lean_Parser_Command_mixfix_formatter___closed__4() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_darrow_formatter), 5, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_attributes_formatter), 5, 0); return x_1; } } static lean_object* _init_l_Lean_Parser_Command_mixfix_formatter___closed__5() { _start: { +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Command_mixfix_formatter___closed__4; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optional_formatter), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Command_mixfix_formatter___closed__6() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_darrow_formatter), 5, 0); +return x_1; +} +} +static lean_object* _init_l_Lean_Parser_Command_mixfix_formatter___closed__7() { +_start: +{ lean_object* x_1; x_1 = lean_alloc_closure((void*)(l_Lean_Parser_termParser_formatter___rarg), 5, 0); return x_1; } } -static lean_object* _init_l_Lean_Parser_Command_mixfix_formatter___closed__6() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_mixfix_formatter___closed__4; -x_2 = l_Lean_Parser_Command_mixfix_formatter___closed__5; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); -lean_closure_set(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_formatter___closed__7() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Syntax_sepBy_formatter___closed__10; -x_2 = l_Lean_Parser_Command_mixfix_formatter___closed__6; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); -lean_closure_set(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_formatter___closed__8() { _start: { -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_ppSpace_formatter___boxed), 5, 0); -return x_1; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Command_mixfix_formatter___closed__6; +x_2 = l_Lean_Parser_Command_mixfix_formatter___closed__7; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); +lean_closure_set(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_formatter___closed__9() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_mixfix_formatter___closed__8; -x_2 = l_Lean_Parser_Command_mixfix_formatter___closed__7; +x_1 = l_Lean_Parser_Syntax_sepBy_formatter___closed__10; +x_2 = l_Lean_Parser_Command_mixfix_formatter___closed__8; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); @@ -16692,7 +16756,7 @@ static lean_object* _init_l_Lean_Parser_Command_mixfix_formatter___closed__10() _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Command_optNamedPrio_formatter), 5, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_ppSpace_formatter___boxed), 5, 0); return x_1; } } @@ -16712,7 +16776,7 @@ static lean_object* _init_l_Lean_Parser_Command_mixfix_formatter___closed__12() _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Command_optNamedName_formatter), 5, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Command_optNamedPrio_formatter), 5, 0); return x_1; } } @@ -16731,8 +16795,16 @@ return x_3; static lean_object* _init_l_Lean_Parser_Command_mixfix_formatter___closed__14() { _start: { +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Command_optNamedName_formatter), 5, 0); +return x_1; +} +} +static lean_object* _init_l_Lean_Parser_Command_mixfix_formatter___closed__15() { +_start: +{ lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l___regBuiltin_Lean_Parser_precedence_formatter___closed__2; +x_1 = l_Lean_Parser_Command_mixfix_formatter___closed__14; x_2 = l_Lean_Parser_Command_mixfix_formatter___closed__13; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -16740,20 +16812,12 @@ lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Command_mixfix_formatter___closed__15() { -_start: -{ -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Command_mixfixKind_formatter), 5, 0); -return x_1; -} -} static lean_object* _init_l_Lean_Parser_Command_mixfix_formatter___closed__16() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_mixfix_formatter___closed__15; -x_2 = l_Lean_Parser_Command_mixfix_formatter___closed__14; +x_1 = l___regBuiltin_Lean_Parser_precedence_formatter___closed__2; +x_2 = l_Lean_Parser_Command_mixfix_formatter___closed__15; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); @@ -16764,7 +16828,7 @@ static lean_object* _init_l_Lean_Parser_Command_mixfix_formatter___closed__17() _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_attrKind_formatter), 5, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Command_mixfixKind_formatter), 5, 0); return x_1; } } @@ -16783,8 +16847,16 @@ return x_3; static lean_object* _init_l_Lean_Parser_Command_mixfix_formatter___closed__19() { _start: { +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_attrKind_formatter), 5, 0); +return x_1; +} +} +static lean_object* _init_l_Lean_Parser_Command_mixfix_formatter___closed__20() { +_start: +{ lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_mixfix_formatter___closed__3; +x_1 = l_Lean_Parser_Command_mixfix_formatter___closed__19; x_2 = l_Lean_Parser_Command_mixfix_formatter___closed__18; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -16792,13 +16864,37 @@ lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Command_mixfix_formatter___closed__20() { +static lean_object* _init_l_Lean_Parser_Command_mixfix_formatter___closed__21() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Command_mixfix_formatter___closed__5; +x_2 = l_Lean_Parser_Command_mixfix_formatter___closed__20; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); +lean_closure_set(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_formatter___closed__22() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Command_mixfix_formatter___closed__3; +x_2 = l_Lean_Parser_Command_mixfix_formatter___closed__21; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); +lean_closure_set(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_formatter___closed__23() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; x_1 = l_Lean_Parser_Command_mixfix___elambda__1___closed__2; x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Command_mixfix_formatter___closed__19; +x_3 = l_Lean_Parser_Command_mixfix_formatter___closed__22; x_4 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); lean_closure_set(x_4, 0, x_1); lean_closure_set(x_4, 1, x_2); @@ -16811,7 +16907,7 @@ _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; x_6 = l_Lean_Parser_Command_mixfix_formatter___closed__1; -x_7 = l_Lean_Parser_Command_mixfix_formatter___closed__20; +x_7 = l_Lean_Parser_Command_mixfix_formatter___closed__23; x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } @@ -17503,6 +17599,24 @@ return x_2; static lean_object* _init_l_Lean_Parser_Command_mixfix_parenthesizer___closed__4() { _start: { +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_attributes_parenthesizer), 5, 0); +return x_1; +} +} +static lean_object* _init_l_Lean_Parser_Command_mixfix_parenthesizer___closed__5() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__4; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optional_parenthesizer), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Command_mixfix_parenthesizer___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_termParser_parenthesizer), 6, 1); @@ -17510,7 +17624,7 @@ lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Command_mixfix_parenthesizer___closed__5() { +static lean_object* _init_l_Lean_Parser_Command_mixfix_parenthesizer___closed__7() { _start: { lean_object* x_1; @@ -17518,23 +17632,11 @@ x_1 = lean_alloc_closure((void*)(l_Lean_Parser_darrow_parenthesizer), 5, 0); return x_1; } } -static lean_object* _init_l_Lean_Parser_Command_mixfix_parenthesizer___closed__6() { +static lean_object* _init_l_Lean_Parser_Command_mixfix_parenthesizer___closed__8() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__5; -x_2 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__4; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; -} -} -static lean_object* _init_l_Lean_Parser_Command_mixfix_parenthesizer___closed__7() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Syntax_sepBy_parenthesizer___closed__10; +x_1 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__7; x_2 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__6; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -17542,20 +17644,12 @@ lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Command_mixfix_parenthesizer___closed__8() { -_start: -{ -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_ppSpace_parenthesizer___boxed), 4, 0); -return x_1; -} -} static lean_object* _init_l_Lean_Parser_Command_mixfix_parenthesizer___closed__9() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__8; -x_2 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__7; +x_1 = l_Lean_Parser_Syntax_sepBy_parenthesizer___closed__10; +x_2 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__8; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); @@ -17566,7 +17660,7 @@ static lean_object* _init_l_Lean_Parser_Command_mixfix_parenthesizer___closed__1 _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Command_optNamedPrio_parenthesizer), 5, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_ppSpace_parenthesizer___boxed), 4, 0); return x_1; } } @@ -17586,7 +17680,7 @@ static lean_object* _init_l_Lean_Parser_Command_mixfix_parenthesizer___closed__1 _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Command_optNamedName_parenthesizer), 5, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Command_optNamedPrio_parenthesizer), 5, 0); return x_1; } } @@ -17605,8 +17699,16 @@ return x_3; static lean_object* _init_l_Lean_Parser_Command_mixfix_parenthesizer___closed__14() { _start: { +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Command_optNamedName_parenthesizer), 5, 0); +return x_1; +} +} +static lean_object* _init_l_Lean_Parser_Command_mixfix_parenthesizer___closed__15() { +_start: +{ lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l___regBuiltin_Lean_Parser_precedence_parenthesizer___closed__2; +x_1 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__14; x_2 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__13; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -17614,20 +17716,12 @@ lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Command_mixfix_parenthesizer___closed__15() { -_start: -{ -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Command_mixfixKind_parenthesizer), 5, 0); -return x_1; -} -} static lean_object* _init_l_Lean_Parser_Command_mixfix_parenthesizer___closed__16() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__15; -x_2 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__14; +x_1 = l___regBuiltin_Lean_Parser_precedence_parenthesizer___closed__2; +x_2 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__15; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); @@ -17638,7 +17732,7 @@ static lean_object* _init_l_Lean_Parser_Command_mixfix_parenthesizer___closed__1 _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_attrKind_parenthesizer), 5, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Command_mixfixKind_parenthesizer), 5, 0); return x_1; } } @@ -17657,8 +17751,16 @@ return x_3; static lean_object* _init_l_Lean_Parser_Command_mixfix_parenthesizer___closed__19() { _start: { +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_attrKind_parenthesizer), 5, 0); +return x_1; +} +} +static lean_object* _init_l_Lean_Parser_Command_mixfix_parenthesizer___closed__20() { +_start: +{ lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__3; +x_1 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__19; x_2 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__18; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -17666,13 +17768,37 @@ lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Command_mixfix_parenthesizer___closed__20() { +static lean_object* _init_l_Lean_Parser_Command_mixfix_parenthesizer___closed__21() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__5; +x_2 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__20; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +lean_closure_set(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_parenthesizer___closed__22() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__3; +x_2 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__21; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +lean_closure_set(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_parenthesizer___closed__23() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; x_1 = l_Lean_Parser_Command_mixfix___elambda__1___closed__2; x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__19; +x_3 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__22; x_4 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer___boxed), 8, 3); lean_closure_set(x_4, 0, x_1); lean_closure_set(x_4, 1, x_2); @@ -17685,7 +17811,7 @@ _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; x_6 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__1; -x_7 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__20; +x_7 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__23; x_8 = l_Lean_PrettyPrinter_Parenthesizer_withAntiquot_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } @@ -18361,7 +18487,7 @@ lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; x_1 = l_Lean_Parser_Command_notation___elambda__1___closed__6; x_2 = lean_ctor_get(x_1, 1); lean_inc(x_2); -x_3 = l_Lean_Parser_Command_mixfix___elambda__1___closed__7; +x_3 = l_Lean_Parser_Command_mixfix___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); @@ -18426,7 +18552,7 @@ static lean_object* _init_l_Lean_Parser_Command_notation___elambda__1___closed__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_mixfix___elambda__1___closed__15; +x_1 = l_Lean_Parser_Command_mixfix___elambda__1___closed__16; 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); @@ -18438,7 +18564,7 @@ static lean_object* _init_l_Lean_Parser_Command_notation___elambda__1___closed__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Command_mixfix___elambda__1___closed__4; +x_1 = l_Lean_Parser_Command_mixfix___elambda__1___closed__5; x_2 = lean_ctor_get(x_1, 1); lean_inc(x_2); x_3 = l_Lean_Parser_Command_notation___elambda__1___closed__12; @@ -18451,22 +18577,24 @@ return x_4; 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_Command_notation___elambda__1___closed__2; -x_2 = l_Lean_Parser_Command_notation___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; +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Command_mixfix___elambda__1___closed__4; +x_2 = lean_ctor_get(x_1, 1); +lean_inc(x_2); +x_3 = l_Lean_Parser_Command_notation___elambda__1___closed__13; +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_notation___elambda__1___closed__15() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_notation___elambda__1___closed__14; -x_2 = l_Lean_Parser_precedence___elambda__1___closed__8; -x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); +x_1 = l_Lean_Parser_Command_notation___elambda__1___closed__2; +x_2 = l_Lean_Parser_Command_notation___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; @@ -18476,8 +18604,8 @@ static lean_object* _init_l_Lean_Parser_Command_notation___elambda__1___closed__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_precedence___elambda__1___closed__7; -x_2 = l_Lean_Parser_Command_notation___elambda__1___closed__15; +x_1 = l_Lean_Parser_Command_notation___elambda__1___closed__15; +x_2 = l_Lean_Parser_precedence___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); @@ -18488,9 +18616,11 @@ static lean_object* _init_l_Lean_Parser_Command_notation___elambda__1___closed__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_precedence___elambda__1___lambda__1___closed__1; -x_2 = l_Lean_Parser_Command_notation___elambda__1___closed__4; -x_3 = lean_string_append(x_1, x_2); +x_1 = l_Lean_Parser_precedence___elambda__1___closed__7; +x_2 = l_Lean_Parser_Command_notation___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; } } @@ -18498,7 +18628,17 @@ static lean_object* _init_l_Lean_Parser_Command_notation___elambda__1___closed__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_notation___elambda__1___closed__17; +x_1 = l_Lean_Parser_precedence___elambda__1___lambda__1___closed__1; +x_2 = l_Lean_Parser_Command_notation___elambda__1___closed__4; +x_3 = lean_string_append(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Command_notation___elambda__1___closed__19() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Command_notation___elambda__1___closed__18; x_2 = l_Lean_Parser_precedence___elambda__1___lambda__1___closed__1; x_3 = lean_string_append(x_1, x_2); return x_3; @@ -18507,7 +18647,7 @@ return x_3; LEAN_EXPORT 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; 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; uint32_t x_18; uint32_t x_19; uint8_t x_20; +lean_object* x_3; 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; uint32_t x_20; uint32_t x_21; uint8_t x_22; x_3 = l_Lean_Parser_Command_notation___elambda__1___closed__6; x_4 = lean_ctor_get(x_3, 1); lean_inc(x_4); @@ -18520,249 +18660,239 @@ lean_inc(x_8); x_9 = l_Lean_Parser_optPrecedence; x_10 = lean_ctor_get(x_9, 1); lean_inc(x_10); -x_11 = l_Lean_Parser_Command_mixfix___elambda__1___closed__4; +x_11 = l_Lean_Parser_Command_mixfix___elambda__1___closed__5; x_12 = lean_ctor_get(x_11, 1); lean_inc(x_12); -x_13 = l_Lean_Parser_Command_notation___elambda__1___closed__3; +x_13 = l_Lean_Parser_Command_mixfix___elambda__1___closed__4; x_14 = lean_ctor_get(x_13, 1); lean_inc(x_14); -x_15 = lean_ctor_get(x_1, 0); -lean_inc(x_15); -x_16 = lean_ctor_get(x_15, 0); +x_15 = l_Lean_Parser_Command_notation___elambda__1___closed__3; +x_16 = lean_ctor_get(x_15, 1); lean_inc(x_16); -lean_dec(x_15); -x_17 = lean_ctor_get(x_2, 2); +x_17 = lean_ctor_get(x_1, 0); lean_inc(x_17); -x_18 = lean_string_utf8_get(x_16, x_17); +x_18 = lean_ctor_get(x_17, 0); +lean_inc(x_18); lean_dec(x_17); -x_19 = 36; -x_20 = lean_uint32_dec_eq(x_18, 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; -lean_dec(x_14); -x_21 = lean_unsigned_to_nat(1024u); -x_22 = l_Lean_Parser_checkPrecFn(x_21, x_1, x_2); -x_23 = lean_ctor_get(x_22, 4); -lean_inc(x_23); -x_24 = lean_box(0); -x_25 = l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_828____at_Lean_Parser_ParserState_hasError___spec__1(x_23, x_24); -lean_dec(x_23); -if (x_25 == 0) +x_19 = lean_ctor_get(x_2, 2); +lean_inc(x_19); +x_20 = lean_string_utf8_get(x_18, x_19); +lean_dec(x_19); +x_21 = 36; +x_22 = lean_uint32_dec_eq(x_20, x_21); +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_dec(x_16); +x_23 = lean_unsigned_to_nat(1024u); +x_24 = l_Lean_Parser_checkPrecFn(x_23, x_1, x_2); +x_25 = lean_ctor_get(x_24, 4); +lean_inc(x_25); +x_26 = lean_box(0); +x_27 = l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_828____at_Lean_Parser_ParserState_hasError___spec__1(x_25, x_26); +lean_dec(x_25); +if (x_27 == 0) +{ +lean_dec(x_18); +lean_dec(x_14); lean_dec(x_12); lean_dec(x_10); lean_dec(x_8); lean_dec(x_6); lean_dec(x_4); lean_dec(x_1); -return x_22; +return x_24; } else { -lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; uint8_t x_30; lean_object* x_31; -x_26 = lean_ctor_get(x_22, 0); -lean_inc(x_26); -x_27 = lean_array_get_size(x_26); -lean_dec(x_26); +lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; uint8_t x_32; lean_object* x_33; +x_28 = lean_ctor_get(x_24, 0); +lean_inc(x_28); +x_29 = lean_array_get_size(x_28); +lean_dec(x_28); lean_inc(x_1); -x_28 = lean_apply_2(x_12, x_1, x_22); -x_29 = lean_ctor_get(x_28, 4); -lean_inc(x_29); -x_30 = l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_828____at_Lean_Parser_ParserState_hasError___spec__1(x_29, x_24); -lean_dec(x_29); -if (x_30 == 0) +x_30 = lean_apply_2(x_14, x_1, x_24); +x_31 = lean_ctor_get(x_30, 4); +lean_inc(x_31); +x_32 = l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_828____at_Lean_Parser_ParserState_hasError___spec__1(x_31, x_26); +lean_dec(x_31); +if (x_32 == 0) { -lean_object* x_38; lean_object* x_39; lean_object* x_40; uint8_t x_41; -lean_dec(x_16); +lean_dec(x_18); +lean_dec(x_12); lean_dec(x_10); lean_dec(x_8); lean_dec(x_6); lean_dec(x_4); -x_38 = l_Lean_Parser_Command_notation___elambda__1___closed__2; -x_39 = l_Lean_Parser_ParserState_mkNode(x_28, x_38, x_27); -x_40 = lean_ctor_get(x_39, 4); -lean_inc(x_40); -x_41 = l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_828____at_Lean_Parser_ParserState_hasError___spec__1(x_40, x_24); -lean_dec(x_40); -if (x_41 == 0) -{ -lean_dec(x_1); -return x_39; +x_33 = x_30; +goto block_39; } else { -lean_object* x_42; -x_42 = l_Lean_Parser_setLhsPrecFn(x_21, x_1, x_39); -lean_dec(x_1); -return x_42; -} +lean_object* x_40; lean_object* x_41; uint8_t x_42; +lean_inc(x_1); +x_40 = lean_apply_2(x_12, x_1, x_30); +x_41 = lean_ctor_get(x_40, 4); +lean_inc(x_41); +x_42 = l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_828____at_Lean_Parser_ParserState_hasError___spec__1(x_41, x_26); +lean_dec(x_41); +if (x_42 == 0) +{ +lean_dec(x_18); +lean_dec(x_10); +lean_dec(x_8); +lean_dec(x_6); +lean_dec(x_4); +x_33 = x_40; +goto block_39; } else { lean_object* x_43; lean_object* x_44; uint8_t x_45; lean_inc(x_1); -x_43 = l_Lean_Parser_Term_attrKind___elambda__1(x_1, x_28); +x_43 = l_Lean_Parser_Term_attrKind___elambda__1(x_1, x_40); x_44 = lean_ctor_get(x_43, 4); lean_inc(x_44); -x_45 = l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_828____at_Lean_Parser_ParserState_hasError___spec__1(x_44, x_24); +x_45 = l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_828____at_Lean_Parser_ParserState_hasError___spec__1(x_44, x_26); lean_dec(x_44); if (x_45 == 0) { -lean_object* x_46; lean_object* x_47; lean_object* x_48; uint8_t x_49; -lean_dec(x_16); +lean_dec(x_18); lean_dec(x_10); lean_dec(x_8); lean_dec(x_6); lean_dec(x_4); -x_46 = l_Lean_Parser_Command_notation___elambda__1___closed__2; -x_47 = l_Lean_Parser_ParserState_mkNode(x_43, x_46, x_27); -x_48 = lean_ctor_get(x_47, 4); -lean_inc(x_48); -x_49 = l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_828____at_Lean_Parser_ParserState_hasError___spec__1(x_48, x_24); -lean_dec(x_48); -if (x_49 == 0) -{ -lean_dec(x_1); -return x_47; +x_33 = x_43; +goto block_39; } else { -lean_object* x_50; -x_50 = l_Lean_Parser_setLhsPrecFn(x_21, x_1, x_47); -lean_dec(x_1); -return x_50; -} -} -else -{ -lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; uint32_t x_55; uint32_t x_56; uint8_t x_57; lean_object* x_58; -x_51 = l_Lean_Parser_Command_notation___elambda__1___closed__4; -x_52 = l_Lean_Parser_Command_notation___elambda__1___closed__18; +lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; uint32_t x_50; uint32_t x_51; uint8_t x_52; lean_object* x_53; +x_46 = l_Lean_Parser_Command_notation___elambda__1___closed__4; +x_47 = l_Lean_Parser_Command_notation___elambda__1___closed__19; lean_inc(x_1); -x_53 = l_Lean_Parser_symbolFnAux(x_51, x_52, x_1, x_43); -x_54 = lean_ctor_get(x_53, 2); +x_48 = l_Lean_Parser_symbolFnAux(x_46, x_47, x_1, x_43); +x_49 = lean_ctor_get(x_48, 2); +lean_inc(x_49); +x_50 = lean_string_utf8_get(x_18, x_49); +lean_dec(x_49); +lean_dec(x_18); +x_51 = 37; +x_52 = lean_uint32_dec_eq(x_50, x_51); +if (x_52 == 0) +{ +x_53 = x_48; +goto block_74; +} +else +{ +lean_object* x_75; +lean_inc(x_1); +x_75 = l_Lean_Parser_tokenAntiquotFn(x_1, x_48); +x_53 = x_75; +goto block_74; +} +block_74: +{ +lean_object* x_54; uint8_t x_55; +x_54 = lean_ctor_get(x_53, 4); lean_inc(x_54); -x_55 = lean_string_utf8_get(x_16, x_54); +x_55 = l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_828____at_Lean_Parser_ParserState_hasError___spec__1(x_54, x_26); lean_dec(x_54); -lean_dec(x_16); -x_56 = 37; -x_57 = lean_uint32_dec_eq(x_55, x_56); -if (x_57 == 0) -{ -x_58 = x_53; -goto block_79; -} -else -{ -lean_object* x_80; -lean_inc(x_1); -x_80 = l_Lean_Parser_tokenAntiquotFn(x_1, x_53); -x_58 = x_80; -goto block_79; -} -block_79: -{ -lean_object* x_59; uint8_t x_60; -x_59 = lean_ctor_get(x_58, 4); -lean_inc(x_59); -x_60 = l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_828____at_Lean_Parser_ParserState_hasError___spec__1(x_59, x_24); -lean_dec(x_59); -if (x_60 == 0) +if (x_55 == 0) { lean_dec(x_10); lean_dec(x_8); lean_dec(x_6); lean_dec(x_4); -x_31 = x_58; -goto block_37; +x_33 = x_53; +goto block_39; } else { -lean_object* x_61; lean_object* x_62; uint8_t x_63; +lean_object* x_56; lean_object* x_57; uint8_t x_58; lean_inc(x_1); -x_61 = lean_apply_2(x_10, x_1, x_58); -x_62 = lean_ctor_get(x_61, 4); -lean_inc(x_62); -x_63 = l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_828____at_Lean_Parser_ParserState_hasError___spec__1(x_62, x_24); -lean_dec(x_62); -if (x_63 == 0) +x_56 = lean_apply_2(x_10, x_1, x_53); +x_57 = lean_ctor_get(x_56, 4); +lean_inc(x_57); +x_58 = l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_828____at_Lean_Parser_ParserState_hasError___spec__1(x_57, x_26); +lean_dec(x_57); +if (x_58 == 0) { lean_dec(x_8); lean_dec(x_6); lean_dec(x_4); -x_31 = x_61; -goto block_37; +x_33 = x_56; +goto block_39; } else { -lean_object* x_64; lean_object* x_65; uint8_t x_66; +lean_object* x_59; lean_object* x_60; uint8_t x_61; lean_inc(x_1); -x_64 = lean_apply_2(x_8, x_1, x_61); -x_65 = lean_ctor_get(x_64, 4); -lean_inc(x_65); -x_66 = l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_828____at_Lean_Parser_ParserState_hasError___spec__1(x_65, x_24); -lean_dec(x_65); -if (x_66 == 0) +x_59 = lean_apply_2(x_8, x_1, x_56); +x_60 = lean_ctor_get(x_59, 4); +lean_inc(x_60); +x_61 = l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_828____at_Lean_Parser_ParserState_hasError___spec__1(x_60, x_26); +lean_dec(x_60); +if (x_61 == 0) { lean_dec(x_6); lean_dec(x_4); -x_31 = x_64; -goto block_37; +x_33 = x_59; +goto block_39; } else { -lean_object* x_67; lean_object* x_68; uint8_t x_69; +lean_object* x_62; lean_object* x_63; uint8_t x_64; lean_inc(x_1); -x_67 = lean_apply_2(x_6, x_1, x_64); -x_68 = lean_ctor_get(x_67, 4); -lean_inc(x_68); -x_69 = l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_828____at_Lean_Parser_ParserState_hasError___spec__1(x_68, x_24); -lean_dec(x_68); -if (x_69 == 0) +x_62 = lean_apply_2(x_6, x_1, x_59); +x_63 = lean_ctor_get(x_62, 4); +lean_inc(x_63); +x_64 = l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_828____at_Lean_Parser_ParserState_hasError___spec__1(x_63, x_26); +lean_dec(x_63); +if (x_64 == 0) { lean_dec(x_4); -x_31 = x_67; -goto block_37; +x_33 = x_62; +goto block_39; } else { -lean_object* x_70; lean_object* x_71; uint8_t x_72; +lean_object* x_65; lean_object* x_66; uint8_t x_67; lean_inc(x_1); -x_70 = lean_apply_2(x_4, x_1, x_67); -x_71 = lean_ctor_get(x_70, 4); -lean_inc(x_71); -x_72 = l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_828____at_Lean_Parser_ParserState_hasError___spec__1(x_71, x_24); -lean_dec(x_71); -if (x_72 == 0) +x_65 = lean_apply_2(x_4, x_1, x_62); +x_66 = lean_ctor_get(x_65, 4); +lean_inc(x_66); +x_67 = l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_828____at_Lean_Parser_ParserState_hasError___spec__1(x_66, x_26); +lean_dec(x_66); +if (x_67 == 0) { -x_31 = x_70; -goto block_37; +x_33 = x_65; +goto block_39; } else { -lean_object* x_73; lean_object* x_74; uint8_t x_75; +lean_object* x_68; lean_object* x_69; uint8_t x_70; lean_inc(x_1); -x_73 = l_Lean_Parser_darrow___elambda__1(x_1, x_70); -x_74 = lean_ctor_get(x_73, 4); -lean_inc(x_74); -x_75 = l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_828____at_Lean_Parser_ParserState_hasError___spec__1(x_74, x_24); -lean_dec(x_74); -if (x_75 == 0) +x_68 = l_Lean_Parser_darrow___elambda__1(x_1, x_65); +x_69 = lean_ctor_get(x_68, 4); +lean_inc(x_69); +x_70 = l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_828____at_Lean_Parser_ParserState_hasError___spec__1(x_69, x_26); +lean_dec(x_69); +if (x_70 == 0) { -x_31 = x_73; -goto block_37; +x_33 = x_68; +goto block_39; } else { -lean_object* x_76; lean_object* x_77; lean_object* x_78; -x_76 = l___regBuiltin_Lean_Parser_Term_stx_quot___closed__2; -x_77 = lean_unsigned_to_nat(0u); +lean_object* x_71; lean_object* x_72; lean_object* x_73; +x_71 = l___regBuiltin_Lean_Parser_Term_stx_quot___closed__2; +x_72 = lean_unsigned_to_nat(0u); lean_inc(x_1); -x_78 = l_Lean_Parser_categoryParser___elambda__1(x_76, x_77, x_1, x_73); -x_31 = x_78; -goto block_37; +x_73 = l_Lean_Parser_categoryParser___elambda__1(x_71, x_72, x_1, x_68); +x_33 = x_73; +goto block_39; } } } @@ -18772,43 +18902,45 @@ goto block_37; } } } -block_37: +} +block_39: { -lean_object* x_32; lean_object* x_33; lean_object* x_34; uint8_t x_35; -x_32 = l_Lean_Parser_Command_notation___elambda__1___closed__2; -x_33 = l_Lean_Parser_ParserState_mkNode(x_31, x_32, x_27); -x_34 = lean_ctor_get(x_33, 4); -lean_inc(x_34); -x_35 = l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_828____at_Lean_Parser_ParserState_hasError___spec__1(x_34, x_24); -lean_dec(x_34); -if (x_35 == 0) +lean_object* x_34; lean_object* x_35; lean_object* x_36; uint8_t x_37; +x_34 = l_Lean_Parser_Command_notation___elambda__1___closed__2; +x_35 = l_Lean_Parser_ParserState_mkNode(x_33, x_34, x_29); +x_36 = lean_ctor_get(x_35, 4); +lean_inc(x_36); +x_37 = l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_828____at_Lean_Parser_ParserState_hasError___spec__1(x_36, x_26); +lean_dec(x_36); +if (x_37 == 0) { lean_dec(x_1); -return x_33; +return x_35; } else { -lean_object* x_36; -x_36 = l_Lean_Parser_setLhsPrecFn(x_21, x_1, x_33); +lean_object* x_38; +x_38 = l_Lean_Parser_setLhsPrecFn(x_23, x_1, x_35); lean_dec(x_1); -return x_36; +return x_38; } } } } else { -lean_object* x_81; uint8_t x_82; lean_object* x_83; -lean_dec(x_16); +lean_object* x_76; uint8_t x_77; lean_object* x_78; +lean_dec(x_18); +lean_dec(x_14); lean_dec(x_12); lean_dec(x_10); lean_dec(x_8); lean_dec(x_6); lean_dec(x_4); -x_81 = l_Lean_Parser_Command_notation___elambda__1___closed__16; -x_82 = 1; -x_83 = l_Lean_Parser_orelseFnCore(x_14, x_81, x_82, x_1, x_2); -return x_83; +x_76 = l_Lean_Parser_Command_notation___elambda__1___closed__17; +x_77 = 1; +x_78 = l_Lean_Parser_orelseFnCore(x_16, x_76, x_77, x_1, x_2); +return x_78; } } } @@ -18895,7 +19027,7 @@ static lean_object* _init_l_Lean_Parser_Command_notation___closed__8() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Command_mixfix___elambda__1___closed__4; +x_1 = l_Lean_Parser_Command_mixfix___elambda__1___closed__5; x_2 = lean_ctor_get(x_1, 0); lean_inc(x_2); x_3 = l_Lean_Parser_Command_notation___closed__7; @@ -18906,20 +19038,22 @@ return x_4; static lean_object* _init_l_Lean_Parser_Command_notation___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__2; -x_2 = l_Lean_Parser_Command_notation___closed__8; -x_3 = l_Lean_Parser_nodeInfo(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_Command_mixfix___elambda__1___closed__4; +x_2 = lean_ctor_get(x_1, 0); +lean_inc(x_2); +x_3 = l_Lean_Parser_Command_notation___closed__8; +x_4 = l_Lean_Parser_andthenInfo(x_2, x_3); +return x_4; } } static lean_object* _init_l_Lean_Parser_Command_notation___closed__10() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_notation___closed__9; -x_2 = l_Lean_Parser_epsilonInfo; -x_3 = l_Lean_Parser_andthenInfo(x_1, x_2); +x_1 = l_Lean_Parser_Command_notation___elambda__1___closed__2; +x_2 = l_Lean_Parser_Command_notation___closed__9; +x_3 = l_Lean_Parser_nodeInfo(x_1, x_2); return x_3; } } @@ -18927,8 +19061,8 @@ static lean_object* _init_l_Lean_Parser_Command_notation___closed__11() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_epsilonInfo; -x_2 = l_Lean_Parser_Command_notation___closed__10; +x_1 = l_Lean_Parser_Command_notation___closed__10; +x_2 = l_Lean_Parser_epsilonInfo; x_3 = l_Lean_Parser_andthenInfo(x_1, x_2); return x_3; } @@ -18936,16 +19070,26 @@ return x_3; static lean_object* _init_l_Lean_Parser_Command_notation___closed__12() { _start: { +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_epsilonInfo; +x_2 = l_Lean_Parser_Command_notation___closed__11; +x_3 = l_Lean_Parser_andthenInfo(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Command_notation___closed__13() { +_start: +{ lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; x_1 = l_Lean_Parser_Command_notation___elambda__1___closed__3; x_2 = lean_ctor_get(x_1, 0); lean_inc(x_2); -x_3 = l_Lean_Parser_Command_notation___closed__11; +x_3 = l_Lean_Parser_Command_notation___closed__12; x_4 = l_Lean_Parser_orelseInfo(x_2, x_3); return x_4; } } -static lean_object* _init_l_Lean_Parser_Command_notation___closed__13() { +static lean_object* _init_l_Lean_Parser_Command_notation___closed__14() { _start: { lean_object* x_1; @@ -18953,12 +19097,12 @@ x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Command_notation___elambda__1), 2 return x_1; } } -static lean_object* _init_l_Lean_Parser_Command_notation___closed__14() { +static lean_object* _init_l_Lean_Parser_Command_notation___closed__15() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_notation___closed__12; -x_2 = l_Lean_Parser_Command_notation___closed__13; +x_1 = l_Lean_Parser_Command_notation___closed__13; +x_2 = l_Lean_Parser_Command_notation___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); @@ -18969,7 +19113,7 @@ static lean_object* _init_l_Lean_Parser_Command_notation() { _start: { lean_object* x_1; -x_1 = l_Lean_Parser_Command_notation___closed__14; +x_1 = l_Lean_Parser_Command_notation___closed__15; return x_1; } } @@ -19003,7 +19147,7 @@ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_unsigned_to_nat(70u); -x_2 = lean_unsigned_to_nat(204u); +x_2 = lean_unsigned_to_nat(236u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); @@ -19017,7 +19161,7 @@ lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_obj x_1 = l___regBuiltin_Lean_Parser_Command_notation_declRange___closed__1; x_2 = lean_unsigned_to_nat(24u); x_3 = l___regBuiltin_Lean_Parser_Command_notation_declRange___closed__2; -x_4 = lean_unsigned_to_nat(204u); +x_4 = lean_unsigned_to_nat(236u); x_5 = lean_alloc_ctor(0, 4, 0); lean_ctor_set(x_5, 0, x_1); lean_ctor_set(x_5, 1, x_2); @@ -19206,7 +19350,7 @@ LEAN_EXPORT lean_object* l_Lean_Parser_Command_notationItem_formatter(lean_objec _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_Parser_Command_mixfix_formatter___closed__8; +x_6 = l_Lean_Parser_Command_mixfix_formatter___closed__10; x_7 = l_Lean_Parser_Command_notationItem_formatter___closed__3; x_8 = l_Lean_PrettyPrinter_Formatter_andthen_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; @@ -19263,7 +19407,7 @@ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Parser_Command_notation_formatter___closed__4; -x_2 = l_Lean_Parser_Command_mixfix_formatter___closed__6; +x_2 = l_Lean_Parser_Command_mixfix_formatter___closed__8; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); @@ -19274,7 +19418,7 @@ static lean_object* _init_l_Lean_Parser_Command_notation_formatter___closed__6() _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_mixfix_formatter___closed__10; +x_1 = l_Lean_Parser_Command_mixfix_formatter___closed__12; x_2 = l_Lean_Parser_Command_notation_formatter___closed__5; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -19286,7 +19430,7 @@ static lean_object* _init_l_Lean_Parser_Command_notation_formatter___closed__7() _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_mixfix_formatter___closed__12; +x_1 = l_Lean_Parser_Command_mixfix_formatter___closed__14; x_2 = l_Lean_Parser_Command_notation_formatter___closed__6; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -19322,7 +19466,7 @@ static lean_object* _init_l_Lean_Parser_Command_notation_formatter___closed__10( _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_mixfix_formatter___closed__17; +x_1 = l_Lean_Parser_Command_mixfix_formatter___closed__19; x_2 = l_Lean_Parser_Command_notation_formatter___closed__9; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -19334,7 +19478,7 @@ static lean_object* _init_l_Lean_Parser_Command_notation_formatter___closed__11( _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_mixfix_formatter___closed__3; +x_1 = l_Lean_Parser_Command_mixfix_formatter___closed__5; x_2 = l_Lean_Parser_Command_notation_formatter___closed__10; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -19345,10 +19489,22 @@ return x_3; static lean_object* _init_l_Lean_Parser_Command_notation_formatter___closed__12() { _start: { +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Command_mixfix_formatter___closed__3; +x_2 = l_Lean_Parser_Command_notation_formatter___closed__11; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); +lean_closure_set(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_formatter___closed__13() { +_start: +{ lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; x_1 = l_Lean_Parser_Command_notation___elambda__1___closed__2; x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Command_notation_formatter___closed__11; +x_3 = l_Lean_Parser_Command_notation_formatter___closed__12; x_4 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); lean_closure_set(x_4, 0, x_1); lean_closure_set(x_4, 1, x_2); @@ -19361,7 +19517,7 @@ _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; x_6 = l_Lean_Parser_Command_notation_formatter___closed__1; -x_7 = l_Lean_Parser_Command_notation_formatter___closed__12; +x_7 = l_Lean_Parser_Command_notation_formatter___closed__13; x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } @@ -19514,7 +19670,7 @@ LEAN_EXPORT lean_object* l_Lean_Parser_Command_notationItem_parenthesizer(lean_o _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__8; +x_6 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__10; x_7 = l_Lean_Parser_Command_notationItem_parenthesizer___closed__3; x_8 = l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; @@ -19571,7 +19727,7 @@ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Parser_Command_notation_parenthesizer___closed__4; -x_2 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__6; +x_2 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__8; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); @@ -19582,7 +19738,7 @@ static lean_object* _init_l_Lean_Parser_Command_notation_parenthesizer___closed_ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__10; +x_1 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__12; x_2 = l_Lean_Parser_Command_notation_parenthesizer___closed__5; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -19594,7 +19750,7 @@ static lean_object* _init_l_Lean_Parser_Command_notation_parenthesizer___closed_ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__12; +x_1 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__14; x_2 = l_Lean_Parser_Command_notation_parenthesizer___closed__6; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -19630,7 +19786,7 @@ static lean_object* _init_l_Lean_Parser_Command_notation_parenthesizer___closed_ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__17; +x_1 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__19; x_2 = l_Lean_Parser_Command_notation_parenthesizer___closed__9; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -19642,7 +19798,7 @@ static lean_object* _init_l_Lean_Parser_Command_notation_parenthesizer___closed_ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__3; +x_1 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__5; x_2 = l_Lean_Parser_Command_notation_parenthesizer___closed__10; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -19653,10 +19809,22 @@ return x_3; static lean_object* _init_l_Lean_Parser_Command_notation_parenthesizer___closed__12() { _start: { +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__3; +x_2 = l_Lean_Parser_Command_notation_parenthesizer___closed__11; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +lean_closure_set(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_parenthesizer___closed__13() { +_start: +{ lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; x_1 = l_Lean_Parser_Command_notation___elambda__1___closed__2; x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Command_notation_parenthesizer___closed__11; +x_3 = l_Lean_Parser_Command_notation_parenthesizer___closed__12; x_4 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer___boxed), 8, 3); lean_closure_set(x_4, 0, x_1); lean_closure_set(x_4, 1, x_2); @@ -19669,7 +19837,7 @@ _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; x_6 = l_Lean_Parser_Command_notation_parenthesizer___closed__1; -x_7 = l_Lean_Parser_Command_notation_parenthesizer___closed__12; +x_7 = l_Lean_Parser_Command_notation_parenthesizer___closed__13; x_8 = l_Lean_PrettyPrinter_Parenthesizer_withAntiquot_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } @@ -19794,7 +19962,7 @@ static lean_object* _init_l_Lean_Parser_Command_macro__rules___elambda__1___clos _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_mixfix___elambda__1___closed__15; +x_1 = l_Lean_Parser_Command_mixfix___elambda__1___closed__16; x_2 = l_Lean_Parser_Command_macro__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); @@ -20220,7 +20388,7 @@ static lean_object* _init_l_Lean_Parser_Command_macro__rules_formatter___closed_ _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Command_mixfix_formatter___closed__5; +x_1 = l_Lean_Parser_Command_mixfix_formatter___closed__7; x_2 = lean_alloc_closure((void*)(l_Lean_Parser_Term_matchAlts_formatter), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; @@ -20262,7 +20430,7 @@ static lean_object* _init_l_Lean_Parser_Command_macro__rules_formatter___closed_ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_mixfix_formatter___closed__17; +x_1 = l_Lean_Parser_Command_mixfix_formatter___closed__19; x_2 = l_Lean_Parser_Command_macro__rules_formatter___closed__6; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -20406,7 +20574,7 @@ static lean_object* _init_l_Lean_Parser_Command_macro__rules_parenthesizer___clo _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__4; +x_1 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__6; x_2 = lean_alloc_closure((void*)(l_Lean_Parser_Term_matchAlts_parenthesizer), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; @@ -20448,7 +20616,7 @@ static lean_object* _init_l_Lean_Parser_Command_macro__rules_parenthesizer___clo _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__17; +x_1 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__19; x_2 = l_Lean_Parser_Command_macro__rules_parenthesizer___closed__6; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -20525,18 +20693,18 @@ return x_5; static lean_object* _init_l_Lean_Parser_Command_syntax___elambda__1___closed__4() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_attributes; -x_2 = l_Lean_Parser_optional(x_1); -return x_2; +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("syntax ", 7); +return x_1; } } static lean_object* _init_l_Lean_Parser_Command_syntax___elambda__1___closed__5() { _start: { -lean_object* x_1; -x_1 = lean_mk_string_from_bytes("syntax ", 7); -return x_1; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Command_syntax___elambda__1___closed__4; +x_2 = l_String_trim(x_1); +return x_2; } } static lean_object* _init_l_Lean_Parser_Command_syntax___elambda__1___closed__6() { @@ -20544,21 +20712,12 @@ _start: { lean_object* x_1; lean_object* x_2; x_1 = l_Lean_Parser_Command_syntax___elambda__1___closed__5; -x_2 = l_String_trim(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; -x_1 = l_Lean_Parser_Command_syntax___elambda__1___closed__6; x_2 = lean_alloc_closure((void*)(l_Lean_Parser_precedence___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_Command_syntax___elambda__1___closed__8() { +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; @@ -20568,16 +20727,16 @@ x_3 = l_Lean_Parser_categoryParser(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Command_syntax___elambda__1___closed__9() { +static lean_object* _init_l_Lean_Parser_Command_syntax___elambda__1___closed__8() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Command_syntax___elambda__1___closed__8; +x_1 = l_Lean_Parser_Command_syntax___elambda__1___closed__7; x_2 = l_Lean_Parser_many1(x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Command_syntax___elambda__1___closed__10() { +static lean_object* _init_l_Lean_Parser_Command_syntax___elambda__1___closed__9() { _start: { lean_object* x_1; @@ -20585,30 +20744,30 @@ x_1 = lean_mk_string_from_bytes(" : ", 3); return x_1; } } +static lean_object* _init_l_Lean_Parser_Command_syntax___elambda__1___closed__10() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Command_syntax___elambda__1___closed__9; +x_2 = l_String_trim(x_1); +return x_2; +} +} static lean_object* _init_l_Lean_Parser_Command_syntax___elambda__1___closed__11() { _start: { lean_object* x_1; lean_object* x_2; x_1 = l_Lean_Parser_Command_syntax___elambda__1___closed__10; -x_2 = l_String_trim(x_1); +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_precedence___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_Command_syntax___elambda__1___closed__12() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Command_syntax___elambda__1___closed__11; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_precedence___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_Command_syntax___elambda__1___closed__13() { -_start: -{ lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_syntax___elambda__1___closed__12; +x_1 = l_Lean_Parser_Command_syntax___elambda__1___closed__11; x_2 = l_Lean_Parser_Syntax_cat___elambda__1___closed__4; x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); lean_closure_set(x_3, 0, x_1); @@ -20616,11 +20775,25 @@ 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; lean_object* x_4; +x_1 = l_Lean_Parser_Command_syntax___elambda__1___closed__8; +x_2 = lean_ctor_get(x_1, 1); +lean_inc(x_2); +x_3 = l_Lean_Parser_Command_syntax___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_Command_syntax___elambda__1___closed__14() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Command_syntax___elambda__1___closed__9; +x_1 = l_Lean_Parser_Command_optNamedPrio; x_2 = lean_ctor_get(x_1, 1); lean_inc(x_2); x_3 = l_Lean_Parser_Command_syntax___elambda__1___closed__13; @@ -20634,7 +20807,7 @@ static lean_object* _init_l_Lean_Parser_Command_syntax___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_optNamedPrio; +x_1 = l_Lean_Parser_Command_optNamedName; x_2 = lean_ctor_get(x_1, 1); lean_inc(x_2); x_3 = l_Lean_Parser_Command_syntax___elambda__1___closed__14; @@ -20648,7 +20821,7 @@ static lean_object* _init_l_Lean_Parser_Command_syntax___elambda__1___closed__16 _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Command_optNamedName; +x_1 = l_Lean_Parser_optPrecedence; x_2 = lean_ctor_get(x_1, 1); lean_inc(x_2); x_3 = l_Lean_Parser_Command_syntax___elambda__1___closed__15; @@ -20661,22 +20834,20 @@ return x_4; static lean_object* _init_l_Lean_Parser_Command_syntax___elambda__1___closed__17() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_optPrecedence; -x_2 = lean_ctor_get(x_1, 1); -lean_inc(x_2); -x_3 = l_Lean_Parser_Command_syntax___elambda__1___closed__16; -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; +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__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_syntax___elambda__1___closed__18() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_syntax___elambda__1___closed__7; +x_1 = l_Lean_Parser_Command_mixfix___elambda__1___closed__16; x_2 = l_Lean_Parser_Command_syntax___elambda__1___closed__17; x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); lean_closure_set(x_3, 0, x_1); @@ -20687,20 +20858,22 @@ return x_3; static lean_object* _init_l_Lean_Parser_Command_syntax___elambda__1___closed__19() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_mixfix___elambda__1___closed__15; -x_2 = l_Lean_Parser_Command_syntax___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* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Command_mixfix___elambda__1___closed__5; +x_2 = lean_ctor_get(x_1, 1); +lean_inc(x_2); +x_3 = l_Lean_Parser_Command_syntax___elambda__1___closed__18; +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_syntax___elambda__1___closed__20() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Command_syntax___elambda__1___closed__4; +x_1 = l_Lean_Parser_Command_mixfix___elambda__1___closed__4; x_2 = lean_ctor_get(x_1, 1); lean_inc(x_2); x_3 = l_Lean_Parser_Command_syntax___elambda__1___closed__19; @@ -20713,24 +20886,22 @@ return x_4; static lean_object* _init_l_Lean_Parser_Command_syntax___elambda__1___closed__21() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Command_mixfix___elambda__1___closed__4; -x_2 = lean_ctor_get(x_1, 1); -lean_inc(x_2); -x_3 = l_Lean_Parser_Command_syntax___elambda__1___closed__20; -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; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Command_syntax___elambda__1___closed__2; +x_2 = l_Lean_Parser_Command_syntax___elambda__1___closed__20; +x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2); +lean_closure_set(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__22() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_syntax___elambda__1___closed__2; -x_2 = l_Lean_Parser_Command_syntax___elambda__1___closed__21; -x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2); +x_1 = l_Lean_Parser_Command_syntax___elambda__1___closed__21; +x_2 = l_Lean_Parser_precedence___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; @@ -20740,8 +20911,8 @@ static lean_object* _init_l_Lean_Parser_Command_syntax___elambda__1___closed__23 _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_syntax___elambda__1___closed__22; -x_2 = l_Lean_Parser_precedence___elambda__1___closed__8; +x_1 = l_Lean_Parser_precedence___elambda__1___closed__7; +x_2 = l_Lean_Parser_Command_syntax___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); @@ -20752,11 +20923,9 @@ static lean_object* _init_l_Lean_Parser_Command_syntax___elambda__1___closed__24 _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_precedence___elambda__1___closed__7; -x_2 = l_Lean_Parser_Command_syntax___elambda__1___closed__23; -x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); +x_1 = l_Lean_Parser_precedence___elambda__1___lambda__1___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; } } @@ -20764,8 +20933,8 @@ static lean_object* _init_l_Lean_Parser_Command_syntax___elambda__1___closed__25 _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_precedence___elambda__1___lambda__1___closed__1; -x_2 = l_Lean_Parser_Command_syntax___elambda__1___closed__6; +x_1 = l_Lean_Parser_Command_syntax___elambda__1___closed__24; +x_2 = l_Lean_Parser_precedence___elambda__1___lambda__1___closed__1; x_3 = lean_string_append(x_1, x_2); return x_3; } @@ -20774,8 +20943,8 @@ static lean_object* _init_l_Lean_Parser_Command_syntax___elambda__1___closed__26 _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_syntax___elambda__1___closed__25; -x_2 = l_Lean_Parser_precedence___elambda__1___lambda__1___closed__1; +x_1 = l_Lean_Parser_precedence___elambda__1___lambda__1___closed__1; +x_2 = l_Lean_Parser_Command_syntax___elambda__1___closed__10; x_3 = lean_string_append(x_1, x_2); return x_3; } @@ -20784,17 +20953,7 @@ static lean_object* _init_l_Lean_Parser_Command_syntax___elambda__1___closed__27 _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_precedence___elambda__1___lambda__1___closed__1; -x_2 = l_Lean_Parser_Command_syntax___elambda__1___closed__11; -x_3 = lean_string_append(x_1, x_2); -return x_3; -} -} -static lean_object* _init_l_Lean_Parser_Command_syntax___elambda__1___closed__28() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_syntax___elambda__1___closed__27; +x_1 = l_Lean_Parser_Command_syntax___elambda__1___closed__26; x_2 = l_Lean_Parser_precedence___elambda__1___lambda__1___closed__1; x_3 = lean_string_append(x_1, x_2); return x_3; @@ -20804,7 +20963,7 @@ LEAN_EXPORT lean_object* l_Lean_Parser_Command_syntax___elambda__1(lean_object* _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; 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; uint32_t x_20; uint32_t x_21; uint8_t x_22; -x_3 = l_Lean_Parser_Command_syntax___elambda__1___closed__9; +x_3 = l_Lean_Parser_Command_syntax___elambda__1___closed__8; x_4 = lean_ctor_get(x_3, 1); lean_inc(x_4); x_5 = l_Lean_Parser_Command_optNamedPrio; @@ -20816,7 +20975,7 @@ lean_inc(x_8); x_9 = l_Lean_Parser_optPrecedence; x_10 = lean_ctor_get(x_9, 1); lean_inc(x_10); -x_11 = l_Lean_Parser_Command_syntax___elambda__1___closed__4; +x_11 = l_Lean_Parser_Command_mixfix___elambda__1___closed__5; x_12 = lean_ctor_get(x_11, 1); lean_inc(x_12); x_13 = l_Lean_Parser_Command_mixfix___elambda__1___closed__4; @@ -20924,8 +21083,8 @@ goto block_39; else { lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; uint32_t x_50; uint32_t x_51; uint8_t x_52; lean_object* x_53; -x_46 = l_Lean_Parser_Command_syntax___elambda__1___closed__6; -x_47 = l_Lean_Parser_Command_syntax___elambda__1___closed__26; +x_46 = l_Lean_Parser_Command_syntax___elambda__1___closed__5; +x_47 = l_Lean_Parser_Command_syntax___elambda__1___closed__25; lean_inc(x_1); x_48 = l_Lean_Parser_symbolFnAux(x_46, x_47, x_1, x_43); x_49 = lean_ctor_get(x_48, 2); @@ -21033,8 +21192,8 @@ goto block_39; else { lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; uint32_t x_72; uint8_t x_73; -x_68 = l_Lean_Parser_Command_syntax___elambda__1___closed__11; -x_69 = l_Lean_Parser_Command_syntax___elambda__1___closed__28; +x_68 = l_Lean_Parser_Command_syntax___elambda__1___closed__10; +x_69 = l_Lean_Parser_Command_syntax___elambda__1___closed__27; lean_inc(x_1); x_70 = l_Lean_Parser_symbolFnAux(x_68, x_69, x_1, x_65); x_71 = lean_ctor_get(x_70, 2); @@ -21130,7 +21289,7 @@ lean_dec(x_10); lean_dec(x_8); lean_dec(x_6); lean_dec(x_4); -x_83 = l_Lean_Parser_Command_syntax___elambda__1___closed__24; +x_83 = l_Lean_Parser_Command_syntax___elambda__1___closed__23; x_84 = 1; x_85 = l_Lean_Parser_orelseFnCore(x_16, x_83, x_84, x_1, x_2); return x_85; @@ -21141,7 +21300,7 @@ static lean_object* _init_l_Lean_Parser_Command_syntax___closed__1() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Command_syntax___elambda__1___closed__6; +x_1 = l_Lean_Parser_Command_syntax___elambda__1___closed__5; x_2 = l_Lean_Parser_symbolInfo(x_1); return x_2; } @@ -21150,7 +21309,7 @@ static lean_object* _init_l_Lean_Parser_Command_syntax___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Command_syntax___elambda__1___closed__11; +x_1 = l_Lean_Parser_Command_syntax___elambda__1___closed__10; x_2 = l_Lean_Parser_symbolInfo(x_1); return x_2; } @@ -21171,7 +21330,7 @@ static lean_object* _init_l_Lean_Parser_Command_syntax___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_syntax___elambda__1___closed__9; +x_1 = l_Lean_Parser_Command_syntax___elambda__1___closed__8; x_2 = lean_ctor_get(x_1, 0); lean_inc(x_2); x_3 = l_Lean_Parser_Command_syntax___closed__3; @@ -21241,7 +21400,7 @@ static lean_object* _init_l_Lean_Parser_Command_syntax___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_syntax___elambda__1___closed__4; +x_1 = l_Lean_Parser_Command_mixfix___elambda__1___closed__5; x_2 = lean_ctor_get(x_1, 0); lean_inc(x_2); x_3 = l_Lean_Parser_Command_syntax___closed__9; @@ -21467,17 +21626,19 @@ return x_7; static lean_object* _init_l_Lean_Parser_Command_syntax_formatter___closed__2() { _start: { -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_attributes_formatter), 5, 0); -return x_1; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Command_syntax___elambda__1___closed__4; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_formatter), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; } } static lean_object* _init_l_Lean_Parser_Command_syntax_formatter___closed__3() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Command_syntax_formatter___closed__2; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optional_formatter), 6, 1); +x_1 = l_Lean_Parser_Command_syntax___elambda__1___closed__9; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_formatter), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; } @@ -21485,29 +21646,33 @@ return x_2; static lean_object* _init_l_Lean_Parser_Command_syntax_formatter___closed__4() { _start: { -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_symbol_formatter), 6, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Command_syntax_formatter___closed__3; +x_2 = l_Lean_Parser_Syntax_cat_formatter___closed__2; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); +lean_closure_set(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_formatter___closed__5() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Command_syntax___elambda__1___closed__10; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_formatter), 6, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Syntax_paren_formatter___closed__4; +x_2 = l_Lean_Parser_Command_syntax_formatter___closed__4; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); +lean_closure_set(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_formatter___closed__6() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_syntax_formatter___closed__5; -x_2 = l_Lean_Parser_Syntax_cat_formatter___closed__2; +x_1 = l_Lean_Parser_Command_mixfix_formatter___closed__12; +x_2 = l_Lean_Parser_Command_syntax_formatter___closed__5; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); @@ -21518,7 +21683,7 @@ static lean_object* _init_l_Lean_Parser_Command_syntax_formatter___closed__7() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Syntax_paren_formatter___closed__4; +x_1 = l_Lean_Parser_Command_mixfix_formatter___closed__14; x_2 = l_Lean_Parser_Command_syntax_formatter___closed__6; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -21530,7 +21695,7 @@ static lean_object* _init_l_Lean_Parser_Command_syntax_formatter___closed__8() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_mixfix_formatter___closed__10; +x_1 = l_Lean_Parser_Syntax_cat_formatter___closed__3; x_2 = l_Lean_Parser_Command_syntax_formatter___closed__7; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -21542,7 +21707,7 @@ static lean_object* _init_l_Lean_Parser_Command_syntax_formatter___closed__9() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_mixfix_formatter___closed__12; +x_1 = l_Lean_Parser_Command_syntax_formatter___closed__2; x_2 = l_Lean_Parser_Command_syntax_formatter___closed__8; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -21554,7 +21719,7 @@ static lean_object* _init_l_Lean_Parser_Command_syntax_formatter___closed__10() _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Syntax_cat_formatter___closed__3; +x_1 = l_Lean_Parser_Command_mixfix_formatter___closed__19; x_2 = l_Lean_Parser_Command_syntax_formatter___closed__9; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -21566,7 +21731,7 @@ static lean_object* _init_l_Lean_Parser_Command_syntax_formatter___closed__11() _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_syntax_formatter___closed__4; +x_1 = l_Lean_Parser_Command_mixfix_formatter___closed__5; x_2 = l_Lean_Parser_Command_syntax_formatter___closed__10; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -21578,7 +21743,7 @@ static lean_object* _init_l_Lean_Parser_Command_syntax_formatter___closed__12() _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_mixfix_formatter___closed__17; +x_1 = l_Lean_Parser_Command_mixfix_formatter___closed__3; x_2 = l_Lean_Parser_Command_syntax_formatter___closed__11; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -21589,34 +21754,10 @@ return x_3; static lean_object* _init_l_Lean_Parser_Command_syntax_formatter___closed__13() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_syntax_formatter___closed__3; -x_2 = l_Lean_Parser_Command_syntax_formatter___closed__12; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); -lean_closure_set(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_formatter___closed__14() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_mixfix_formatter___closed__3; -x_2 = l_Lean_Parser_Command_syntax_formatter___closed__13; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); -lean_closure_set(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_formatter___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_syntax___elambda__1___closed__2; x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Command_syntax_formatter___closed__14; +x_3 = l_Lean_Parser_Command_syntax_formatter___closed__12; x_4 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); lean_closure_set(x_4, 0, x_1); lean_closure_set(x_4, 1, x_2); @@ -21629,7 +21770,7 @@ _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; x_6 = l_Lean_Parser_Command_syntax_formatter___closed__1; -x_7 = l_Lean_Parser_Command_syntax_formatter___closed__15; +x_7 = l_Lean_Parser_Command_syntax_formatter___closed__13; x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } @@ -21685,32 +21826,14 @@ return x_7; static lean_object* _init_l_Lean_Parser_Command_syntax_parenthesizer___closed__2() { _start: { -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_attributes_parenthesizer), 5, 0); -return x_1; -} -} -static lean_object* _init_l_Lean_Parser_Command_syntax_parenthesizer___closed__3() { -_start: -{ lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Command_syntax_parenthesizer___closed__2; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optional_parenthesizer), 6, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Parser_Command_syntax_parenthesizer___closed__4() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Command_syntax___elambda__1___closed__5; +x_1 = l_Lean_Parser_Command_syntax___elambda__1___closed__4; x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_parenthesizer), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Command_syntax_parenthesizer___closed__5() { +static lean_object* _init_l_Lean_Parser_Command_syntax_parenthesizer___closed__3() { _start: { lean_object* x_1; lean_object* x_2; @@ -21720,32 +21843,56 @@ lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Command_syntax_parenthesizer___closed__6() { +static lean_object* _init_l_Lean_Parser_Command_syntax_parenthesizer___closed__4() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Command_syntax_parenthesizer___closed__5; +x_1 = l_Lean_Parser_Command_syntax_parenthesizer___closed__3; x_2 = lean_alloc_closure((void*)(l_Lean_Parser_many1_parenthesizer), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Command_syntax_parenthesizer___closed__7() { +static lean_object* _init_l_Lean_Parser_Command_syntax_parenthesizer___closed__5() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Command_syntax___elambda__1___closed__10; +x_1 = l_Lean_Parser_Command_syntax___elambda__1___closed__9; x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_parenthesizer), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; } } +static lean_object* _init_l_Lean_Parser_Command_syntax_parenthesizer___closed__6() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Command_syntax_parenthesizer___closed__5; +x_2 = l_Lean_Parser_Syntax_cat_parenthesizer___closed__2; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Command_syntax_parenthesizer___closed__7() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Command_syntax_parenthesizer___closed__4; +x_2 = l_Lean_Parser_Command_syntax_parenthesizer___closed__6; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +lean_closure_set(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_parenthesizer___closed__8() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_syntax_parenthesizer___closed__7; -x_2 = l_Lean_Parser_Syntax_cat_parenthesizer___closed__2; +x_1 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__12; +x_2 = l_Lean_Parser_Command_syntax_parenthesizer___closed__7; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); @@ -21756,7 +21903,7 @@ static lean_object* _init_l_Lean_Parser_Command_syntax_parenthesizer___closed__9 _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_syntax_parenthesizer___closed__6; +x_1 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__14; x_2 = l_Lean_Parser_Command_syntax_parenthesizer___closed__8; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -21768,7 +21915,7 @@ static lean_object* _init_l_Lean_Parser_Command_syntax_parenthesizer___closed__1 _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__10; +x_1 = l_Lean_Parser_Syntax_cat_parenthesizer___closed__3; x_2 = l_Lean_Parser_Command_syntax_parenthesizer___closed__9; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -21780,7 +21927,7 @@ static lean_object* _init_l_Lean_Parser_Command_syntax_parenthesizer___closed__1 _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__12; +x_1 = l_Lean_Parser_Command_syntax_parenthesizer___closed__2; x_2 = l_Lean_Parser_Command_syntax_parenthesizer___closed__10; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -21792,7 +21939,7 @@ static lean_object* _init_l_Lean_Parser_Command_syntax_parenthesizer___closed__1 _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Syntax_cat_parenthesizer___closed__3; +x_1 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__19; x_2 = l_Lean_Parser_Command_syntax_parenthesizer___closed__11; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -21804,7 +21951,7 @@ static lean_object* _init_l_Lean_Parser_Command_syntax_parenthesizer___closed__1 _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_syntax_parenthesizer___closed__4; +x_1 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__5; x_2 = l_Lean_Parser_Command_syntax_parenthesizer___closed__12; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -21816,7 +21963,7 @@ static lean_object* _init_l_Lean_Parser_Command_syntax_parenthesizer___closed__1 _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__17; +x_1 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__3; x_2 = l_Lean_Parser_Command_syntax_parenthesizer___closed__13; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -21827,34 +21974,10 @@ return x_3; static lean_object* _init_l_Lean_Parser_Command_syntax_parenthesizer___closed__15() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_syntax_parenthesizer___closed__3; -x_2 = l_Lean_Parser_Command_syntax_parenthesizer___closed__14; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); -lean_closure_set(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_parenthesizer___closed__16() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__3; -x_2 = l_Lean_Parser_Command_syntax_parenthesizer___closed__15; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); -lean_closure_set(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_parenthesizer___closed__17() { -_start: -{ lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; x_1 = l_Lean_Parser_Command_syntax___elambda__1___closed__2; x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Command_syntax_parenthesizer___closed__16; +x_3 = l_Lean_Parser_Command_syntax_parenthesizer___closed__14; x_4 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer___boxed), 8, 3); lean_closure_set(x_4, 0, x_1); lean_closure_set(x_4, 1, x_2); @@ -21867,7 +21990,7 @@ _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; x_6 = l_Lean_Parser_Command_syntax_parenthesizer___closed__1; -x_7 = l_Lean_Parser_Command_syntax_parenthesizer___closed__17; +x_7 = l_Lean_Parser_Command_syntax_parenthesizer___closed__15; x_8 = l_Lean_PrettyPrinter_Parenthesizer_withAntiquot_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } @@ -21962,7 +22085,7 @@ static lean_object* _init_l_Lean_Parser_Command_syntaxAbbrev___elambda__1___clos _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_syntax___elambda__1___closed__7; +x_1 = l_Lean_Parser_Command_syntax___elambda__1___closed__6; 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); @@ -22103,8 +22226,8 @@ return x_36; else { lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; uint32_t x_41; uint32_t x_42; uint8_t x_43; lean_object* x_44; -x_37 = l_Lean_Parser_Command_syntax___elambda__1___closed__6; -x_38 = l_Lean_Parser_Command_syntax___elambda__1___closed__26; +x_37 = l_Lean_Parser_Command_syntax___elambda__1___closed__5; +x_38 = l_Lean_Parser_Command_syntax___elambda__1___closed__25; lean_inc(x_1); x_39 = l_Lean_Parser_symbolFnAux(x_37, x_38, x_1, x_22); x_40 = lean_ctor_get(x_39, 2); @@ -22533,7 +22656,7 @@ static lean_object* _init_l_Lean_Parser_Command_syntaxAbbrev_formatter___closed_ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_syntax_formatter___closed__4; +x_1 = l_Lean_Parser_Command_syntax_formatter___closed__2; x_2 = l_Lean_Parser_Command_syntaxAbbrev_formatter___closed__3; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -22653,7 +22776,7 @@ static lean_object* _init_l_Lean_Parser_Command_syntaxAbbrev_parenthesizer___clo _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_syntax_parenthesizer___closed__4; +x_1 = l_Lean_Parser_Command_syntax_parenthesizer___closed__2; x_2 = l_Lean_Parser_Command_syntaxAbbrev_parenthesizer___closed__3; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -25166,7 +25289,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_macroArg___elambda__1___closed__13; x_2 = lean_ctor_get(x_1, 0); lean_inc(x_2); -x_3 = l_Lean_Parser_Command_syntax___elambda__1___closed__8; +x_3 = l_Lean_Parser_Command_syntax___elambda__1___closed__7; x_4 = lean_ctor_get(x_3, 0); lean_inc(x_4); x_5 = l_Lean_Parser_andthenInfo(x_2, x_4); @@ -25494,7 +25617,7 @@ static lean_object* _init_l_Lean_Parser_Command_macroTailTactic___elambda__1___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_syntax___elambda__1___closed__12; +x_1 = l_Lean_Parser_Command_syntax___elambda__1___closed__11; x_2 = l_Lean_Parser_Command_macroTailTactic___elambda__1___closed__3; x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); lean_closure_set(x_3, 0, x_1); @@ -25671,7 +25794,7 @@ static lean_object* _init_l_Lean_Parser_Command_macroTailCommand___elambda__1___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_syntax___elambda__1___closed__12; +x_1 = l_Lean_Parser_Command_syntax___elambda__1___closed__11; 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); @@ -25895,7 +26018,7 @@ lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_obj x_3 = l_Lean_Parser_Command_macroTailDefault___elambda__1___closed__2; x_4 = lean_ctor_get(x_3, 1); lean_inc(x_4); -x_5 = l_Lean_Parser_Command_syntax___elambda__1___closed__13; +x_5 = l_Lean_Parser_Command_syntax___elambda__1___closed__12; lean_inc(x_1); x_6 = l_Lean_Parser_atomicFn(x_5, x_1, x_2); x_7 = lean_ctor_get(x_6, 4); @@ -26386,7 +26509,7 @@ 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_mixfix___elambda__1___closed__15; +x_1 = l_Lean_Parser_Command_mixfix___elambda__1___closed__16; x_2 = l_Lean_Parser_Command_macro___elambda__1___closed__12; x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); lean_closure_set(x_3, 0, x_1); @@ -26967,7 +27090,7 @@ static lean_object* _init_l_Lean_Parser_Command_macroRhs_formatter___closed__3() _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Command_mixfix_formatter___closed__5; +x_1 = l_Lean_Parser_Command_mixfix_formatter___closed__7; x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_withPosition_formatter), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; @@ -27014,7 +27137,7 @@ static lean_object* _init_l_Lean_Parser_Command_macroTailTactic_formatter___clos _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_syntax_formatter___closed__5; +x_1 = l_Lean_Parser_Command_syntax_formatter___closed__3; x_2 = l_Lean_Parser_Command_macroTailTactic_formatter___closed__1; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -27054,7 +27177,7 @@ static lean_object* _init_l_Lean_Parser_Command_macroTailTactic_formatter___clos _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_mixfix_formatter___closed__4; +x_1 = l_Lean_Parser_Command_mixfix_formatter___closed__6; x_2 = l_Lean_Parser_Command_macroTailTactic_formatter___closed__5; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -27104,7 +27227,7 @@ static lean_object* _init_l_Lean_Parser_Command_macroTailCommand_formatter___clo _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_mixfix_formatter___closed__4; +x_1 = l_Lean_Parser_Command_mixfix_formatter___closed__6; x_2 = l_Lean_Parser_Command_macroTailCommand_formatter___closed__3; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -27126,7 +27249,7 @@ static lean_object* _init_l_Lean_Parser_Command_macroTailDefault_formatter___clo _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Command_syntax_formatter___closed__6; +x_1 = l_Lean_Parser_Command_syntax_formatter___closed__4; x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_atomic_formatter), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; @@ -27156,7 +27279,7 @@ static lean_object* _init_l_Lean_Parser_Command_macroTailDefault_formatter___clo _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_mixfix_formatter___closed__4; +x_1 = l_Lean_Parser_Command_mixfix_formatter___closed__6; x_2 = l_Lean_Parser_Command_macroTailDefault_formatter___closed__3; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -27348,7 +27471,7 @@ static lean_object* _init_l_Lean_Parser_Command_macro_formatter___closed__5() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_mixfix_formatter___closed__10; +x_1 = l_Lean_Parser_Command_mixfix_formatter___closed__12; x_2 = l_Lean_Parser_Command_macro_formatter___closed__4; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -27360,7 +27483,7 @@ static lean_object* _init_l_Lean_Parser_Command_macro_formatter___closed__6() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_mixfix_formatter___closed__12; +x_1 = l_Lean_Parser_Command_mixfix_formatter___closed__14; x_2 = l_Lean_Parser_Command_macro_formatter___closed__5; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -27396,7 +27519,7 @@ static lean_object* _init_l_Lean_Parser_Command_macro_formatter___closed__9() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_mixfix_formatter___closed__17; +x_1 = l_Lean_Parser_Command_mixfix_formatter___closed__19; x_2 = l_Lean_Parser_Command_macro_formatter___closed__8; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -27547,7 +27670,7 @@ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Parser_Command_macroArg_parenthesizer___closed__5; -x_2 = l_Lean_Parser_Command_syntax_parenthesizer___closed__5; +x_2 = l_Lean_Parser_Command_syntax_parenthesizer___closed__3; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); @@ -27640,7 +27763,7 @@ static lean_object* _init_l_Lean_Parser_Command_macroRhs_parenthesizer___closed_ _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__4; +x_1 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__6; x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_withPosition_parenthesizer), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; @@ -27689,7 +27812,7 @@ static lean_object* _init_l_Lean_Parser_Command_macroTailTactic_parenthesizer___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_syntax_parenthesizer___closed__7; +x_1 = l_Lean_Parser_Command_syntax_parenthesizer___closed__5; x_2 = l_Lean_Parser_Command_macroTailTactic_parenthesizer___closed__1; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -27729,7 +27852,7 @@ static lean_object* _init_l_Lean_Parser_Command_macroTailTactic_parenthesizer___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__5; +x_1 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__7; x_2 = l_Lean_Parser_Command_macroTailTactic_parenthesizer___closed__5; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -27761,7 +27884,7 @@ static lean_object* _init_l_Lean_Parser_Command_macroTailCommand_parenthesizer__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_syntax_parenthesizer___closed__7; +x_1 = l_Lean_Parser_Command_syntax_parenthesizer___closed__5; x_2 = l_Lean_Parser_Command_macroTailCommand_parenthesizer___closed__1; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -27813,7 +27936,7 @@ static lean_object* _init_l_Lean_Parser_Command_macroTailCommand_parenthesizer__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__5; +x_1 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__7; x_2 = l_Lean_Parser_Command_macroTailCommand_parenthesizer___closed__6; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -27835,7 +27958,7 @@ static lean_object* _init_l_Lean_Parser_Command_macroTailDefault_parenthesizer__ _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Command_syntax_parenthesizer___closed__8; +x_1 = l_Lean_Parser_Command_syntax_parenthesizer___closed__6; x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_atomic_parenthesizer), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; @@ -27867,7 +27990,7 @@ static lean_object* _init_l_Lean_Parser_Command_macroTailDefault_parenthesizer__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__5; +x_1 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__7; x_2 = l_Lean_Parser_Command_macroTailDefault_parenthesizer___closed__3; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -28059,7 +28182,7 @@ static lean_object* _init_l_Lean_Parser_Command_macro_parenthesizer___closed__5( _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__10; +x_1 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__12; x_2 = l_Lean_Parser_Command_macro_parenthesizer___closed__4; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -28071,7 +28194,7 @@ static lean_object* _init_l_Lean_Parser_Command_macro_parenthesizer___closed__6( _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__12; +x_1 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__14; x_2 = l_Lean_Parser_Command_macro_parenthesizer___closed__5; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -28107,7 +28230,7 @@ static lean_object* _init_l_Lean_Parser_Command_macro_parenthesizer___closed__9( _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__17; +x_1 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__19; x_2 = l_Lean_Parser_Command_macro_parenthesizer___closed__8; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -28245,7 +28368,7 @@ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Parser_Command_syntax___closed__3; -x_2 = l_Lean_Parser_Command_syntax___elambda__1___closed__13; +x_2 = l_Lean_Parser_Command_syntax___elambda__1___closed__12; x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); @@ -28402,7 +28525,7 @@ static lean_object* _init_l_Lean_Parser_Command_elab__rules___elambda__1___close _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_mixfix___elambda__1___closed__15; +x_1 = l_Lean_Parser_Command_mixfix___elambda__1___closed__16; x_2 = l_Lean_Parser_Command_elab__rules___elambda__1___closed__19; x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); lean_closure_set(x_3, 0, x_1); @@ -28843,7 +28966,7 @@ static lean_object* _init_l_Lean_Parser_Command_elab__rules_formatter___closed__ _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Command_syntax_formatter___closed__6; +x_1 = l_Lean_Parser_Command_syntax_formatter___closed__4; x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optional_formatter), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; @@ -28933,7 +29056,7 @@ static lean_object* _init_l_Lean_Parser_Command_elab__rules_formatter___closed__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_mixfix_formatter___closed__17; +x_1 = l_Lean_Parser_Command_mixfix_formatter___closed__19; x_2 = l_Lean_Parser_Command_elab__rules_formatter___closed__10; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -29049,7 +29172,7 @@ static lean_object* _init_l_Lean_Parser_Command_elab__rules_parenthesizer___clos _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Command_syntax_parenthesizer___closed__8; +x_1 = l_Lean_Parser_Command_syntax_parenthesizer___closed__6; x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optional_parenthesizer), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; @@ -29139,7 +29262,7 @@ static lean_object* _init_l_Lean_Parser_Command_elab__rules_parenthesizer___clos _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__17; +x_1 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__19; x_2 = l_Lean_Parser_Command_elab__rules_parenthesizer___closed__10; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -29312,7 +29435,7 @@ static lean_object* _init_l_Lean_Parser_Command_elabTail___elambda__1___closed__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_syntax___elambda__1___closed__12; +x_1 = l_Lean_Parser_Command_syntax___elambda__1___closed__11; x_2 = l_Lean_Parser_Command_elabTail___elambda__1___closed__7; x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); lean_closure_set(x_3, 0, x_1); @@ -29344,7 +29467,7 @@ static lean_object* _init_l_Lean_Parser_Command_elabTail___elambda__1___closed__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_mixfix___elambda__1___closed__6; +x_1 = l_Lean_Parser_Command_mixfix___elambda__1___closed__7; x_2 = l_Lean_Parser_Command_elabTail___elambda__1___closed__10; x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); lean_closure_set(x_3, 0, x_1); @@ -29843,7 +29966,7 @@ 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_mixfix___elambda__1___closed__15; +x_1 = l_Lean_Parser_Command_mixfix___elambda__1___closed__16; x_2 = l_Lean_Parser_Command_elab___elambda__1___closed__12; x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); lean_closure_set(x_3, 0, x_1); @@ -30306,7 +30429,7 @@ static lean_object* _init_l_Lean_Parser_Command_elabTail_formatter___closed__3() _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_syntax_formatter___closed__5; +x_1 = l_Lean_Parser_Command_syntax_formatter___closed__3; x_2 = l_Lean_Parser_Command_elabTail_formatter___closed__2; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -30328,7 +30451,7 @@ static lean_object* _init_l_Lean_Parser_Command_elabTail_formatter___closed__5() _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_mixfix_formatter___closed__4; +x_1 = l_Lean_Parser_Command_mixfix_formatter___closed__6; x_2 = l_Lean_Parser_Command_macroRhs_formatter___closed__3; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -30464,7 +30587,7 @@ static lean_object* _init_l_Lean_Parser_Command_elab_formatter___closed__6() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_mixfix_formatter___closed__10; +x_1 = l_Lean_Parser_Command_mixfix_formatter___closed__12; x_2 = l_Lean_Parser_Command_elab_formatter___closed__5; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -30476,7 +30599,7 @@ static lean_object* _init_l_Lean_Parser_Command_elab_formatter___closed__7() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_mixfix_formatter___closed__12; +x_1 = l_Lean_Parser_Command_mixfix_formatter___closed__14; x_2 = l_Lean_Parser_Command_elab_formatter___closed__6; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -30512,7 +30635,7 @@ static lean_object* _init_l_Lean_Parser_Command_elab_formatter___closed__10() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_mixfix_formatter___closed__17; +x_1 = l_Lean_Parser_Command_mixfix_formatter___closed__19; x_2 = l_Lean_Parser_Command_elab_formatter___closed__9; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -30638,7 +30761,7 @@ static lean_object* _init_l_Lean_Parser_Command_elabTail_parenthesizer___closed_ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_syntax_parenthesizer___closed__7; +x_1 = l_Lean_Parser_Command_syntax_parenthesizer___closed__5; x_2 = l_Lean_Parser_Command_elabTail_parenthesizer___closed__2; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -30660,7 +30783,7 @@ static lean_object* _init_l_Lean_Parser_Command_elabTail_parenthesizer___closed_ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__5; +x_1 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__7; x_2 = l_Lean_Parser_Command_macroRhs_parenthesizer___closed__3; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -30796,7 +30919,7 @@ static lean_object* _init_l_Lean_Parser_Command_elab_parenthesizer___closed__6() _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__10; +x_1 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__12; x_2 = l_Lean_Parser_Command_elab_parenthesizer___closed__5; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -30808,7 +30931,7 @@ static lean_object* _init_l_Lean_Parser_Command_elab_parenthesizer___closed__7() _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__12; +x_1 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__14; x_2 = l_Lean_Parser_Command_elab_parenthesizer___closed__6; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -30844,7 +30967,7 @@ static lean_object* _init_l_Lean_Parser_Command_elab_parenthesizer___closed__10( _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__17; +x_1 = l_Lean_Parser_Command_mixfix_parenthesizer___closed__19; x_2 = l_Lean_Parser_Command_elab_parenthesizer___closed__9; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -32659,6 +32782,10 @@ l_Lean_Parser_Command_mixfix___elambda__1___closed__19 = _init_l_Lean_Parser_Com lean_mark_persistent(l_Lean_Parser_Command_mixfix___elambda__1___closed__19); l_Lean_Parser_Command_mixfix___elambda__1___closed__20 = _init_l_Lean_Parser_Command_mixfix___elambda__1___closed__20(); lean_mark_persistent(l_Lean_Parser_Command_mixfix___elambda__1___closed__20); +l_Lean_Parser_Command_mixfix___elambda__1___closed__21 = _init_l_Lean_Parser_Command_mixfix___elambda__1___closed__21(); +lean_mark_persistent(l_Lean_Parser_Command_mixfix___elambda__1___closed__21); +l_Lean_Parser_Command_mixfix___elambda__1___closed__22 = _init_l_Lean_Parser_Command_mixfix___elambda__1___closed__22(); +lean_mark_persistent(l_Lean_Parser_Command_mixfix___elambda__1___closed__22); 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(); @@ -32691,6 +32818,8 @@ l_Lean_Parser_Command_mixfix___closed__15 = _init_l_Lean_Parser_Command_mixfix__ lean_mark_persistent(l_Lean_Parser_Command_mixfix___closed__15); l_Lean_Parser_Command_mixfix___closed__16 = _init_l_Lean_Parser_Command_mixfix___closed__16(); lean_mark_persistent(l_Lean_Parser_Command_mixfix___closed__16); +l_Lean_Parser_Command_mixfix___closed__17 = _init_l_Lean_Parser_Command_mixfix___closed__17(); +lean_mark_persistent(l_Lean_Parser_Command_mixfix___closed__17); l_Lean_Parser_Command_mixfix = _init_l_Lean_Parser_Command_mixfix(); lean_mark_persistent(l_Lean_Parser_Command_mixfix); l___regBuiltin_Lean_Parser_Command_mixfix___closed__1 = _init_l___regBuiltin_Lean_Parser_Command_mixfix___closed__1(); @@ -32853,6 +32982,12 @@ l_Lean_Parser_Command_mixfix_formatter___closed__19 = _init_l_Lean_Parser_Comman lean_mark_persistent(l_Lean_Parser_Command_mixfix_formatter___closed__19); l_Lean_Parser_Command_mixfix_formatter___closed__20 = _init_l_Lean_Parser_Command_mixfix_formatter___closed__20(); lean_mark_persistent(l_Lean_Parser_Command_mixfix_formatter___closed__20); +l_Lean_Parser_Command_mixfix_formatter___closed__21 = _init_l_Lean_Parser_Command_mixfix_formatter___closed__21(); +lean_mark_persistent(l_Lean_Parser_Command_mixfix_formatter___closed__21); +l_Lean_Parser_Command_mixfix_formatter___closed__22 = _init_l_Lean_Parser_Command_mixfix_formatter___closed__22(); +lean_mark_persistent(l_Lean_Parser_Command_mixfix_formatter___closed__22); +l_Lean_Parser_Command_mixfix_formatter___closed__23 = _init_l_Lean_Parser_Command_mixfix_formatter___closed__23(); +lean_mark_persistent(l_Lean_Parser_Command_mixfix_formatter___closed__23); l___regBuiltin_Lean_Parser_Command_mixfix_formatter___closed__1 = _init_l___regBuiltin_Lean_Parser_Command_mixfix_formatter___closed__1(); lean_mark_persistent(l___regBuiltin_Lean_Parser_Command_mixfix_formatter___closed__1); l___regBuiltin_Lean_Parser_Command_mixfix_formatter___closed__2 = _init_l___regBuiltin_Lean_Parser_Command_mixfix_formatter___closed__2(); @@ -32996,6 +33131,12 @@ l_Lean_Parser_Command_mixfix_parenthesizer___closed__19 = _init_l_Lean_Parser_Co lean_mark_persistent(l_Lean_Parser_Command_mixfix_parenthesizer___closed__19); l_Lean_Parser_Command_mixfix_parenthesizer___closed__20 = _init_l_Lean_Parser_Command_mixfix_parenthesizer___closed__20(); lean_mark_persistent(l_Lean_Parser_Command_mixfix_parenthesizer___closed__20); +l_Lean_Parser_Command_mixfix_parenthesizer___closed__21 = _init_l_Lean_Parser_Command_mixfix_parenthesizer___closed__21(); +lean_mark_persistent(l_Lean_Parser_Command_mixfix_parenthesizer___closed__21); +l_Lean_Parser_Command_mixfix_parenthesizer___closed__22 = _init_l_Lean_Parser_Command_mixfix_parenthesizer___closed__22(); +lean_mark_persistent(l_Lean_Parser_Command_mixfix_parenthesizer___closed__22); +l_Lean_Parser_Command_mixfix_parenthesizer___closed__23 = _init_l_Lean_Parser_Command_mixfix_parenthesizer___closed__23(); +lean_mark_persistent(l_Lean_Parser_Command_mixfix_parenthesizer___closed__23); l___regBuiltin_Lean_Parser_Command_mixfix_parenthesizer___closed__1 = _init_l___regBuiltin_Lean_Parser_Command_mixfix_parenthesizer___closed__1(); lean_mark_persistent(l___regBuiltin_Lean_Parser_Command_mixfix_parenthesizer___closed__1); l___regBuiltin_Lean_Parser_Command_mixfix_parenthesizer___closed__2 = _init_l___regBuiltin_Lean_Parser_Command_mixfix_parenthesizer___closed__2(); @@ -33119,6 +33260,8 @@ l_Lean_Parser_Command_notation___elambda__1___closed__17 = _init_l_Lean_Parser_C lean_mark_persistent(l_Lean_Parser_Command_notation___elambda__1___closed__17); l_Lean_Parser_Command_notation___elambda__1___closed__18 = _init_l_Lean_Parser_Command_notation___elambda__1___closed__18(); lean_mark_persistent(l_Lean_Parser_Command_notation___elambda__1___closed__18); +l_Lean_Parser_Command_notation___elambda__1___closed__19 = _init_l_Lean_Parser_Command_notation___elambda__1___closed__19(); +lean_mark_persistent(l_Lean_Parser_Command_notation___elambda__1___closed__19); 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(); @@ -33147,6 +33290,8 @@ l_Lean_Parser_Command_notation___closed__13 = _init_l_Lean_Parser_Command_notati lean_mark_persistent(l_Lean_Parser_Command_notation___closed__13); l_Lean_Parser_Command_notation___closed__14 = _init_l_Lean_Parser_Command_notation___closed__14(); lean_mark_persistent(l_Lean_Parser_Command_notation___closed__14); +l_Lean_Parser_Command_notation___closed__15 = _init_l_Lean_Parser_Command_notation___closed__15(); +lean_mark_persistent(l_Lean_Parser_Command_notation___closed__15); l_Lean_Parser_Command_notation = _init_l_Lean_Parser_Command_notation(); lean_mark_persistent(l_Lean_Parser_Command_notation); res = l___regBuiltin_Lean_Parser_Command_notation(lean_io_mk_world()); @@ -33210,6 +33355,8 @@ l_Lean_Parser_Command_notation_formatter___closed__11 = _init_l_Lean_Parser_Comm lean_mark_persistent(l_Lean_Parser_Command_notation_formatter___closed__11); l_Lean_Parser_Command_notation_formatter___closed__12 = _init_l_Lean_Parser_Command_notation_formatter___closed__12(); lean_mark_persistent(l_Lean_Parser_Command_notation_formatter___closed__12); +l_Lean_Parser_Command_notation_formatter___closed__13 = _init_l_Lean_Parser_Command_notation_formatter___closed__13(); +lean_mark_persistent(l_Lean_Parser_Command_notation_formatter___closed__13); l___regBuiltin_Lean_Parser_Command_notation_formatter___closed__1 = _init_l___regBuiltin_Lean_Parser_Command_notation_formatter___closed__1(); lean_mark_persistent(l___regBuiltin_Lean_Parser_Command_notation_formatter___closed__1); l___regBuiltin_Lean_Parser_Command_notation_formatter___closed__2 = _init_l___regBuiltin_Lean_Parser_Command_notation_formatter___closed__2(); @@ -33258,6 +33405,8 @@ l_Lean_Parser_Command_notation_parenthesizer___closed__11 = _init_l_Lean_Parser_ lean_mark_persistent(l_Lean_Parser_Command_notation_parenthesizer___closed__11); l_Lean_Parser_Command_notation_parenthesizer___closed__12 = _init_l_Lean_Parser_Command_notation_parenthesizer___closed__12(); lean_mark_persistent(l_Lean_Parser_Command_notation_parenthesizer___closed__12); +l_Lean_Parser_Command_notation_parenthesizer___closed__13 = _init_l_Lean_Parser_Command_notation_parenthesizer___closed__13(); +lean_mark_persistent(l_Lean_Parser_Command_notation_parenthesizer___closed__13); l___regBuiltin_Lean_Parser_Command_notation_parenthesizer___closed__1 = _init_l___regBuiltin_Lean_Parser_Command_notation_parenthesizer___closed__1(); lean_mark_persistent(l___regBuiltin_Lean_Parser_Command_notation_parenthesizer___closed__1); l___regBuiltin_Lean_Parser_Command_notation_parenthesizer___closed__2 = _init_l___regBuiltin_Lean_Parser_Command_notation_parenthesizer___closed__2(); @@ -33447,8 +33596,6 @@ l_Lean_Parser_Command_syntax___elambda__1___closed__26 = _init_l_Lean_Parser_Com lean_mark_persistent(l_Lean_Parser_Command_syntax___elambda__1___closed__26); l_Lean_Parser_Command_syntax___elambda__1___closed__27 = _init_l_Lean_Parser_Command_syntax___elambda__1___closed__27(); lean_mark_persistent(l_Lean_Parser_Command_syntax___elambda__1___closed__27); -l_Lean_Parser_Command_syntax___elambda__1___closed__28 = _init_l_Lean_Parser_Command_syntax___elambda__1___closed__28(); -lean_mark_persistent(l_Lean_Parser_Command_syntax___elambda__1___closed__28); 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(); @@ -33531,10 +33678,6 @@ l_Lean_Parser_Command_syntax_formatter___closed__12 = _init_l_Lean_Parser_Comman lean_mark_persistent(l_Lean_Parser_Command_syntax_formatter___closed__12); l_Lean_Parser_Command_syntax_formatter___closed__13 = _init_l_Lean_Parser_Command_syntax_formatter___closed__13(); lean_mark_persistent(l_Lean_Parser_Command_syntax_formatter___closed__13); -l_Lean_Parser_Command_syntax_formatter___closed__14 = _init_l_Lean_Parser_Command_syntax_formatter___closed__14(); -lean_mark_persistent(l_Lean_Parser_Command_syntax_formatter___closed__14); -l_Lean_Parser_Command_syntax_formatter___closed__15 = _init_l_Lean_Parser_Command_syntax_formatter___closed__15(); -lean_mark_persistent(l_Lean_Parser_Command_syntax_formatter___closed__15); l___regBuiltin_Lean_Parser_Command_syntax_formatter___closed__1 = _init_l___regBuiltin_Lean_Parser_Command_syntax_formatter___closed__1(); lean_mark_persistent(l___regBuiltin_Lean_Parser_Command_syntax_formatter___closed__1); l___regBuiltin_Lean_Parser_Command_syntax_formatter___closed__2 = _init_l___regBuiltin_Lean_Parser_Command_syntax_formatter___closed__2(); @@ -33572,10 +33715,6 @@ l_Lean_Parser_Command_syntax_parenthesizer___closed__14 = _init_l_Lean_Parser_Co lean_mark_persistent(l_Lean_Parser_Command_syntax_parenthesizer___closed__14); l_Lean_Parser_Command_syntax_parenthesizer___closed__15 = _init_l_Lean_Parser_Command_syntax_parenthesizer___closed__15(); lean_mark_persistent(l_Lean_Parser_Command_syntax_parenthesizer___closed__15); -l_Lean_Parser_Command_syntax_parenthesizer___closed__16 = _init_l_Lean_Parser_Command_syntax_parenthesizer___closed__16(); -lean_mark_persistent(l_Lean_Parser_Command_syntax_parenthesizer___closed__16); -l_Lean_Parser_Command_syntax_parenthesizer___closed__17 = _init_l_Lean_Parser_Command_syntax_parenthesizer___closed__17(); -lean_mark_persistent(l_Lean_Parser_Command_syntax_parenthesizer___closed__17); l___regBuiltin_Lean_Parser_Command_syntax_parenthesizer___closed__1 = _init_l___regBuiltin_Lean_Parser_Command_syntax_parenthesizer___closed__1(); lean_mark_persistent(l___regBuiltin_Lean_Parser_Command_syntax_parenthesizer___closed__1); l___regBuiltin_Lean_Parser_Command_syntax_parenthesizer___closed__2 = _init_l___regBuiltin_Lean_Parser_Command_syntax_parenthesizer___closed__2(); diff --git a/stage0/stdlib/Lean/PrettyPrinter/Delaborator/Basic.c b/stage0/stdlib/Lean/PrettyPrinter/Delaborator/Basic.c index 55cc0b4bf4..4e1970c41a 100644 --- a/stage0/stdlib/Lean/PrettyPrinter/Delaborator/Basic.c +++ b/stage0/stdlib/Lean/PrettyPrinter/Delaborator/Basic.c @@ -60,7 +60,6 @@ static lean_object* l_Lean_PrettyPrinter_Delaborator_getExprKind___closed__17; static lean_object* l_Lean_PrettyPrinter_Delaborator_mkDelabAttribute___closed__18; static lean_object* l_Lean_PrettyPrinter_Delaborator_orElse___rarg___closed__1; LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at_Lean_PrettyPrinter_Delaborator_withBindingBodyUnusedName___spec__3___rarg___lambda__1(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_initFn____x40_Lean_Deprecated___hyg_4____spec__10(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Std_RBNode_find___at_Lean_PrettyPrinter_Delaborator_TopDownAnalyze_annotateBoolAt___spec__5(lean_object*, lean_object*); static lean_object* l_Lean_PrettyPrinter_Delaborator_mkDelabAttribute___closed__15; lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withLocalDeclImp___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -225,10 +224,10 @@ LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_delab(lean_object*, lean_object*, static lean_object* l_Lean_PrettyPrinter_Delaborator_instAlternativeDelabM___closed__5; static lean_object* l_Lean_PrettyPrinter_Delaborator_getExprKind___closed__16; LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delab(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_resolveGlobalConstCore___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__6(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Meta_Basic_0__Lean_Meta_processPostponedStep___spec__14(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_PrettyPrinter_delabCore___closed__2; LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_getOptionsAtCurrPos___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_resolveGlobalConstCore___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__7(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_PrettyPrinter_Delaborator_getExprKind___closed__21; LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_instMonadQuotationDelabM; lean_object* l_Lean_Expr_const___override(lean_object*, lean_object*); @@ -316,6 +315,7 @@ static lean_object* l_Lean_PrettyPrinter_Delaborator_delab___lambda__1___closed_ lean_object* l_Lean_Expr_getAppFn(lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_liftMetaM(lean_object*); static lean_object* l_Lean_PrettyPrinter_Delaborator_getExprKind___closed__9; +lean_object* l_Lean_throwError___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__11(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_ReaderT_pure___at_Lean_PrettyPrinter_Delaborator_instMonadQuotationDelabM___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Option_get_x3f___at_Lean_PrettyPrinter_delabCore___spec__2(lean_object*, lean_object*); lean_object* lean_local_ctx_find(lean_object*, lean_object*); @@ -8254,7 +8254,7 @@ lean_object* x_5; lean_inc(x_3); lean_inc(x_2); lean_inc(x_1); -x_5 = l_Lean_resolveGlobalConstCore___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__6(x_1, x_2, x_3, x_4); +x_5 = l_Lean_resolveGlobalConstCore___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__7(x_1, x_2, x_3, x_4); if (lean_obj_tag(x_5) == 0) { lean_object* x_6; @@ -8285,7 +8285,7 @@ x_20 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_20, 0, x_19); x_21 = lean_alloc_ctor(0, 1, 0); lean_ctor_set(x_21, 0, x_20); -x_22 = l_Lean_throwError___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__10(x_21, x_2, x_3, x_7); +x_22 = l_Lean_throwError___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__11(x_21, x_2, x_3, x_7); lean_dec(x_3); lean_dec(x_2); return x_22; @@ -8354,7 +8354,7 @@ x_43 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_43, 0, x_42); x_44 = lean_alloc_ctor(0, 1, 0); lean_ctor_set(x_44, 0, x_43); -x_45 = l_Lean_throwError___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__10(x_44, x_2, x_3, x_30); +x_45 = l_Lean_throwError___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__11(x_44, x_2, x_3, x_30); lean_dec(x_3); lean_dec(x_2); return x_45; diff --git a/stage0/stdlib/Lean/Server/FileWorker/RequestHandling.c b/stage0/stdlib/Lean/Server/FileWorker/RequestHandling.c index e930f49fb2..4be8868f33 100644 --- a/stage0/stdlib/Lean/Server/FileWorker/RequestHandling.c +++ b/stage0/stdlib/Lean/Server/FileWorker/RequestHandling.c @@ -85,7 +85,6 @@ LEAN_EXPORT lean_object* l_Lean_Server_registerLspRequestHandler___at_Lean_Serve LEAN_EXPORT lean_object* l_Lean_Server_registerLspRequestHandler___at_Lean_Server_FileWorker_initFn____x40_Lean_Server_FileWorker_RequestHandling___hyg_9400____spec__21___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Server_registerLspRequestHandler___at_Lean_Server_FileWorker_initFn____x40_Lean_Server_FileWorker_RequestHandling___hyg_9400____spec__24___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Server_FileWorker_locationLinksOfInfo___lambda__9___boxed(lean_object*, lean_object*); -lean_object* l_ReaderT_pure___at_Lean_Elab_CompletionInfo_format___spec__2___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Lsp_SemanticTokenType_toCtorIdx(uint8_t); static lean_object* l_Lean_Server_FileWorker_handleDocumentHighlight_highlightReturn_x3f___closed__10; LEAN_EXPORT lean_object* l_liftExcept___at_Lean_Server_FileWorker_initFn____x40_Lean_Server_FileWorker_RequestHandling___hyg_9400____spec__9(lean_object*, lean_object*, lean_object*); @@ -153,6 +152,7 @@ static lean_object* l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals_ static lean_object* l_Lean_Server_FileWorker_handleWaitForDiagnostics___lambda__2___closed__1; static lean_object* l_Lean_Server_FileWorker_noHighlightKinds___closed__9; LEAN_EXPORT lean_object* l_Lean_Server_FileWorker_handleCompletion___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_ReaderT_pure___at_Lean_Meta_Match_mkMatcher___spec__5___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Server_FileWorker_handleFoldingRange_isImport___closed__5; static lean_object* l_Lean_Server_FileWorker_initFn____x40_Lean_Server_FileWorker_RequestHandling___hyg_9400____closed__21; LEAN_EXPORT lean_object* l_liftExcept___at_Lean_Server_FileWorker_handleWaitForDiagnostics___spec__1(lean_object*, lean_object*, lean_object*); @@ -3748,7 +3748,7 @@ lean_ctor_set(x_63, 2, x_59); lean_ctor_set(x_63, 3, x_59); x_64 = l_Lean_Server_FileWorker_locationLinksOfInfo___lambda__2___closed__4; x_65 = lean_array_push(x_64, x_63); -x_66 = lean_alloc_closure((void*)(l_ReaderT_pure___at_Lean_Elab_CompletionInfo_format___spec__2___rarg___boxed), 6, 1); +x_66 = lean_alloc_closure((void*)(l_ReaderT_pure___at_Lean_Meta_Match_mkMatcher___spec__5___rarg___boxed), 6, 1); lean_closure_set(x_66, 0, x_65); x_67 = l_Lean_Elab_ContextInfo_runMetaM___rarg(x_4, x_13, x_66, x_11); if (lean_obj_tag(x_67) == 0) @@ -3823,7 +3823,7 @@ lean_ctor_set(x_83, 2, x_59); lean_ctor_set(x_83, 3, x_59); x_84 = l_Lean_Server_FileWorker_locationLinksOfInfo___lambda__2___closed__4; x_85 = lean_array_push(x_84, x_83); -x_86 = lean_alloc_closure((void*)(l_ReaderT_pure___at_Lean_Elab_CompletionInfo_format___spec__2___rarg___boxed), 6, 1); +x_86 = lean_alloc_closure((void*)(l_ReaderT_pure___at_Lean_Meta_Match_mkMatcher___spec__5___rarg___boxed), 6, 1); lean_closure_set(x_86, 0, x_85); x_87 = l_Lean_Elab_ContextInfo_runMetaM___rarg(x_4, x_13, x_86, x_11); if (lean_obj_tag(x_87) == 0) @@ -3894,7 +3894,7 @@ lean_ctor_set(x_102, 2, x_59); lean_ctor_set(x_102, 3, x_59); x_103 = l_Lean_Server_FileWorker_locationLinksOfInfo___lambda__2___closed__4; x_104 = lean_array_push(x_103, x_102); -x_105 = lean_alloc_closure((void*)(l_ReaderT_pure___at_Lean_Elab_CompletionInfo_format___spec__2___rarg___boxed), 6, 1); +x_105 = lean_alloc_closure((void*)(l_ReaderT_pure___at_Lean_Meta_Match_mkMatcher___spec__5___rarg___boxed), 6, 1); lean_closure_set(x_105, 0, x_104); x_106 = l_Lean_Elab_ContextInfo_runMetaM___rarg(x_4, x_13, x_105, x_11); if (lean_obj_tag(x_106) == 0)