diff --git a/stage0/src/Lean/Declaration.lean b/stage0/src/Lean/Declaration.lean index f93a11f1c3..30336c054f 100644 --- a/stage0/src/Lean/Declaration.lean +++ b/stage0/src/Lean/Declaration.lean @@ -409,6 +409,16 @@ def isInductive : ConstantInfo → Bool | inductInfo _ => true | _ => false +/-- + List of all (including this one) declarations in the same mutual block. +-/ +def all : ConstantInfo → List Name + | inductInfo val => val.all + | defnInfo val => val.all + | thmInfo val => val.all + | opaqueInfo val => val.all + | _ => [] + @[extern "lean_instantiate_type_lparams"] opaque instantiateTypeLevelParams (c : @& ConstantInfo) (ls : @& List Level) : Expr diff --git a/stage0/src/Lean/Elab/PreDefinition/Basic.lean b/stage0/src/Lean/Elab/PreDefinition/Basic.lean index aa9c37a5ec..e1d490f5ec 100644 --- a/stage0/src/Lean/Elab/PreDefinition/Basic.lean +++ b/stage0/src/Lean/Elab/PreDefinition/Basic.lean @@ -92,30 +92,32 @@ private def compileDecl (decl : Declaration) : TermElabM Bool := do throw ex return true -private def addNonRecAux (preDef : PreDefinition) (compile : Bool) (applyAttrAfterCompilation := true) : TermElabM Unit := +private def addNonRecAux (preDef : PreDefinition) (compile : Bool) (all : List Name) (applyAttrAfterCompilation := true) : TermElabM Unit := withRef preDef.ref do let preDef ← abstractNestedProofs preDef let decl ← match preDef.kind with | DefKind.«theorem» => pure <| Declaration.thmDecl { - name := preDef.declName, levelParams := preDef.levelParams, type := preDef.type, value := preDef.value + name := preDef.declName, levelParams := preDef.levelParams, type := preDef.type, value := preDef.value, all } | DefKind.«opaque» => pure <| Declaration.opaqueDecl { name := preDef.declName, levelParams := preDef.levelParams, type := preDef.type, value := preDef.value - isUnsafe := preDef.modifiers.isUnsafe + isUnsafe := preDef.modifiers.isUnsafe, all } | DefKind.«abbrev» => pure <| Declaration.defnDecl { name := preDef.declName, levelParams := preDef.levelParams, type := preDef.type, value := preDef.value hints := ReducibilityHints.«abbrev» - safety := if preDef.modifiers.isUnsafe then DefinitionSafety.unsafe else DefinitionSafety.safe } + safety := if preDef.modifiers.isUnsafe then DefinitionSafety.unsafe else DefinitionSafety.safe, + all } | _ => -- definitions and examples pure <| Declaration.defnDecl { - name := preDef.declName, levelParams := preDef.levelParams, type := preDef.type, value := preDef.value, - hints := ReducibilityHints.regular (getMaxHeight (← getEnv) preDef.value + 1), - safety := if preDef.modifiers.isUnsafe then DefinitionSafety.unsafe else DefinitionSafety.safe } + name := preDef.declName, levelParams := preDef.levelParams, type := preDef.type, value := preDef.value + hints := ReducibilityHints.regular (getMaxHeight (← getEnv) preDef.value + 1) + safety := if preDef.modifiers.isUnsafe then DefinitionSafety.unsafe else DefinitionSafety.safe, + all } addDecl decl withSaveInfoContext do -- save new env addTermInfo' preDef.ref (← mkConstWithLevelParams preDef.declName) (isBinder := true) @@ -128,11 +130,11 @@ private def addNonRecAux (preDef : PreDefinition) (compile : Bool) (applyAttrAft if applyAttrAfterCompilation then applyAttributesOf #[preDef] AttributeApplicationTime.afterCompilation -def addAndCompileNonRec (preDef : PreDefinition) : TermElabM Unit := do - addNonRecAux preDef true +def addAndCompileNonRec (preDef : PreDefinition) (all : List Name := [preDef.declName]) : TermElabM Unit := do + addNonRecAux preDef (compile := true) (all := all) -def addNonRec (preDef : PreDefinition) (applyAttrAfterCompilation := true) : TermElabM Unit := do - addNonRecAux preDef (compile := false) (applyAttrAfterCompilation := applyAttrAfterCompilation) +def addNonRec (preDef : PreDefinition) (applyAttrAfterCompilation := true) (all : List Name := [preDef.declName]) : TermElabM Unit := do + addNonRecAux preDef (compile := false) (applyAttrAfterCompilation := applyAttrAfterCompilation) (all := all) /-- Eliminate recursive application annotations containing syntax. These annotations are used by the well-founded recursion module @@ -146,13 +148,14 @@ def eraseRecAppSyntax (preDef : PreDefinition) : CoreM PreDefinition := def addAndCompileUnsafe (preDefs : Array PreDefinition) (safety := DefinitionSafety.unsafe) : TermElabM Unit := do let preDefs ← preDefs.mapM fun d => eraseRecAppSyntax d withRef preDefs[0].ref do + let all := preDefs.toList.map (·.declName) let decl := Declaration.mutualDefnDecl <| ← preDefs.toList.mapM fun preDef => return { name := preDef.declName levelParams := preDef.levelParams type := preDef.type value := preDef.value - safety := safety hints := ReducibilityHints.opaque + safety, all } addDecl decl withSaveInfoContext do -- save new env diff --git a/stage0/src/Lean/Elab/PreDefinition/Main.lean b/stage0/src/Lean/Elab/PreDefinition/Main.lean index 53dff57c58..88c7293412 100644 --- a/stage0/src/Lean/Elab/PreDefinition/Main.lean +++ b/stage0/src/Lean/Elab/PreDefinition/Main.lean @@ -19,15 +19,16 @@ structure TerminationHints where private def addAndCompilePartial (preDefs : Array PreDefinition) (useSorry := false) : TermElabM Unit := do for preDef in preDefs do trace[Elab.definition] "processing {preDef.declName}" + let all := preDefs.toList.map (·.declName) forallTelescope preDef.type fun xs type => do - let val ← if useSorry then + let value ← if useSorry then mkLambdaFVars xs (← mkSorry type (synthetic := true)) else liftM <| mkInhabitantFor preDef.declName xs type addNonRec { preDef with kind := DefKind.«opaque» - value := val - } + value + } (all := all) addAndCompilePartialRec preDefs private def isNonRecursive (preDef : PreDefinition) : Bool := diff --git a/stage0/src/Lean/Elab/PreDefinition/WF/Main.lean b/stage0/src/Lean/Elab/PreDefinition/WF/Main.lean index 8e5e41883b..0db395002f 100644 --- a/stage0/src/Lean/Elab/PreDefinition/WF/Main.lean +++ b/stage0/src/Lean/Elab/PreDefinition/WF/Main.lean @@ -26,6 +26,7 @@ private partial def addNonRecPreDefs (preDefs : Array PreDefinition) (preDefNonR if (← isOnlyOneUnaryDef preDefs fixedPrefixSize) then return () let us := preDefNonRec.levelParams.map mkLevelParam + let all := preDefs.toList.map (·.declName) for fidx in [:preDefs.size] do let preDef := preDefs[fidx] let value ← lambdaTelescope preDef.value fun xs _ => do @@ -47,7 +48,7 @@ private partial def addNonRecPreDefs (preDefs : Array PreDefinition) (preDefNonR let arg ← mkSum 0 domain mkLambdaFVars xs (mkApp (mkAppN (mkConst preDefNonRec.declName us) xs[:fixedPrefixSize]) arg) trace[Elab.definition.wf] "{preDef.declName} := {value}" - addNonRec { preDef with value } (applyAttrAfterCompilation := false) + addNonRec { preDef with value } (applyAttrAfterCompilation := false) (all := all) partial def withCommonTelescope (preDefs : Array PreDefinition) (k : Array Expr → Array Expr → TermElabM α) : TermElabM α := go #[] (preDefs.map (·.value)) diff --git a/stage0/stdlib/Lean/Declaration.c b/stage0/stdlib/Lean/Declaration.c index 2e0fe609cb..b98f79b1c6 100644 --- a/stage0/stdlib/Lean/Declaration.c +++ b/stage0/stdlib/Lean/Declaration.c @@ -56,6 +56,7 @@ static lean_object* l_Lean_instInhabitedAxiomVal___closed__1; LEAN_EXPORT lean_object* l_Lean_ConstantInfo_value_x3f___boxed(lean_object*); static lean_object* l___private_Lean_Declaration_0__Lean_reprDefinitionSafety____x40_Lean_Declaration___hyg_279____closed__20; LEAN_EXPORT lean_object* l_Lean_instInhabitedOpaqueVal; +LEAN_EXPORT lean_object* l_Lean_ConstantInfo_all___boxed(lean_object*); LEAN_EXPORT lean_object* l_Lean_RecursorVal_getMajorIdx___boxed(lean_object*); lean_object* lean_nat_add(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_RecursorVal_getFirstMinorIdx(lean_object*); @@ -163,6 +164,7 @@ LEAN_EXPORT lean_object* l_Lean_instReprDefinitionSafety; LEAN_EXPORT lean_object* l_Lean_Declaration_foldExprM___rarg___lambda__1(lean_object*, lean_object*, lean_object*); uint8_t lean_nat_dec_le(lean_object*, lean_object*); static lean_object* l_Lean_instInhabitedQuotVal___closed__1; +LEAN_EXPORT lean_object* l_Lean_ConstantInfo_all(lean_object*); LEAN_EXPORT uint8_t lean_is_unsafe_inductive_decl(lean_object*); LEAN_EXPORT lean_object* l_Lean_instInhabitedConstantVal; LEAN_EXPORT lean_object* l_Lean_Declaration_foldExprM___rarg___lambda__4(lean_object*, lean_object*, lean_object*); @@ -2796,6 +2798,60 @@ x_3 = lean_box(x_2); return x_3; } } +LEAN_EXPORT lean_object* l_Lean_ConstantInfo_all(lean_object* x_1) { +_start: +{ +switch (lean_obj_tag(x_1)) { +case 1: +{ +lean_object* x_2; lean_object* x_3; +x_2 = lean_ctor_get(x_1, 0); +x_3 = lean_ctor_get(x_2, 3); +lean_inc(x_3); +return x_3; +} +case 2: +{ +lean_object* x_4; lean_object* x_5; +x_4 = lean_ctor_get(x_1, 0); +x_5 = lean_ctor_get(x_4, 2); +lean_inc(x_5); +return x_5; +} +case 3: +{ +lean_object* x_6; lean_object* x_7; +x_6 = lean_ctor_get(x_1, 0); +x_7 = lean_ctor_get(x_6, 2); +lean_inc(x_7); +return x_7; +} +case 5: +{ +lean_object* x_8; lean_object* x_9; +x_8 = lean_ctor_get(x_1, 0); +x_9 = lean_ctor_get(x_8, 3); +lean_inc(x_9); +return x_9; +} +default: +{ +lean_object* x_10; +x_10 = lean_box(0); +return x_10; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_ConstantInfo_all___boxed(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = l_Lean_ConstantInfo_all(x_1); +lean_dec(x_1); +return x_2; +} +} LEAN_EXPORT lean_object* l_Lean_ConstantInfo_instantiateTypeLevelParams___boxed(lean_object* x_1, lean_object* x_2) { _start: { diff --git a/stage0/stdlib/Lean/Elab/PreDefinition/Basic.c b/stage0/stdlib/Lean/Elab/PreDefinition/Basic.c index b235d6f36f..59d66942ba 100644 --- a/stage0/stdlib/Lean/Elab/PreDefinition/Basic.c +++ b/stage0/stdlib/Lean/Elab/PreDefinition/Basic.c @@ -14,10 +14,10 @@ extern "C" { #endif static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_levelMVarToParamPreDeclsAux___spec__1___closed__1; +lean_object* l_List_reverse___rarg(lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_getConstInfo___at_Lean_Elab_Term_mkConst___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_ContextInfo_save___at_Lean_Elab_Term_withoutModifyingElabMetaStateWithInfo___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Elab_addAndCompileUnsafe___spec__2(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_noncomputableExt; lean_object* l_Lean_compileDecl___at_Lean_Elab_Term_evalExpr___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_compileDecl___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -37,6 +37,7 @@ lean_object* l_Lean_throwError___at_Lean_Meta_setInlineAttribute___spec__1(lean_ lean_object* lean_name_mk_string(lean_object*, 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_List_mapTRAux___at_Lean_Elab_addAndCompileUnsafe___spec__2(lean_object*, lean_object*); uint64_t lean_uint64_of_nat(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___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___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___lambda__2(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -50,6 +51,7 @@ LEAN_EXPORT lean_object* l_Std_PersistentArray_mapM___at___private_Lean_Elab_Pre LEAN_EXPORT lean_object* l_Std_PersistentArray_mapMAux___at___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___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*); LEAN_EXPORT lean_object* l_Lean_Elab_ensureNoRecFn___lambda__1(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_addAndCompileUnsafe___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*); uint8_t l_Lean_Expr_isAppOf(lean_object*, lean_object*); lean_object* lean_array_push(lean_object*, lean_object*); lean_object* lean_array_get_size(lean_object*); @@ -93,13 +95,14 @@ lean_object* l_Lean_Meta_forEachExpr(lean_object*, lean_object*, lean_object*, l LEAN_EXPORT lean_object* l_Lean_Elab_eraseRecAppSyntaxExpr___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_addAndCompilePartialRec___spec__2___lambda__1___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_instInhabitedPreDefinition___closed__1; +LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Elab_addAndCompileUnsafe___spec__3___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_Array_mapMUnsafe_map___at_Lean_Elab_addAndCompilePartialRec___spec__2___lambda__1___closed__1; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_addAndCompilePartialRec___spec__2___lambda__1(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___spec__10(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_addNonRec(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_addNonRec(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_replaceRef(lean_object*, lean_object*); lean_object* lean_array_get(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_getLevelParamsPreDecls___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_getLevelParamsPreDecls___closed__1; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___spec__6(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -109,13 +112,12 @@ LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_fixLevelParams___ lean_object* lean_st_mk_ref(lean_object*, lean_object*); static lean_object* l_Lean_Elab_instInhabitedPreDefinition___closed__4; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_getLevelParamsPreDecls___spec__1(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addAndCompileUnsafe___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Expr_instHashableExpr; lean_object* l_Std_PersistentHashMap_mkEmptyEntriesArray(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_instInhabitedPreDefinition; lean_object* lean_array_to_list(lean_object*, lean_object*); lean_object* l_Lean_Meta_InfoCacheKey_instHashableInfoCacheKey___boxed(lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux(lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux(lean_object*, uint8_t, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___lambda__4___closed__6; lean_object* l_Lean_CollectLevelParams_main(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentArray_mapMAux___at___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___spec__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -137,6 +139,7 @@ uint8_t l_Lean_Elab_DefKind_isTheorem(uint8_t); LEAN_EXPORT lean_object* l_Lean_Elab_addAndCompilePartialRec(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_instBEqProd___rarg(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_getLevelParamsPreDecls___closed__2; +LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Elab_addAndCompileUnsafe___spec__3(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_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___lambda__4___closed__11; lean_object* l_Lean_Elab_Term_levelMVarToParam_x27(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_eraseRecAppSyntaxExpr___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); @@ -145,12 +148,11 @@ LEAN_EXPORT uint8_t l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_conta LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___lambda__3(uint8_t, 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___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___lambda__4___closed__5; lean_object* l_Lean_Meta_abstractNestedProofs(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_addNonRec___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_addNonRec___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_addAsAxiom___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_addAndCompilePartialRec___spec__3___boxed(lean_object*, lean_object*, lean_object*); uint8_t lean_nat_dec_le(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentArray_mapMAux___at___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___spec__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Elab_addAndCompileUnsafe___spec__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_PreDefinition_Basic_0__Lean_Elab_containsRecFn___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_addAndCompileUnsafe___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___lambda__4___closed__12; @@ -161,7 +163,6 @@ LEAN_EXPORT lean_object* l_Lean_Elab_addAndCompileUnsafe___boxed__const__1; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___spec__5(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___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___lambda__4___closed__13; lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addAndCompileUnsafe___spec__3(lean_object*, size_t, size_t, 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_Lean_Elab_addAndCompilePartialRec___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___lambda__4___closed__9; lean_object* l_instHashableProd___rarg___boxed(lean_object*, lean_object*, lean_object*); @@ -187,13 +188,14 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_ LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_getLevelParamsPreDecls(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_containsRecFn___lambda__1___boxed(lean_object*, lean_object*); static lean_object* l_Lean_Elab_ensureNoRecFn___lambda__1___closed__4; +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addAndCompileUnsafe___spec__4(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_ensureNoRecFn___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_ensureNoRecFn___lambda__1___closed__1; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_fixLevelParams___spec__2___lambda__1(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_fixLevelParams(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___spec__11(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_TagDeclarationExtension_tag(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_addAndCompileNonRec(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_addAndCompileNonRec(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_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___lambda__4(lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_indentExpr(lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentArray_mapMAux___at___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -3643,560 +3645,526 @@ return x_97; } } } -LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux(lean_object* x_1, uint8_t x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux(lean_object* x_1, uint8_t x_2, lean_object* x_3, uint8_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { -lean_object* x_11; uint8_t x_12; -x_11 = lean_ctor_get(x_1, 0); -lean_inc(x_11); -x_12 = !lean_is_exclusive(x_8); -if (x_12 == 0) +lean_object* x_12; uint8_t x_13; +x_12 = lean_ctor_get(x_1, 0); +lean_inc(x_12); +x_13 = !lean_is_exclusive(x_9); +if (x_13 == 0) { -lean_object* x_13; lean_object* x_14; lean_object* x_15; -x_13 = lean_ctor_get(x_8, 5); -x_14 = l_Lean_replaceRef(x_11, x_13); -lean_dec(x_13); -lean_dec(x_11); -lean_ctor_set(x_8, 5, x_14); +lean_object* x_14; lean_object* x_15; lean_object* x_16; +x_14 = lean_ctor_get(x_9, 5); +x_15 = l_Lean_replaceRef(x_12, x_14); +lean_dec(x_14); +lean_dec(x_12); +lean_ctor_set(x_9, 5, x_15); +lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); -lean_inc(x_6); -x_15 = l_Lean_Elab_abstractNestedProofs(x_1, x_6, x_7, x_8, x_9, x_10); -if (lean_obj_tag(x_15) == 0) +x_16 = l_Lean_Elab_abstractNestedProofs(x_1, x_7, x_8, x_9, x_10, x_11); +if (lean_obj_tag(x_16) == 0) { -lean_object* x_16; uint8_t x_17; lean_object* x_18; -x_16 = lean_ctor_get(x_15, 0); -lean_inc(x_16); -x_17 = lean_ctor_get_uint8(x_16, sizeof(void*)*6); -x_18 = lean_box(x_17); -switch (lean_obj_tag(x_18)) { +lean_object* x_17; uint8_t x_18; lean_object* x_19; +x_17 = lean_ctor_get(x_16, 0); +lean_inc(x_17); +x_18 = lean_ctor_get_uint8(x_17, sizeof(void*)*6); +x_19 = lean_box(x_18); +switch (lean_obj_tag(x_19)) { case 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; -x_19 = lean_ctor_get(x_15, 1); -lean_inc(x_19); -lean_dec(x_15); -x_20 = lean_ctor_get(x_16, 3); +lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_20 = lean_ctor_get(x_16, 1); lean_inc(x_20); -x_21 = lean_ctor_get(x_16, 1); +lean_dec(x_16); +x_21 = lean_ctor_get(x_17, 3); lean_inc(x_21); -x_22 = lean_ctor_get(x_16, 4); +x_22 = lean_ctor_get(x_17, 1); lean_inc(x_22); -lean_inc(x_20); -x_23 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_23, 0, x_20); -lean_ctor_set(x_23, 1, x_21); -lean_ctor_set(x_23, 2, x_22); -x_24 = lean_ctor_get(x_16, 5); -lean_inc(x_24); -x_25 = lean_box(0); -x_26 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_26, 0, x_20); +x_23 = lean_ctor_get(x_17, 4); +lean_inc(x_23); +x_24 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_24, 0, x_21); +lean_ctor_set(x_24, 1, x_22); +lean_ctor_set(x_24, 2, x_23); +x_25 = lean_ctor_get(x_17, 5); +lean_inc(x_25); +x_26 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_26, 0, x_24); lean_ctor_set(x_26, 1, x_25); -x_27 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_27, 0, x_23); -lean_ctor_set(x_27, 1, x_24); -lean_ctor_set(x_27, 2, x_26); -x_28 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_28, 0, x_27); -x_29 = l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___lambda__4(x_16, x_3, x_2, x_28, x_4, x_5, x_6, x_7, x_8, x_9, x_19); -return x_29; +lean_ctor_set(x_26, 2, x_3); +x_27 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_27, 0, x_26); +x_28 = l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___lambda__4(x_17, x_4, x_2, x_27, x_5, x_6, x_7, x_8, x_9, x_10, x_20); +return x_28; } case 3: { -lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; uint8_t x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; -x_30 = lean_ctor_get(x_15, 1); +lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; uint8_t x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; +x_29 = lean_ctor_get(x_16, 1); +lean_inc(x_29); +lean_dec(x_16); +x_30 = lean_ctor_get(x_17, 3); lean_inc(x_30); -lean_dec(x_15); -x_31 = lean_ctor_get(x_16, 3); +x_31 = lean_ctor_get(x_17, 1); lean_inc(x_31); -x_32 = lean_ctor_get(x_16, 1); +x_32 = lean_ctor_get(x_17, 4); lean_inc(x_32); -x_33 = lean_ctor_get(x_16, 4); -lean_inc(x_33); -lean_inc(x_31); -x_34 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_34, 0, x_31); -lean_ctor_set(x_34, 1, x_32); -lean_ctor_set(x_34, 2, x_33); -x_35 = lean_ctor_get(x_16, 5); +x_33 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_33, 0, x_30); +lean_ctor_set(x_33, 1, x_31); +lean_ctor_set(x_33, 2, x_32); +x_34 = lean_ctor_get(x_17, 5); +lean_inc(x_34); +x_35 = lean_ctor_get(x_17, 2); lean_inc(x_35); -x_36 = lean_ctor_get(x_16, 2); -lean_inc(x_36); -x_37 = lean_ctor_get_uint8(x_36, sizeof(void*)*2 + 3); -lean_dec(x_36); -x_38 = lean_box(0); -x_39 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_39, 0, x_31); -lean_ctor_set(x_39, 1, x_38); -x_40 = lean_alloc_ctor(0, 3, 1); -lean_ctor_set(x_40, 0, x_34); -lean_ctor_set(x_40, 1, x_35); -lean_ctor_set(x_40, 2, x_39); -lean_ctor_set_uint8(x_40, sizeof(void*)*3, x_37); -x_41 = lean_alloc_ctor(3, 1, 0); -lean_ctor_set(x_41, 0, x_40); -x_42 = l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___lambda__4(x_16, x_3, x_2, x_41, x_4, x_5, x_6, x_7, x_8, x_9, x_30); -return x_42; +x_36 = lean_ctor_get_uint8(x_35, sizeof(void*)*2 + 3); +lean_dec(x_35); +x_37 = lean_alloc_ctor(0, 3, 1); +lean_ctor_set(x_37, 0, x_33); +lean_ctor_set(x_37, 1, x_34); +lean_ctor_set(x_37, 2, x_3); +lean_ctor_set_uint8(x_37, sizeof(void*)*3, x_36); +x_38 = lean_alloc_ctor(3, 1, 0); +lean_ctor_set(x_38, 0, x_37); +x_39 = l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___lambda__4(x_17, x_4, x_2, x_38, x_5, x_6, x_7, x_8, x_9, x_10, x_29); +return x_39; } case 4: { -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; -x_43 = lean_ctor_get(x_15, 1); +lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; uint8_t x_46; +x_40 = lean_ctor_get(x_16, 1); +lean_inc(x_40); +lean_dec(x_16); +x_41 = lean_ctor_get(x_17, 3); +lean_inc(x_41); +x_42 = lean_ctor_get(x_17, 1); +lean_inc(x_42); +x_43 = lean_ctor_get(x_17, 4); lean_inc(x_43); -lean_dec(x_15); -x_44 = lean_ctor_get(x_16, 3); -lean_inc(x_44); -x_45 = lean_ctor_get(x_16, 1); +x_44 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_44, 0, x_41); +lean_ctor_set(x_44, 1, x_42); +lean_ctor_set(x_44, 2, x_43); +x_45 = lean_ctor_get(x_17, 2); lean_inc(x_45); -x_46 = lean_ctor_get(x_16, 4); -lean_inc(x_46); -lean_inc(x_44); -x_47 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_47, 0, x_44); -lean_ctor_set(x_47, 1, x_45); -lean_ctor_set(x_47, 2, x_46); -x_48 = lean_ctor_get(x_16, 5); -lean_inc(x_48); -x_49 = lean_ctor_get(x_16, 2); -lean_inc(x_49); -x_50 = lean_ctor_get_uint8(x_49, sizeof(void*)*2 + 3); -lean_dec(x_49); -x_51 = lean_box(0); -x_52 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_52, 0, x_44); -lean_ctor_set(x_52, 1, x_51); -if (x_50 == 0) +x_46 = lean_ctor_get_uint8(x_45, sizeof(void*)*2 + 3); +lean_dec(x_45); +if (x_46 == 0) { -lean_object* x_53; uint8_t x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; -x_53 = lean_box(1); -x_54 = 1; -x_55 = lean_alloc_ctor(0, 4, 1); -lean_ctor_set(x_55, 0, x_47); -lean_ctor_set(x_55, 1, x_48); -lean_ctor_set(x_55, 2, x_53); -lean_ctor_set(x_55, 3, x_52); -lean_ctor_set_uint8(x_55, sizeof(void*)*4, x_54); -x_56 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_56, 0, x_55); -x_57 = l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___lambda__4(x_16, x_3, x_2, x_56, x_4, x_5, x_6, x_7, x_8, x_9, x_43); -return x_57; +lean_object* x_47; lean_object* x_48; uint8_t x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; +x_47 = lean_ctor_get(x_17, 5); +lean_inc(x_47); +x_48 = lean_box(1); +x_49 = 1; +x_50 = lean_alloc_ctor(0, 4, 1); +lean_ctor_set(x_50, 0, x_44); +lean_ctor_set(x_50, 1, x_47); +lean_ctor_set(x_50, 2, x_48); +lean_ctor_set(x_50, 3, x_3); +lean_ctor_set_uint8(x_50, sizeof(void*)*4, x_49); +x_51 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_51, 0, x_50); +x_52 = l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___lambda__4(x_17, x_4, x_2, x_51, x_5, x_6, x_7, x_8, x_9, x_10, x_40); +return x_52; } else { -lean_object* x_58; uint8_t x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; -x_58 = lean_box(1); -x_59 = 0; -x_60 = lean_alloc_ctor(0, 4, 1); -lean_ctor_set(x_60, 0, x_47); -lean_ctor_set(x_60, 1, x_48); -lean_ctor_set(x_60, 2, x_58); -lean_ctor_set(x_60, 3, x_52); -lean_ctor_set_uint8(x_60, sizeof(void*)*4, x_59); -x_61 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_61, 0, x_60); -x_62 = l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___lambda__4(x_16, x_3, x_2, x_61, x_4, x_5, x_6, x_7, x_8, x_9, x_43); -return x_62; +lean_object* x_53; lean_object* x_54; uint8_t x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; +x_53 = lean_ctor_get(x_17, 5); +lean_inc(x_53); +x_54 = lean_box(1); +x_55 = 0; +x_56 = lean_alloc_ctor(0, 4, 1); +lean_ctor_set(x_56, 0, x_44); +lean_ctor_set(x_56, 1, x_53); +lean_ctor_set(x_56, 2, x_54); +lean_ctor_set(x_56, 3, x_3); +lean_ctor_set_uint8(x_56, sizeof(void*)*4, x_55); +x_57 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_57, 0, x_56); +x_58 = l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___lambda__4(x_17, x_4, x_2, x_57, x_5, x_6, x_7, x_8, x_9, x_10, x_40); +return x_58; } } default: { -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; uint32_t x_74; uint32_t x_75; uint32_t x_76; lean_object* x_77; lean_object* x_78; uint8_t x_79; lean_object* x_80; lean_object* x_81; -lean_dec(x_18); -x_63 = lean_ctor_get(x_15, 1); +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; uint32_t x_70; uint32_t x_71; uint32_t x_72; lean_object* x_73; lean_object* x_74; uint8_t x_75; +lean_dec(x_19); +x_59 = lean_ctor_get(x_16, 1); +lean_inc(x_59); +lean_dec(x_16); +x_60 = lean_st_ref_get(x_10, x_59); +x_61 = lean_ctor_get(x_60, 0); +lean_inc(x_61); +x_62 = lean_ctor_get(x_60, 1); +lean_inc(x_62); +lean_dec(x_60); +x_63 = lean_ctor_get(x_61, 0); lean_inc(x_63); -lean_dec(x_15); -x_64 = lean_st_ref_get(x_9, x_63); -x_65 = lean_ctor_get(x_64, 0); +lean_dec(x_61); +x_64 = lean_ctor_get(x_17, 3); +lean_inc(x_64); +x_65 = lean_ctor_get(x_17, 1); lean_inc(x_65); -x_66 = lean_ctor_get(x_64, 1); +x_66 = lean_ctor_get(x_17, 4); lean_inc(x_66); -lean_dec(x_64); -x_67 = lean_ctor_get(x_65, 0); -lean_inc(x_67); -lean_dec(x_65); -x_68 = lean_ctor_get(x_16, 3); +x_67 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_67, 0, x_64); +lean_ctor_set(x_67, 1, x_65); +lean_ctor_set(x_67, 2, x_66); +x_68 = lean_ctor_get(x_17, 5); lean_inc(x_68); -x_69 = lean_ctor_get(x_16, 1); -lean_inc(x_69); -x_70 = lean_ctor_get(x_16, 4); -lean_inc(x_70); lean_inc(x_68); -x_71 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_71, 0, x_68); -lean_ctor_set(x_71, 1, x_69); -lean_ctor_set(x_71, 2, x_70); -x_72 = lean_ctor_get(x_16, 5); -lean_inc(x_72); -lean_inc(x_72); -x_73 = l_Lean_getMaxHeight(x_67, x_72); -x_74 = lean_unbox_uint32(x_73); -lean_dec(x_73); -x_75 = 1; -x_76 = lean_uint32_add(x_74, x_75); -x_77 = lean_alloc_ctor(2, 0, 4); -lean_ctor_set_uint32(x_77, 0, x_76); -x_78 = lean_ctor_get(x_16, 2); -lean_inc(x_78); -x_79 = lean_ctor_get_uint8(x_78, sizeof(void*)*2 + 3); -lean_dec(x_78); -x_80 = lean_box(0); -x_81 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_81, 0, x_68); -lean_ctor_set(x_81, 1, x_80); -if (x_79 == 0) +x_69 = l_Lean_getMaxHeight(x_63, x_68); +x_70 = lean_unbox_uint32(x_69); +lean_dec(x_69); +x_71 = 1; +x_72 = lean_uint32_add(x_70, x_71); +x_73 = lean_alloc_ctor(2, 0, 4); +lean_ctor_set_uint32(x_73, 0, x_72); +x_74 = lean_ctor_get(x_17, 2); +lean_inc(x_74); +x_75 = lean_ctor_get_uint8(x_74, sizeof(void*)*2 + 3); +lean_dec(x_74); +if (x_75 == 0) { -uint8_t x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; -x_82 = 1; -x_83 = lean_alloc_ctor(0, 4, 1); -lean_ctor_set(x_83, 0, x_71); -lean_ctor_set(x_83, 1, x_72); -lean_ctor_set(x_83, 2, x_77); -lean_ctor_set(x_83, 3, x_81); -lean_ctor_set_uint8(x_83, sizeof(void*)*4, x_82); -x_84 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_84, 0, x_83); -x_85 = l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___lambda__4(x_16, x_3, x_2, x_84, x_4, x_5, x_6, x_7, x_8, x_9, x_66); -return x_85; +uint8_t x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; +x_76 = 1; +x_77 = lean_alloc_ctor(0, 4, 1); +lean_ctor_set(x_77, 0, x_67); +lean_ctor_set(x_77, 1, x_68); +lean_ctor_set(x_77, 2, x_73); +lean_ctor_set(x_77, 3, x_3); +lean_ctor_set_uint8(x_77, sizeof(void*)*4, x_76); +x_78 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_78, 0, x_77); +x_79 = l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___lambda__4(x_17, x_4, x_2, x_78, x_5, x_6, x_7, x_8, x_9, x_10, x_62); +return x_79; } else { -uint8_t x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; -x_86 = 0; -x_87 = lean_alloc_ctor(0, 4, 1); -lean_ctor_set(x_87, 0, x_71); -lean_ctor_set(x_87, 1, x_72); -lean_ctor_set(x_87, 2, x_77); -lean_ctor_set(x_87, 3, x_81); -lean_ctor_set_uint8(x_87, sizeof(void*)*4, x_86); -x_88 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_88, 0, x_87); -x_89 = l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___lambda__4(x_16, x_3, x_2, x_88, x_4, x_5, x_6, x_7, x_8, x_9, x_66); -return x_89; +uint8_t x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; +x_80 = 0; +x_81 = lean_alloc_ctor(0, 4, 1); +lean_ctor_set(x_81, 0, x_67); +lean_ctor_set(x_81, 1, x_68); +lean_ctor_set(x_81, 2, x_73); +lean_ctor_set(x_81, 3, x_3); +lean_ctor_set_uint8(x_81, sizeof(void*)*4, x_80); +x_82 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_82, 0, x_81); +x_83 = l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___lambda__4(x_17, x_4, x_2, x_82, x_5, x_6, x_7, x_8, x_9, x_10, x_62); +return x_83; } } } } else { -uint8_t x_90; -lean_dec(x_8); +uint8_t x_84; lean_dec(x_9); +lean_dec(x_10); +lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); -lean_dec(x_4); -x_90 = !lean_is_exclusive(x_15); -if (x_90 == 0) +lean_dec(x_3); +x_84 = !lean_is_exclusive(x_16); +if (x_84 == 0) { -return x_15; +return x_16; } else { -lean_object* x_91; lean_object* x_92; lean_object* x_93; -x_91 = lean_ctor_get(x_15, 0); -x_92 = lean_ctor_get(x_15, 1); -lean_inc(x_92); -lean_inc(x_91); -lean_dec(x_15); -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_object* x_85; lean_object* x_86; lean_object* x_87; +x_85 = lean_ctor_get(x_16, 0); +x_86 = lean_ctor_get(x_16, 1); +lean_inc(x_86); +lean_inc(x_85); +lean_dec(x_16); +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; } } } else { -lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; 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; -x_94 = lean_ctor_get(x_8, 0); -x_95 = lean_ctor_get(x_8, 1); -x_96 = lean_ctor_get(x_8, 2); -x_97 = lean_ctor_get(x_8, 3); -x_98 = lean_ctor_get(x_8, 4); -x_99 = lean_ctor_get(x_8, 5); -x_100 = lean_ctor_get(x_8, 6); -x_101 = lean_ctor_get(x_8, 7); -x_102 = lean_ctor_get(x_8, 8); -x_103 = lean_ctor_get(x_8, 9); -x_104 = lean_ctor_get(x_8, 10); -lean_inc(x_104); -lean_inc(x_103); -lean_inc(x_102); -lean_inc(x_101); -lean_inc(x_100); -lean_inc(x_99); +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_9, 0); +x_89 = lean_ctor_get(x_9, 1); +x_90 = lean_ctor_get(x_9, 2); +x_91 = lean_ctor_get(x_9, 3); +x_92 = lean_ctor_get(x_9, 4); +x_93 = lean_ctor_get(x_9, 5); +x_94 = lean_ctor_get(x_9, 6); +x_95 = lean_ctor_get(x_9, 7); +x_96 = lean_ctor_get(x_9, 8); +x_97 = lean_ctor_get(x_9, 9); +x_98 = lean_ctor_get(x_9, 10); lean_inc(x_98); lean_inc(x_97); lean_inc(x_96); lean_inc(x_95); lean_inc(x_94); -lean_dec(x_8); -x_105 = l_Lean_replaceRef(x_11, x_99); -lean_dec(x_99); -lean_dec(x_11); -x_106 = lean_alloc_ctor(0, 11, 0); -lean_ctor_set(x_106, 0, x_94); -lean_ctor_set(x_106, 1, x_95); -lean_ctor_set(x_106, 2, x_96); -lean_ctor_set(x_106, 3, x_97); -lean_ctor_set(x_106, 4, x_98); -lean_ctor_set(x_106, 5, x_105); -lean_ctor_set(x_106, 6, x_100); -lean_ctor_set(x_106, 7, x_101); -lean_ctor_set(x_106, 8, x_102); -lean_ctor_set(x_106, 9, x_103); -lean_ctor_set(x_106, 10, x_104); -lean_inc(x_9); -lean_inc(x_106); +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_9); +x_99 = l_Lean_replaceRef(x_12, x_93); +lean_dec(x_93); +lean_dec(x_12); +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); +lean_inc(x_10); +lean_inc(x_100); +lean_inc(x_8); lean_inc(x_7); -lean_inc(x_6); -x_107 = l_Lean_Elab_abstractNestedProofs(x_1, x_6, x_7, x_106, x_9, x_10); -if (lean_obj_tag(x_107) == 0) +x_101 = l_Lean_Elab_abstractNestedProofs(x_1, x_7, x_8, x_100, x_10, x_11); +if (lean_obj_tag(x_101) == 0) { -lean_object* x_108; uint8_t x_109; lean_object* x_110; -x_108 = lean_ctor_get(x_107, 0); -lean_inc(x_108); -x_109 = lean_ctor_get_uint8(x_108, sizeof(void*)*6); -x_110 = lean_box(x_109); -switch (lean_obj_tag(x_110)) { +lean_object* x_102; uint8_t x_103; lean_object* x_104; +x_102 = lean_ctor_get(x_101, 0); +lean_inc(x_102); +x_103 = lean_ctor_get_uint8(x_102, sizeof(void*)*6); +x_104 = lean_box(x_103); +switch (lean_obj_tag(x_104)) { case 1: { -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; -x_111 = lean_ctor_get(x_107, 1); -lean_inc(x_111); -lean_dec(x_107); -x_112 = lean_ctor_get(x_108, 3); -lean_inc(x_112); -x_113 = lean_ctor_get(x_108, 1); -lean_inc(x_113); -x_114 = lean_ctor_get(x_108, 4); -lean_inc(x_114); -lean_inc(x_112); -x_115 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_115, 0, x_112); -lean_ctor_set(x_115, 1, x_113); -lean_ctor_set(x_115, 2, x_114); -x_116 = lean_ctor_get(x_108, 5); -lean_inc(x_116); -x_117 = lean_box(0); -x_118 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_118, 0, x_112); -lean_ctor_set(x_118, 1, x_117); -x_119 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_119, 0, x_115); -lean_ctor_set(x_119, 1, x_116); -lean_ctor_set(x_119, 2, x_118); -x_120 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_120, 0, x_119); -x_121 = l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___lambda__4(x_108, x_3, x_2, x_120, x_4, x_5, x_6, x_7, x_106, x_9, x_111); -return x_121; +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_105 = lean_ctor_get(x_101, 1); +lean_inc(x_105); +lean_dec(x_101); +x_106 = lean_ctor_get(x_102, 3); +lean_inc(x_106); +x_107 = lean_ctor_get(x_102, 1); +lean_inc(x_107); +x_108 = lean_ctor_get(x_102, 4); +lean_inc(x_108); +x_109 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_109, 0, x_106); +lean_ctor_set(x_109, 1, x_107); +lean_ctor_set(x_109, 2, x_108); +x_110 = lean_ctor_get(x_102, 5); +lean_inc(x_110); +x_111 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_111, 0, x_109); +lean_ctor_set(x_111, 1, x_110); +lean_ctor_set(x_111, 2, x_3); +x_112 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_112, 0, x_111); +x_113 = l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___lambda__4(x_102, x_4, x_2, x_112, x_5, x_6, x_7, x_8, x_100, x_10, x_105); +return x_113; } case 3: { -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; uint8_t x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; -x_122 = lean_ctor_get(x_107, 1); -lean_inc(x_122); -lean_dec(x_107); -x_123 = lean_ctor_get(x_108, 3); -lean_inc(x_123); -x_124 = lean_ctor_get(x_108, 1); -lean_inc(x_124); -x_125 = lean_ctor_get(x_108, 4); -lean_inc(x_125); -lean_inc(x_123); -x_126 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_126, 0, x_123); -lean_ctor_set(x_126, 1, x_124); -lean_ctor_set(x_126, 2, x_125); -x_127 = lean_ctor_get(x_108, 5); -lean_inc(x_127); -x_128 = lean_ctor_get(x_108, 2); -lean_inc(x_128); -x_129 = lean_ctor_get_uint8(x_128, sizeof(void*)*2 + 3); -lean_dec(x_128); -x_130 = lean_box(0); -x_131 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_131, 0, x_123); -lean_ctor_set(x_131, 1, x_130); -x_132 = lean_alloc_ctor(0, 3, 1); -lean_ctor_set(x_132, 0, x_126); -lean_ctor_set(x_132, 1, x_127); -lean_ctor_set(x_132, 2, x_131); -lean_ctor_set_uint8(x_132, sizeof(void*)*3, x_129); -x_133 = lean_alloc_ctor(3, 1, 0); -lean_ctor_set(x_133, 0, x_132); -x_134 = l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___lambda__4(x_108, x_3, x_2, x_133, x_4, x_5, x_6, x_7, x_106, x_9, x_122); -return x_134; +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; uint8_t x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; +x_114 = lean_ctor_get(x_101, 1); +lean_inc(x_114); +lean_dec(x_101); +x_115 = lean_ctor_get(x_102, 3); +lean_inc(x_115); +x_116 = lean_ctor_get(x_102, 1); +lean_inc(x_116); +x_117 = lean_ctor_get(x_102, 4); +lean_inc(x_117); +x_118 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_118, 0, x_115); +lean_ctor_set(x_118, 1, x_116); +lean_ctor_set(x_118, 2, x_117); +x_119 = lean_ctor_get(x_102, 5); +lean_inc(x_119); +x_120 = lean_ctor_get(x_102, 2); +lean_inc(x_120); +x_121 = lean_ctor_get_uint8(x_120, sizeof(void*)*2 + 3); +lean_dec(x_120); +x_122 = lean_alloc_ctor(0, 3, 1); +lean_ctor_set(x_122, 0, x_118); +lean_ctor_set(x_122, 1, x_119); +lean_ctor_set(x_122, 2, x_3); +lean_ctor_set_uint8(x_122, sizeof(void*)*3, x_121); +x_123 = lean_alloc_ctor(3, 1, 0); +lean_ctor_set(x_123, 0, x_122); +x_124 = l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___lambda__4(x_102, x_4, x_2, x_123, x_5, x_6, x_7, x_8, x_100, x_10, x_114); +return x_124; } case 4: { -lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; uint8_t x_142; lean_object* x_143; lean_object* x_144; -x_135 = lean_ctor_get(x_107, 1); -lean_inc(x_135); -lean_dec(x_107); -x_136 = lean_ctor_get(x_108, 3); -lean_inc(x_136); -x_137 = lean_ctor_get(x_108, 1); -lean_inc(x_137); -x_138 = lean_ctor_get(x_108, 4); -lean_inc(x_138); -lean_inc(x_136); -x_139 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_139, 0, x_136); -lean_ctor_set(x_139, 1, x_137); -lean_ctor_set(x_139, 2, x_138); -x_140 = lean_ctor_get(x_108, 5); -lean_inc(x_140); -x_141 = lean_ctor_get(x_108, 2); -lean_inc(x_141); -x_142 = lean_ctor_get_uint8(x_141, sizeof(void*)*2 + 3); -lean_dec(x_141); -x_143 = lean_box(0); -x_144 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_144, 0, x_136); -lean_ctor_set(x_144, 1, x_143); -if (x_142 == 0) +lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129; lean_object* x_130; uint8_t x_131; +x_125 = lean_ctor_get(x_101, 1); +lean_inc(x_125); +lean_dec(x_101); +x_126 = lean_ctor_get(x_102, 3); +lean_inc(x_126); +x_127 = lean_ctor_get(x_102, 1); +lean_inc(x_127); +x_128 = lean_ctor_get(x_102, 4); +lean_inc(x_128); +x_129 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_129, 0, x_126); +lean_ctor_set(x_129, 1, x_127); +lean_ctor_set(x_129, 2, x_128); +x_130 = lean_ctor_get(x_102, 2); +lean_inc(x_130); +x_131 = lean_ctor_get_uint8(x_130, sizeof(void*)*2 + 3); +lean_dec(x_130); +if (x_131 == 0) { -lean_object* x_145; uint8_t x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; -x_145 = lean_box(1); -x_146 = 1; -x_147 = lean_alloc_ctor(0, 4, 1); -lean_ctor_set(x_147, 0, x_139); -lean_ctor_set(x_147, 1, x_140); -lean_ctor_set(x_147, 2, x_145); -lean_ctor_set(x_147, 3, x_144); -lean_ctor_set_uint8(x_147, sizeof(void*)*4, x_146); -x_148 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_148, 0, x_147); -x_149 = l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___lambda__4(x_108, x_3, x_2, x_148, x_4, x_5, x_6, x_7, x_106, x_9, x_135); -return x_149; +lean_object* x_132; lean_object* x_133; uint8_t x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; +x_132 = lean_ctor_get(x_102, 5); +lean_inc(x_132); +x_133 = lean_box(1); +x_134 = 1; +x_135 = lean_alloc_ctor(0, 4, 1); +lean_ctor_set(x_135, 0, x_129); +lean_ctor_set(x_135, 1, x_132); +lean_ctor_set(x_135, 2, x_133); +lean_ctor_set(x_135, 3, x_3); +lean_ctor_set_uint8(x_135, sizeof(void*)*4, x_134); +x_136 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_136, 0, x_135); +x_137 = l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___lambda__4(x_102, x_4, x_2, x_136, x_5, x_6, x_7, x_8, x_100, x_10, x_125); +return x_137; } else { -lean_object* x_150; uint8_t x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; -x_150 = lean_box(1); -x_151 = 0; -x_152 = lean_alloc_ctor(0, 4, 1); -lean_ctor_set(x_152, 0, x_139); -lean_ctor_set(x_152, 1, x_140); -lean_ctor_set(x_152, 2, x_150); -lean_ctor_set(x_152, 3, x_144); -lean_ctor_set_uint8(x_152, sizeof(void*)*4, x_151); -x_153 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_153, 0, x_152); -x_154 = l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___lambda__4(x_108, x_3, x_2, x_153, x_4, x_5, x_6, x_7, x_106, x_9, x_135); -return x_154; +lean_object* x_138; lean_object* x_139; uint8_t x_140; lean_object* x_141; lean_object* x_142; lean_object* x_143; +x_138 = lean_ctor_get(x_102, 5); +lean_inc(x_138); +x_139 = lean_box(1); +x_140 = 0; +x_141 = lean_alloc_ctor(0, 4, 1); +lean_ctor_set(x_141, 0, x_129); +lean_ctor_set(x_141, 1, x_138); +lean_ctor_set(x_141, 2, x_139); +lean_ctor_set(x_141, 3, x_3); +lean_ctor_set_uint8(x_141, sizeof(void*)*4, x_140); +x_142 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_142, 0, x_141); +x_143 = l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___lambda__4(x_102, x_4, x_2, x_142, x_5, x_6, x_7, x_8, x_100, x_10, x_125); +return x_143; } } default: { -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; uint32_t x_166; uint32_t x_167; uint32_t x_168; lean_object* x_169; lean_object* x_170; uint8_t x_171; lean_object* x_172; lean_object* x_173; -lean_dec(x_110); -x_155 = lean_ctor_get(x_107, 1); -lean_inc(x_155); -lean_dec(x_107); -x_156 = lean_st_ref_get(x_9, x_155); -x_157 = lean_ctor_get(x_156, 0); -lean_inc(x_157); -x_158 = lean_ctor_get(x_156, 1); -lean_inc(x_158); -lean_dec(x_156); -x_159 = lean_ctor_get(x_157, 0); +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; uint32_t x_155; uint32_t x_156; uint32_t x_157; lean_object* x_158; lean_object* x_159; uint8_t x_160; +lean_dec(x_104); +x_144 = lean_ctor_get(x_101, 1); +lean_inc(x_144); +lean_dec(x_101); +x_145 = lean_st_ref_get(x_10, x_144); +x_146 = lean_ctor_get(x_145, 0); +lean_inc(x_146); +x_147 = lean_ctor_get(x_145, 1); +lean_inc(x_147); +lean_dec(x_145); +x_148 = lean_ctor_get(x_146, 0); +lean_inc(x_148); +lean_dec(x_146); +x_149 = lean_ctor_get(x_102, 3); +lean_inc(x_149); +x_150 = lean_ctor_get(x_102, 1); +lean_inc(x_150); +x_151 = lean_ctor_get(x_102, 4); +lean_inc(x_151); +x_152 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_152, 0, x_149); +lean_ctor_set(x_152, 1, x_150); +lean_ctor_set(x_152, 2, x_151); +x_153 = lean_ctor_get(x_102, 5); +lean_inc(x_153); +lean_inc(x_153); +x_154 = l_Lean_getMaxHeight(x_148, x_153); +x_155 = lean_unbox_uint32(x_154); +lean_dec(x_154); +x_156 = 1; +x_157 = lean_uint32_add(x_155, x_156); +x_158 = lean_alloc_ctor(2, 0, 4); +lean_ctor_set_uint32(x_158, 0, x_157); +x_159 = lean_ctor_get(x_102, 2); lean_inc(x_159); -lean_dec(x_157); -x_160 = lean_ctor_get(x_108, 3); -lean_inc(x_160); -x_161 = lean_ctor_get(x_108, 1); -lean_inc(x_161); -x_162 = lean_ctor_get(x_108, 4); -lean_inc(x_162); -lean_inc(x_160); -x_163 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_163, 0, x_160); -lean_ctor_set(x_163, 1, x_161); -lean_ctor_set(x_163, 2, x_162); -x_164 = lean_ctor_get(x_108, 5); -lean_inc(x_164); -lean_inc(x_164); -x_165 = l_Lean_getMaxHeight(x_159, x_164); -x_166 = lean_unbox_uint32(x_165); -lean_dec(x_165); -x_167 = 1; -x_168 = lean_uint32_add(x_166, x_167); -x_169 = lean_alloc_ctor(2, 0, 4); -lean_ctor_set_uint32(x_169, 0, x_168); -x_170 = lean_ctor_get(x_108, 2); -lean_inc(x_170); -x_171 = lean_ctor_get_uint8(x_170, sizeof(void*)*2 + 3); -lean_dec(x_170); -x_172 = lean_box(0); -x_173 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_173, 0, x_160); -lean_ctor_set(x_173, 1, x_172); -if (x_171 == 0) +x_160 = lean_ctor_get_uint8(x_159, sizeof(void*)*2 + 3); +lean_dec(x_159); +if (x_160 == 0) { -uint8_t x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; -x_174 = 1; -x_175 = lean_alloc_ctor(0, 4, 1); -lean_ctor_set(x_175, 0, x_163); -lean_ctor_set(x_175, 1, x_164); -lean_ctor_set(x_175, 2, x_169); -lean_ctor_set(x_175, 3, x_173); -lean_ctor_set_uint8(x_175, sizeof(void*)*4, x_174); -x_176 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_176, 0, x_175); -x_177 = l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___lambda__4(x_108, x_3, x_2, x_176, x_4, x_5, x_6, x_7, x_106, x_9, x_158); -return x_177; +uint8_t x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; +x_161 = 1; +x_162 = lean_alloc_ctor(0, 4, 1); +lean_ctor_set(x_162, 0, x_152); +lean_ctor_set(x_162, 1, x_153); +lean_ctor_set(x_162, 2, x_158); +lean_ctor_set(x_162, 3, x_3); +lean_ctor_set_uint8(x_162, sizeof(void*)*4, x_161); +x_163 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_163, 0, x_162); +x_164 = l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___lambda__4(x_102, x_4, x_2, x_163, x_5, x_6, x_7, x_8, x_100, x_10, x_147); +return x_164; } else { -uint8_t x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; -x_178 = 0; -x_179 = lean_alloc_ctor(0, 4, 1); -lean_ctor_set(x_179, 0, x_163); -lean_ctor_set(x_179, 1, x_164); -lean_ctor_set(x_179, 2, x_169); -lean_ctor_set(x_179, 3, x_173); -lean_ctor_set_uint8(x_179, sizeof(void*)*4, x_178); -x_180 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_180, 0, x_179); -x_181 = l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___lambda__4(x_108, x_3, x_2, x_180, x_4, x_5, x_6, x_7, x_106, x_9, x_158); -return x_181; +uint8_t x_165; lean_object* x_166; lean_object* x_167; lean_object* x_168; +x_165 = 0; +x_166 = lean_alloc_ctor(0, 4, 1); +lean_ctor_set(x_166, 0, x_152); +lean_ctor_set(x_166, 1, x_153); +lean_ctor_set(x_166, 2, x_158); +lean_ctor_set(x_166, 3, x_3); +lean_ctor_set_uint8(x_166, sizeof(void*)*4, x_165); +x_167 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_167, 0, x_166); +x_168 = l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___lambda__4(x_102, x_4, x_2, x_167, x_5, x_6, x_7, x_8, x_100, x_10, x_147); +return x_168; } } } } else { -lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; -lean_dec(x_106); -lean_dec(x_9); +lean_object* x_169; lean_object* x_170; lean_object* x_171; lean_object* x_172; +lean_dec(x_100); +lean_dec(x_10); +lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); -lean_dec(x_4); -x_182 = lean_ctor_get(x_107, 0); -lean_inc(x_182); -x_183 = lean_ctor_get(x_107, 1); -lean_inc(x_183); -if (lean_is_exclusive(x_107)) { - lean_ctor_release(x_107, 0); - lean_ctor_release(x_107, 1); - x_184 = x_107; +lean_dec(x_3); +x_169 = lean_ctor_get(x_101, 0); +lean_inc(x_169); +x_170 = lean_ctor_get(x_101, 1); +lean_inc(x_170); +if (lean_is_exclusive(x_101)) { + lean_ctor_release(x_101, 0); + lean_ctor_release(x_101, 1); + x_171 = x_101; } else { - lean_dec_ref(x_107); - x_184 = lean_box(0); + lean_dec_ref(x_101); + x_171 = lean_box(0); } -if (lean_is_scalar(x_184)) { - x_185 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_171)) { + x_172 = lean_alloc_ctor(1, 2, 0); } else { - x_185 = x_184; + x_172 = x_171; } -lean_ctor_set(x_185, 0, x_182); -lean_ctor_set(x_185, 1, x_183); -return x_185; +lean_ctor_set(x_172, 0, x_169); +lean_ctor_set(x_172, 1, x_170); +return x_172; } } } @@ -4418,44 +4386,44 @@ x_14 = l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___lam return x_14; } } -LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, 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___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, 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_11; uint8_t x_12; lean_object* x_13; +uint8_t x_12; uint8_t x_13; lean_object* x_14; +x_12 = lean_unbox(x_2); +lean_dec(x_2); +x_13 = lean_unbox(x_4); +lean_dec(x_4); +x_14 = l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux(x_1, x_12, x_3, x_13, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +return x_14; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_addAndCompileNonRec(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +_start: +{ +uint8_t x_10; lean_object* x_11; +x_10 = 1; +x_11 = l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux(x_1, x_10, x_2, x_10, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +return x_11; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_addNonRec(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +_start: +{ +uint8_t x_11; lean_object* x_12; +x_11 = 0; +x_12 = l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux(x_1, x_11, x_3, x_2, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +return x_12; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_addNonRec___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, 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; lean_object* x_12; x_11 = lean_unbox(x_2); lean_dec(x_2); -x_12 = lean_unbox(x_3); -lean_dec(x_3); -x_13 = l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux(x_1, 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_Lean_Elab_addAndCompileNonRec(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { -_start: -{ -uint8_t x_9; lean_object* x_10; -x_9 = 1; -x_10 = l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux(x_1, x_9, x_9, x_2, x_3, x_4, x_5, x_6, x_7, x_8); -return x_10; -} -} -LEAN_EXPORT lean_object* l_Lean_Elab_addNonRec(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { -_start: -{ -uint8_t x_10; lean_object* x_11; -x_10 = 0; -x_11 = l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux(x_1, x_10, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); -return x_11; -} -} -LEAN_EXPORT lean_object* l_Lean_Elab_addNonRec___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { -_start: -{ -uint8_t x_10; lean_object* x_11; -x_10 = lean_unbox(x_2); -lean_dec(x_2); -x_11 = l_Lean_Elab_addNonRec(x_1, x_10, x_3, x_4, x_5, x_6, x_7, x_8, x_9); -return x_11; +x_12 = l_Lean_Elab_addNonRec(x_1, x_11, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +return x_12; } } LEAN_EXPORT lean_object* l_Lean_Elab_eraseRecAppSyntaxExpr___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { @@ -4771,142 +4739,186 @@ return x_26; } } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Elab_addAndCompileUnsafe___spec__2(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, lean_object* x_8, lean_object* x_9) { +LEAN_EXPORT lean_object* l_List_mapTRAux___at_Lean_Elab_addAndCompileUnsafe___spec__2(lean_object* x_1, lean_object* x_2) { _start: { -if (lean_obj_tag(x_2) == 0) +if (lean_obj_tag(x_1) == 0) { -lean_object* x_10; lean_object* x_11; -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; +lean_object* x_3; +x_3 = l_List_reverse___rarg(x_2); +return x_3; } else { -uint8_t x_12; -x_12 = !lean_is_exclusive(x_2); -if (x_12 == 0) +uint8_t x_4; +x_4 = !lean_is_exclusive(x_1); +if (x_4 == 0) { -lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; -x_13 = lean_ctor_get(x_2, 0); -x_14 = lean_ctor_get(x_2, 1); -x_15 = lean_ctor_get(x_13, 3); -lean_inc(x_15); -x_16 = lean_ctor_get(x_13, 1); +lean_object* x_5; lean_object* x_6; lean_object* x_7; +x_5 = lean_ctor_get(x_1, 0); +x_6 = lean_ctor_get(x_1, 1); +x_7 = lean_ctor_get(x_5, 3); +lean_inc(x_7); +lean_dec(x_5); +lean_ctor_set(x_1, 1, x_2); +lean_ctor_set(x_1, 0, x_7); +{ +lean_object* _tmp_0 = x_6; +lean_object* _tmp_1 = x_1; +x_1 = _tmp_0; +x_2 = _tmp_1; +} +goto _start; +} +else +{ +lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_9 = lean_ctor_get(x_1, 0); +x_10 = lean_ctor_get(x_1, 1); +lean_inc(x_10); +lean_inc(x_9); +lean_dec(x_1); +x_11 = lean_ctor_get(x_9, 3); +lean_inc(x_11); +lean_dec(x_9); +x_12 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_12, 0, x_11); +lean_ctor_set(x_12, 1, x_2); +x_1 = x_10; +x_2 = x_12; +goto _start; +} +} +} +} +LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Elab_addAndCompileUnsafe___spec__3(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, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +_start: +{ +if (lean_obj_tag(x_3) == 0) +{ +lean_object* x_11; lean_object* x_12; +lean_dec(x_2); +x_11 = lean_box(0); +x_12 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_12, 0, x_11); +lean_ctor_set(x_12, 1, x_10); +return x_12; +} +else +{ +uint8_t x_13; +x_13 = !lean_is_exclusive(x_3); +if (x_13 == 0) +{ +lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; +x_14 = lean_ctor_get(x_3, 0); +x_15 = lean_ctor_get(x_3, 1); +x_16 = lean_ctor_get(x_14, 3); lean_inc(x_16); -x_17 = lean_ctor_get(x_13, 4); +x_17 = lean_ctor_get(x_14, 1); lean_inc(x_17); -lean_inc(x_15); -x_18 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_18, 0, x_15); -lean_ctor_set(x_18, 1, x_16); -lean_ctor_set(x_18, 2, x_17); -x_19 = lean_ctor_get(x_13, 5); -lean_inc(x_19); -lean_dec(x_13); -x_20 = lean_box(0); -lean_ctor_set(x_2, 1, x_20); -lean_ctor_set(x_2, 0, x_15); +x_18 = lean_ctor_get(x_14, 4); +lean_inc(x_18); +x_19 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_19, 0, x_16); +lean_ctor_set(x_19, 1, x_17); +lean_ctor_set(x_19, 2, x_18); +x_20 = lean_ctor_get(x_14, 5); +lean_inc(x_20); +lean_dec(x_14); x_21 = lean_box(0); +lean_inc(x_2); x_22 = lean_alloc_ctor(0, 4, 1); -lean_ctor_set(x_22, 0, x_18); -lean_ctor_set(x_22, 1, x_19); +lean_ctor_set(x_22, 0, x_19); +lean_ctor_set(x_22, 1, x_20); lean_ctor_set(x_22, 2, x_21); lean_ctor_set(x_22, 3, x_2); lean_ctor_set_uint8(x_22, sizeof(void*)*4, x_1); -x_23 = l_List_mapM___at_Lean_Elab_addAndCompileUnsafe___spec__2(x_1, x_14, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +x_23 = l_List_mapM___at_Lean_Elab_addAndCompileUnsafe___spec__3(x_1, x_2, x_15, x_4, x_5, x_6, x_7, x_8, x_9, x_10); x_24 = !lean_is_exclusive(x_23); if (x_24 == 0) { -lean_object* x_25; lean_object* x_26; +lean_object* x_25; x_25 = lean_ctor_get(x_23, 0); -x_26 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_26, 0, x_22); -lean_ctor_set(x_26, 1, x_25); -lean_ctor_set(x_23, 0, x_26); +lean_ctor_set(x_3, 1, x_25); +lean_ctor_set(x_3, 0, x_22); +lean_ctor_set(x_23, 0, x_3); return x_23; } else { -lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_27 = lean_ctor_get(x_23, 0); -x_28 = lean_ctor_get(x_23, 1); -lean_inc(x_28); +lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_26 = lean_ctor_get(x_23, 0); +x_27 = lean_ctor_get(x_23, 1); lean_inc(x_27); +lean_inc(x_26); lean_dec(x_23); -x_29 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_29, 0, x_22); -lean_ctor_set(x_29, 1, x_27); -x_30 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_30, 0, x_29); -lean_ctor_set(x_30, 1, x_28); -return x_30; +lean_ctor_set(x_3, 1, x_26); +lean_ctor_set(x_3, 0, x_22); +x_28 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_28, 0, x_3); +lean_ctor_set(x_28, 1, x_27); +return x_28; } } else { -lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; -x_31 = lean_ctor_get(x_2, 0); -x_32 = lean_ctor_get(x_2, 1); -lean_inc(x_32); +lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; +x_29 = lean_ctor_get(x_3, 0); +x_30 = lean_ctor_get(x_3, 1); +lean_inc(x_30); +lean_inc(x_29); +lean_dec(x_3); +x_31 = lean_ctor_get(x_29, 3); lean_inc(x_31); -lean_dec(x_2); -x_33 = lean_ctor_get(x_31, 3); +x_32 = lean_ctor_get(x_29, 1); +lean_inc(x_32); +x_33 = lean_ctor_get(x_29, 4); lean_inc(x_33); -x_34 = lean_ctor_get(x_31, 1); -lean_inc(x_34); -x_35 = lean_ctor_get(x_31, 4); +x_34 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_34, 0, x_31); +lean_ctor_set(x_34, 1, x_32); +lean_ctor_set(x_34, 2, x_33); +x_35 = lean_ctor_get(x_29, 5); lean_inc(x_35); -lean_inc(x_33); -x_36 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_36, 0, x_33); -lean_ctor_set(x_36, 1, x_34); -lean_ctor_set(x_36, 2, x_35); -x_37 = lean_ctor_get(x_31, 5); -lean_inc(x_37); -lean_dec(x_31); -x_38 = lean_box(0); -x_39 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_39, 0, x_33); -lean_ctor_set(x_39, 1, x_38); -x_40 = lean_box(0); -x_41 = lean_alloc_ctor(0, 4, 1); -lean_ctor_set(x_41, 0, x_36); -lean_ctor_set(x_41, 1, x_37); -lean_ctor_set(x_41, 2, x_40); -lean_ctor_set(x_41, 3, x_39); -lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_1); -x_42 = l_List_mapM___at_Lean_Elab_addAndCompileUnsafe___spec__2(x_1, x_32, x_3, x_4, x_5, x_6, x_7, x_8, x_9); -x_43 = lean_ctor_get(x_42, 0); -lean_inc(x_43); -x_44 = lean_ctor_get(x_42, 1); -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; +lean_dec(x_29); +x_36 = lean_box(0); +lean_inc(x_2); +x_37 = lean_alloc_ctor(0, 4, 1); +lean_ctor_set(x_37, 0, x_34); +lean_ctor_set(x_37, 1, x_35); +lean_ctor_set(x_37, 2, x_36); +lean_ctor_set(x_37, 3, x_2); +lean_ctor_set_uint8(x_37, sizeof(void*)*4, x_1); +x_38 = l_List_mapM___at_Lean_Elab_addAndCompileUnsafe___spec__3(x_1, x_2, x_30, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_39 = lean_ctor_get(x_38, 0); +lean_inc(x_39); +x_40 = lean_ctor_get(x_38, 1); +lean_inc(x_40); +if (lean_is_exclusive(x_38)) { + lean_ctor_release(x_38, 0); + lean_ctor_release(x_38, 1); + x_41 = x_38; } else { - lean_dec_ref(x_42); - x_45 = lean_box(0); + lean_dec_ref(x_38); + x_41 = lean_box(0); } -x_46 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_46, 0, x_41); -lean_ctor_set(x_46, 1, x_43); -if (lean_is_scalar(x_45)) { - x_47 = lean_alloc_ctor(0, 2, 0); +x_42 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_42, 0, x_37); +lean_ctor_set(x_42, 1, x_39); +if (lean_is_scalar(x_41)) { + x_43 = lean_alloc_ctor(0, 2, 0); } else { - x_47 = x_45; + x_43 = x_41; } -lean_ctor_set(x_47, 0, x_46); -lean_ctor_set(x_47, 1, x_44); -return x_47; +lean_ctor_set(x_43, 0, x_42); +lean_ctor_set(x_43, 1, x_40); +return x_43; } } } } -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addAndCompileUnsafe___spec__3(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_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addAndCompileUnsafe___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_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { uint8_t x_12; @@ -5035,7 +5047,7 @@ _start: { lean_object* x_11; lean_object* x_12; x_11 = lean_box(0); -x_12 = l_Array_forInUnsafe_loop___at_Lean_Elab_addAndCompileUnsafe___spec__3(x_1, x_2, x_3, x_11, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_12 = l_Array_forInUnsafe_loop___at_Lean_Elab_addAndCompileUnsafe___spec__4(x_1, x_2, x_3, x_11, x_4, x_5, x_6, x_7, x_8, x_9, x_10); if (lean_obj_tag(x_12) == 0) { uint8_t x_13; @@ -5162,7 +5174,7 @@ lean_inc(x_7); x_13 = l_Array_mapMUnsafe_map___at_Lean_Elab_addAndCompileUnsafe___spec__1(x_11, x_12, x_1, x_3, x_4, x_5, x_6, x_7, x_8, x_9); 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; lean_object* x_19; lean_object* x_20; uint8_t 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; uint8_t x_23; x_14 = lean_ctor_get(x_13, 0); lean_inc(x_14); x_15 = lean_ctor_get(x_13, 1); @@ -5176,88 +5188,91 @@ lean_inc(x_19); lean_dec(x_18); lean_inc(x_14); x_20 = lean_array_to_list(lean_box(0), x_14); -x_21 = !lean_is_exclusive(x_7); -if (x_21 == 0) +x_21 = lean_box(0); +lean_inc(x_20); +x_22 = l_List_mapTRAux___at_Lean_Elab_addAndCompileUnsafe___spec__2(x_20, x_21); +x_23 = !lean_is_exclusive(x_7); +if (x_23 == 0) { -lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; -x_22 = lean_ctor_get(x_7, 5); -x_23 = l_Lean_replaceRef(x_19, x_22); -lean_dec(x_22); -lean_dec(x_19); -lean_ctor_set(x_7, 5, x_23); -x_24 = l_List_mapM___at_Lean_Elab_addAndCompileUnsafe___spec__2(x_2, x_20, x_3, x_4, x_5, x_6, x_7, x_8, x_15); -x_25 = lean_ctor_get(x_24, 0); -lean_inc(x_25); -x_26 = lean_ctor_get(x_24, 1); -lean_inc(x_26); +lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_24 = lean_ctor_get(x_7, 5); +x_25 = l_Lean_replaceRef(x_19, x_24); lean_dec(x_24); -x_27 = lean_alloc_ctor(5, 1, 0); -lean_ctor_set(x_27, 0, x_25); -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_dec(x_19); +lean_ctor_set(x_7, 5, x_25); +x_26 = l_List_mapM___at_Lean_Elab_addAndCompileUnsafe___spec__3(x_2, x_22, x_20, x_3, x_4, x_5, x_6, x_7, x_8, x_15); +x_27 = lean_ctor_get(x_26, 0); lean_inc(x_27); -x_28 = l_Lean_addDecl___at_Lean_Elab_Term_evalExpr___spec__2(x_27, x_3, x_4, x_5, x_6, x_7, x_8, x_26); -if (lean_obj_tag(x_28) == 0) -{ -lean_object* x_29; lean_object* x_30; size_t x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; -x_29 = lean_ctor_get(x_28, 1); +x_28 = lean_ctor_get(x_26, 1); +lean_inc(x_28); +lean_dec(x_26); +x_29 = lean_alloc_ctor(5, 1, 0); +lean_ctor_set(x_29, 0, x_27); +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_29); -lean_dec(x_28); -x_30 = lean_array_get_size(x_14); -x_31 = lean_usize_of_nat(x_30); +x_30 = l_Lean_addDecl___at_Lean_Elab_Term_evalExpr___spec__2(x_29, x_3, x_4, x_5, x_6, x_7, x_8, x_28); +if (lean_obj_tag(x_30) == 0) +{ +lean_object* x_31; lean_object* x_32; size_t x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; +x_31 = lean_ctor_get(x_30, 1); +lean_inc(x_31); lean_dec(x_30); -x_32 = lean_box_usize(x_31); -x_33 = l_Lean_Elab_addAndCompileUnsafe___boxed__const__1; +x_32 = lean_array_get_size(x_14); +x_33 = lean_usize_of_nat(x_32); +lean_dec(x_32); +x_34 = lean_box_usize(x_33); +x_35 = l_Lean_Elab_addAndCompileUnsafe___boxed__const__1; lean_inc(x_14); -x_34 = lean_alloc_closure((void*)(l_Lean_Elab_addAndCompileUnsafe___lambda__1___boxed), 10, 3); -lean_closure_set(x_34, 0, x_14); -lean_closure_set(x_34, 1, x_32); -lean_closure_set(x_34, 2, x_33); +x_36 = lean_alloc_closure((void*)(l_Lean_Elab_addAndCompileUnsafe___lambda__1___boxed), 10, 3); +lean_closure_set(x_36, 0, x_14); +lean_closure_set(x_36, 1, x_34); +lean_closure_set(x_36, 2, x_35); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); -x_35 = l_Lean_Elab_withSaveInfoContext___at___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___spec__2(x_34, x_3, x_4, x_5, x_6, x_7, x_8, x_29); -if (lean_obj_tag(x_35) == 0) +x_37 = l_Lean_Elab_withSaveInfoContext___at___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___spec__2(x_36, x_3, x_4, x_5, x_6, x_7, x_8, x_31); +if (lean_obj_tag(x_37) == 0) { -lean_object* x_36; uint8_t x_37; lean_object* x_38; -x_36 = lean_ctor_get(x_35, 1); -lean_inc(x_36); -lean_dec(x_35); -x_37 = 0; +lean_object* x_38; uint8_t x_39; lean_object* x_40; +x_38 = lean_ctor_get(x_37, 1); +lean_inc(x_38); +lean_dec(x_37); +x_39 = 0; lean_inc(x_8); lean_inc(x_7); lean_inc(x_3); -x_38 = l_Lean_Elab_applyAttributesOf(x_14, x_37, x_3, x_4, x_5, x_6, x_7, x_8, x_36); -if (lean_obj_tag(x_38) == 0) -{ -lean_object* x_39; lean_object* x_40; -x_39 = lean_ctor_get(x_38, 1); -lean_inc(x_39); -lean_dec(x_38); -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -x_40 = l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_compileDecl(x_27, x_3, x_4, x_5, x_6, x_7, x_8, x_39); +x_40 = l_Lean_Elab_applyAttributesOf(x_14, x_39, x_3, x_4, x_5, x_6, x_7, x_8, x_38); if (lean_obj_tag(x_40) == 0) { -lean_object* x_41; uint8_t x_42; -x_41 = lean_ctor_get(x_40, 0); +lean_object* x_41; lean_object* x_42; +x_41 = lean_ctor_get(x_40, 1); lean_inc(x_41); -x_42 = lean_unbox(x_41); -lean_dec(x_41); -if (x_42 == 0) +lean_dec(x_40); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +x_42 = l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_compileDecl(x_29, x_3, x_4, x_5, x_6, x_7, x_8, x_41); +if (lean_obj_tag(x_42) == 0) { -uint8_t x_43; +lean_object* x_43; uint8_t x_44; +x_43 = lean_ctor_get(x_42, 0); +lean_inc(x_43); +x_44 = lean_unbox(x_43); +lean_dec(x_43); +if (x_44 == 0) +{ +uint8_t x_45; lean_dec(x_7); lean_dec(x_14); lean_dec(x_8); @@ -5265,47 +5280,47 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_43 = !lean_is_exclusive(x_40); -if (x_43 == 0) +x_45 = !lean_is_exclusive(x_42); +if (x_45 == 0) { -lean_object* x_44; lean_object* x_45; -x_44 = lean_ctor_get(x_40, 0); -lean_dec(x_44); -x_45 = lean_box(0); -lean_ctor_set(x_40, 0, x_45); -return x_40; -} -else -{ -lean_object* x_46; lean_object* x_47; lean_object* x_48; -x_46 = lean_ctor_get(x_40, 1); -lean_inc(x_46); -lean_dec(x_40); +lean_object* x_46; lean_object* x_47; +x_46 = lean_ctor_get(x_42, 0); +lean_dec(x_46); x_47 = lean_box(0); -x_48 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_48, 0, x_47); -lean_ctor_set(x_48, 1, x_46); -return x_48; +lean_ctor_set(x_42, 0, x_47); +return x_42; +} +else +{ +lean_object* x_48; lean_object* x_49; lean_object* x_50; +x_48 = lean_ctor_get(x_42, 1); +lean_inc(x_48); +lean_dec(x_42); +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_48); +return x_50; } } else { -lean_object* x_49; lean_object* x_50; lean_object* x_51; -x_49 = lean_ctor_get(x_40, 1); -lean_inc(x_49); -lean_dec(x_40); -x_50 = lean_box(0); -x_51 = l_Lean_Elab_addAndCompileUnsafe___lambda__2(x_14, x_50, x_3, x_4, x_5, x_6, x_7, x_8, x_49); +lean_object* x_51; lean_object* x_52; lean_object* x_53; +x_51 = lean_ctor_get(x_42, 1); +lean_inc(x_51); +lean_dec(x_42); +x_52 = lean_box(0); +x_53 = l_Lean_Elab_addAndCompileUnsafe___lambda__2(x_14, x_52, x_3, x_4, x_5, x_6, x_7, x_8, x_51); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_14); -return x_51; +return x_53; } } else { -uint8_t x_52; +uint8_t x_54; lean_dec(x_7); lean_dec(x_14); lean_dec(x_8); @@ -5313,30 +5328,61 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_52 = !lean_is_exclusive(x_40); -if (x_52 == 0) +x_54 = !lean_is_exclusive(x_42); +if (x_54 == 0) +{ +return x_42; +} +else +{ +lean_object* x_55; lean_object* x_56; lean_object* x_57; +x_55 = lean_ctor_get(x_42, 0); +x_56 = lean_ctor_get(x_42, 1); +lean_inc(x_56); +lean_inc(x_55); +lean_dec(x_42); +x_57 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_57, 0, x_55); +lean_ctor_set(x_57, 1, x_56); +return x_57; +} +} +} +else +{ +uint8_t x_58; +lean_dec(x_29); +lean_dec(x_7); +lean_dec(x_14); +lean_dec(x_8); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_58 = !lean_is_exclusive(x_40); +if (x_58 == 0) { return x_40; } else { -lean_object* x_53; lean_object* x_54; lean_object* x_55; -x_53 = lean_ctor_get(x_40, 0); -x_54 = lean_ctor_get(x_40, 1); -lean_inc(x_54); -lean_inc(x_53); +lean_object* x_59; lean_object* x_60; lean_object* x_61; +x_59 = lean_ctor_get(x_40, 0); +x_60 = lean_ctor_get(x_40, 1); +lean_inc(x_60); +lean_inc(x_59); lean_dec(x_40); -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_61 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_61, 0, x_59); +lean_ctor_set(x_61, 1, x_60); +return x_61; } } } else { -uint8_t x_56; -lean_dec(x_27); +uint8_t x_62; +lean_dec(x_29); lean_dec(x_7); lean_dec(x_14); lean_dec(x_8); @@ -5344,30 +5390,30 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_56 = !lean_is_exclusive(x_38); -if (x_56 == 0) +x_62 = !lean_is_exclusive(x_37); +if (x_62 == 0) { -return x_38; +return x_37; } else { -lean_object* x_57; lean_object* x_58; lean_object* x_59; -x_57 = lean_ctor_get(x_38, 0); -x_58 = lean_ctor_get(x_38, 1); -lean_inc(x_58); -lean_inc(x_57); -lean_dec(x_38); -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; +lean_object* x_63; lean_object* x_64; lean_object* x_65; +x_63 = lean_ctor_get(x_37, 0); +x_64 = lean_ctor_get(x_37, 1); +lean_inc(x_64); +lean_inc(x_63); +lean_dec(x_37); +x_65 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_65, 0, x_63); +lean_ctor_set(x_65, 1, x_64); +return x_65; } } } else { -uint8_t x_60; -lean_dec(x_27); +uint8_t x_66; +lean_dec(x_29); lean_dec(x_7); lean_dec(x_14); lean_dec(x_8); @@ -5375,71 +5421,42 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_60 = !lean_is_exclusive(x_35); -if (x_60 == 0) +x_66 = !lean_is_exclusive(x_30); +if (x_66 == 0) { -return x_35; +return x_30; } else { -lean_object* x_61; lean_object* x_62; lean_object* x_63; -x_61 = lean_ctor_get(x_35, 0); -x_62 = lean_ctor_get(x_35, 1); -lean_inc(x_62); -lean_inc(x_61); -lean_dec(x_35); -x_63 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_63, 0, x_61); -lean_ctor_set(x_63, 1, x_62); -return x_63; +lean_object* x_67; lean_object* x_68; lean_object* x_69; +x_67 = lean_ctor_get(x_30, 0); +x_68 = lean_ctor_get(x_30, 1); +lean_inc(x_68); +lean_inc(x_67); +lean_dec(x_30); +x_69 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_69, 0, x_67); +lean_ctor_set(x_69, 1, x_68); +return x_69; } } } else { -uint8_t x_64; -lean_dec(x_27); -lean_dec(x_7); -lean_dec(x_14); -lean_dec(x_8); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -x_64 = !lean_is_exclusive(x_28); -if (x_64 == 0) -{ -return x_28; -} -else -{ -lean_object* x_65; lean_object* x_66; lean_object* x_67; -x_65 = lean_ctor_get(x_28, 0); -x_66 = lean_ctor_get(x_28, 1); -lean_inc(x_66); -lean_inc(x_65); -lean_dec(x_28); -x_67 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_67, 0, x_65); -lean_ctor_set(x_67, 1, x_66); -return x_67; -} -} -} -else -{ -lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; -x_68 = lean_ctor_get(x_7, 0); -x_69 = lean_ctor_get(x_7, 1); -x_70 = lean_ctor_get(x_7, 2); -x_71 = lean_ctor_get(x_7, 3); -x_72 = lean_ctor_get(x_7, 4); -x_73 = lean_ctor_get(x_7, 5); -x_74 = lean_ctor_get(x_7, 6); -x_75 = lean_ctor_get(x_7, 7); -x_76 = lean_ctor_get(x_7, 8); -x_77 = lean_ctor_get(x_7, 9); -x_78 = lean_ctor_get(x_7, 10); +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; +x_70 = lean_ctor_get(x_7, 0); +x_71 = lean_ctor_get(x_7, 1); +x_72 = lean_ctor_get(x_7, 2); +x_73 = lean_ctor_get(x_7, 3); +x_74 = lean_ctor_get(x_7, 4); +x_75 = lean_ctor_get(x_7, 5); +x_76 = lean_ctor_get(x_7, 6); +x_77 = lean_ctor_get(x_7, 7); +x_78 = lean_ctor_get(x_7, 8); +x_79 = lean_ctor_get(x_7, 9); +x_80 = lean_ctor_get(x_7, 10); +lean_inc(x_80); +lean_inc(x_79); lean_inc(x_78); lean_inc(x_77); lean_inc(x_76); @@ -5449,297 +5466,295 @@ lean_inc(x_73); lean_inc(x_72); lean_inc(x_71); lean_inc(x_70); -lean_inc(x_69); -lean_inc(x_68); lean_dec(x_7); -x_79 = l_Lean_replaceRef(x_19, x_73); -lean_dec(x_73); +x_81 = l_Lean_replaceRef(x_19, x_75); +lean_dec(x_75); lean_dec(x_19); -x_80 = lean_alloc_ctor(0, 11, 0); -lean_ctor_set(x_80, 0, x_68); -lean_ctor_set(x_80, 1, x_69); -lean_ctor_set(x_80, 2, x_70); -lean_ctor_set(x_80, 3, x_71); -lean_ctor_set(x_80, 4, x_72); -lean_ctor_set(x_80, 5, x_79); -lean_ctor_set(x_80, 6, x_74); -lean_ctor_set(x_80, 7, x_75); -lean_ctor_set(x_80, 8, x_76); -lean_ctor_set(x_80, 9, x_77); -lean_ctor_set(x_80, 10, x_78); -x_81 = l_List_mapM___at_Lean_Elab_addAndCompileUnsafe___spec__2(x_2, x_20, x_3, x_4, x_5, x_6, x_80, x_8, x_15); -x_82 = lean_ctor_get(x_81, 0); -lean_inc(x_82); -x_83 = lean_ctor_get(x_81, 1); -lean_inc(x_83); -lean_dec(x_81); -x_84 = lean_alloc_ctor(5, 1, 0); -lean_ctor_set(x_84, 0, x_82); -lean_inc(x_8); -lean_inc(x_80); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); +x_82 = lean_alloc_ctor(0, 11, 0); +lean_ctor_set(x_82, 0, x_70); +lean_ctor_set(x_82, 1, x_71); +lean_ctor_set(x_82, 2, x_72); +lean_ctor_set(x_82, 3, x_73); +lean_ctor_set(x_82, 4, x_74); +lean_ctor_set(x_82, 5, x_81); +lean_ctor_set(x_82, 6, x_76); +lean_ctor_set(x_82, 7, x_77); +lean_ctor_set(x_82, 8, x_78); +lean_ctor_set(x_82, 9, x_79); +lean_ctor_set(x_82, 10, x_80); +x_83 = l_List_mapM___at_Lean_Elab_addAndCompileUnsafe___spec__3(x_2, x_22, x_20, x_3, x_4, x_5, x_6, x_82, x_8, x_15); +x_84 = lean_ctor_get(x_83, 0); lean_inc(x_84); -x_85 = l_Lean_addDecl___at_Lean_Elab_Term_evalExpr___spec__2(x_84, x_3, x_4, x_5, x_6, x_80, x_8, x_83); -if (lean_obj_tag(x_85) == 0) -{ -lean_object* x_86; lean_object* x_87; size_t x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; -x_86 = lean_ctor_get(x_85, 1); +x_85 = lean_ctor_get(x_83, 1); +lean_inc(x_85); +lean_dec(x_83); +x_86 = lean_alloc_ctor(5, 1, 0); +lean_ctor_set(x_86, 0, x_84); +lean_inc(x_8); +lean_inc(x_82); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); lean_inc(x_86); -lean_dec(x_85); -x_87 = lean_array_get_size(x_14); -x_88 = lean_usize_of_nat(x_87); +x_87 = l_Lean_addDecl___at_Lean_Elab_Term_evalExpr___spec__2(x_86, x_3, x_4, x_5, x_6, x_82, x_8, x_85); +if (lean_obj_tag(x_87) == 0) +{ +lean_object* x_88; lean_object* x_89; size_t x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; +x_88 = lean_ctor_get(x_87, 1); +lean_inc(x_88); lean_dec(x_87); -x_89 = lean_box_usize(x_88); -x_90 = l_Lean_Elab_addAndCompileUnsafe___boxed__const__1; +x_89 = lean_array_get_size(x_14); +x_90 = lean_usize_of_nat(x_89); +lean_dec(x_89); +x_91 = lean_box_usize(x_90); +x_92 = l_Lean_Elab_addAndCompileUnsafe___boxed__const__1; lean_inc(x_14); -x_91 = lean_alloc_closure((void*)(l_Lean_Elab_addAndCompileUnsafe___lambda__1___boxed), 10, 3); -lean_closure_set(x_91, 0, x_14); -lean_closure_set(x_91, 1, x_89); -lean_closure_set(x_91, 2, x_90); +x_93 = lean_alloc_closure((void*)(l_Lean_Elab_addAndCompileUnsafe___lambda__1___boxed), 10, 3); +lean_closure_set(x_93, 0, x_14); +lean_closure_set(x_93, 1, x_91); +lean_closure_set(x_93, 2, x_92); lean_inc(x_8); -lean_inc(x_80); +lean_inc(x_82); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); -x_92 = l_Lean_Elab_withSaveInfoContext___at___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___spec__2(x_91, x_3, x_4, x_5, x_6, x_80, x_8, x_86); -if (lean_obj_tag(x_92) == 0) +x_94 = l_Lean_Elab_withSaveInfoContext___at___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___spec__2(x_93, x_3, x_4, x_5, x_6, x_82, x_8, x_88); +if (lean_obj_tag(x_94) == 0) { -lean_object* x_93; uint8_t x_94; lean_object* x_95; -x_93 = lean_ctor_get(x_92, 1); -lean_inc(x_93); -lean_dec(x_92); -x_94 = 0; +lean_object* x_95; uint8_t x_96; lean_object* x_97; +x_95 = lean_ctor_get(x_94, 1); +lean_inc(x_95); +lean_dec(x_94); +x_96 = 0; lean_inc(x_8); -lean_inc(x_80); +lean_inc(x_82); lean_inc(x_3); -x_95 = l_Lean_Elab_applyAttributesOf(x_14, x_94, x_3, x_4, x_5, x_6, x_80, x_8, x_93); -if (lean_obj_tag(x_95) == 0) -{ -lean_object* x_96; lean_object* x_97; -x_96 = lean_ctor_get(x_95, 1); -lean_inc(x_96); -lean_dec(x_95); -lean_inc(x_8); -lean_inc(x_80); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -x_97 = l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_compileDecl(x_84, x_3, x_4, x_5, x_6, x_80, x_8, x_96); +x_97 = l_Lean_Elab_applyAttributesOf(x_14, x_96, x_3, x_4, x_5, x_6, x_82, x_8, x_95); if (lean_obj_tag(x_97) == 0) { -lean_object* x_98; uint8_t x_99; -x_98 = lean_ctor_get(x_97, 0); +lean_object* x_98; lean_object* x_99; +x_98 = lean_ctor_get(x_97, 1); lean_inc(x_98); -x_99 = lean_unbox(x_98); -lean_dec(x_98); -if (x_99 == 0) -{ -lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; -lean_dec(x_80); -lean_dec(x_14); -lean_dec(x_8); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -x_100 = lean_ctor_get(x_97, 1); -lean_inc(x_100); -if (lean_is_exclusive(x_97)) { - lean_ctor_release(x_97, 0); - lean_ctor_release(x_97, 1); - x_101 = x_97; -} else { - lean_dec_ref(x_97); - x_101 = lean_box(0); -} -x_102 = lean_box(0); -if (lean_is_scalar(x_101)) { - x_103 = lean_alloc_ctor(0, 2, 0); -} else { - x_103 = x_101; -} -lean_ctor_set(x_103, 0, x_102); -lean_ctor_set(x_103, 1, x_100); -return x_103; -} -else -{ -lean_object* x_104; lean_object* x_105; lean_object* x_106; -x_104 = lean_ctor_get(x_97, 1); -lean_inc(x_104); lean_dec(x_97); -x_105 = lean_box(0); -x_106 = l_Lean_Elab_addAndCompileUnsafe___lambda__2(x_14, x_105, x_3, x_4, x_5, x_6, x_80, x_8, x_104); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_14); -return x_106; -} -} -else +lean_inc(x_8); +lean_inc(x_82); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +x_99 = l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_compileDecl(x_86, x_3, x_4, x_5, x_6, x_82, x_8, x_98); +if (lean_obj_tag(x_99) == 0) { -lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; -lean_dec(x_80); +lean_object* x_100; uint8_t x_101; +x_100 = lean_ctor_get(x_99, 0); +lean_inc(x_100); +x_101 = lean_unbox(x_100); +lean_dec(x_100); +if (x_101 == 0) +{ +lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; +lean_dec(x_82); lean_dec(x_14); lean_dec(x_8); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_107 = lean_ctor_get(x_97, 0); -lean_inc(x_107); -x_108 = lean_ctor_get(x_97, 1); -lean_inc(x_108); +x_102 = lean_ctor_get(x_99, 1); +lean_inc(x_102); +if (lean_is_exclusive(x_99)) { + lean_ctor_release(x_99, 0); + lean_ctor_release(x_99, 1); + x_103 = x_99; +} else { + lean_dec_ref(x_99); + x_103 = lean_box(0); +} +x_104 = lean_box(0); +if (lean_is_scalar(x_103)) { + x_105 = lean_alloc_ctor(0, 2, 0); +} else { + x_105 = x_103; +} +lean_ctor_set(x_105, 0, x_104); +lean_ctor_set(x_105, 1, x_102); +return x_105; +} +else +{ +lean_object* x_106; lean_object* x_107; lean_object* x_108; +x_106 = lean_ctor_get(x_99, 1); +lean_inc(x_106); +lean_dec(x_99); +x_107 = lean_box(0); +x_108 = l_Lean_Elab_addAndCompileUnsafe___lambda__2(x_14, x_107, x_3, x_4, x_5, x_6, x_82, x_8, x_106); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_14); +return x_108; +} +} +else +{ +lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; +lean_dec(x_82); +lean_dec(x_14); +lean_dec(x_8); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_109 = lean_ctor_get(x_99, 0); +lean_inc(x_109); +x_110 = lean_ctor_get(x_99, 1); +lean_inc(x_110); +if (lean_is_exclusive(x_99)) { + lean_ctor_release(x_99, 0); + lean_ctor_release(x_99, 1); + x_111 = x_99; +} else { + lean_dec_ref(x_99); + x_111 = lean_box(0); +} +if (lean_is_scalar(x_111)) { + x_112 = lean_alloc_ctor(1, 2, 0); +} else { + x_112 = x_111; +} +lean_ctor_set(x_112, 0, x_109); +lean_ctor_set(x_112, 1, x_110); +return x_112; +} +} +else +{ +lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; +lean_dec(x_86); +lean_dec(x_82); +lean_dec(x_14); +lean_dec(x_8); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_113 = lean_ctor_get(x_97, 0); +lean_inc(x_113); +x_114 = lean_ctor_get(x_97, 1); +lean_inc(x_114); if (lean_is_exclusive(x_97)) { lean_ctor_release(x_97, 0); lean_ctor_release(x_97, 1); - x_109 = x_97; + x_115 = x_97; } else { lean_dec_ref(x_97); - x_109 = lean_box(0); + x_115 = lean_box(0); } -if (lean_is_scalar(x_109)) { - x_110 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_115)) { + x_116 = lean_alloc_ctor(1, 2, 0); } else { - x_110 = x_109; + x_116 = x_115; } -lean_ctor_set(x_110, 0, x_107); -lean_ctor_set(x_110, 1, x_108); -return x_110; +lean_ctor_set(x_116, 0, x_113); +lean_ctor_set(x_116, 1, x_114); +return x_116; } } else { -lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; -lean_dec(x_84); -lean_dec(x_80); +lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; +lean_dec(x_86); +lean_dec(x_82); lean_dec(x_14); lean_dec(x_8); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_111 = lean_ctor_get(x_95, 0); -lean_inc(x_111); -x_112 = lean_ctor_get(x_95, 1); -lean_inc(x_112); -if (lean_is_exclusive(x_95)) { - lean_ctor_release(x_95, 0); - lean_ctor_release(x_95, 1); - x_113 = x_95; +x_117 = lean_ctor_get(x_94, 0); +lean_inc(x_117); +x_118 = lean_ctor_get(x_94, 1); +lean_inc(x_118); +if (lean_is_exclusive(x_94)) { + lean_ctor_release(x_94, 0); + lean_ctor_release(x_94, 1); + x_119 = x_94; } else { - lean_dec_ref(x_95); - x_113 = lean_box(0); + lean_dec_ref(x_94); + x_119 = lean_box(0); } -if (lean_is_scalar(x_113)) { - x_114 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_119)) { + x_120 = lean_alloc_ctor(1, 2, 0); } else { - x_114 = x_113; + x_120 = x_119; } -lean_ctor_set(x_114, 0, x_111); -lean_ctor_set(x_114, 1, x_112); -return x_114; +lean_ctor_set(x_120, 0, x_117); +lean_ctor_set(x_120, 1, x_118); +return x_120; } } else { -lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; -lean_dec(x_84); -lean_dec(x_80); +lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; +lean_dec(x_86); +lean_dec(x_82); lean_dec(x_14); lean_dec(x_8); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_115 = lean_ctor_get(x_92, 0); -lean_inc(x_115); -x_116 = lean_ctor_get(x_92, 1); -lean_inc(x_116); -if (lean_is_exclusive(x_92)) { - lean_ctor_release(x_92, 0); - lean_ctor_release(x_92, 1); - x_117 = x_92; +x_121 = lean_ctor_get(x_87, 0); +lean_inc(x_121); +x_122 = lean_ctor_get(x_87, 1); +lean_inc(x_122); +if (lean_is_exclusive(x_87)) { + lean_ctor_release(x_87, 0); + lean_ctor_release(x_87, 1); + x_123 = x_87; } else { - lean_dec_ref(x_92); - x_117 = lean_box(0); + lean_dec_ref(x_87); + x_123 = lean_box(0); } -if (lean_is_scalar(x_117)) { - x_118 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_123)) { + x_124 = lean_alloc_ctor(1, 2, 0); } else { - x_118 = x_117; + x_124 = x_123; } -lean_ctor_set(x_118, 0, x_115); -lean_ctor_set(x_118, 1, x_116); -return x_118; -} -} -else -{ -lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122; -lean_dec(x_84); -lean_dec(x_80); -lean_dec(x_14); -lean_dec(x_8); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -x_119 = lean_ctor_get(x_85, 0); -lean_inc(x_119); -x_120 = lean_ctor_get(x_85, 1); -lean_inc(x_120); -if (lean_is_exclusive(x_85)) { - lean_ctor_release(x_85, 0); - lean_ctor_release(x_85, 1); - x_121 = x_85; -} else { - lean_dec_ref(x_85); - x_121 = lean_box(0); -} -if (lean_is_scalar(x_121)) { - x_122 = lean_alloc_ctor(1, 2, 0); -} else { - x_122 = x_121; -} -lean_ctor_set(x_122, 0, x_119); -lean_ctor_set(x_122, 1, x_120); -return x_122; +lean_ctor_set(x_124, 0, x_121); +lean_ctor_set(x_124, 1, x_122); +return x_124; } } } else { -uint8_t x_123; +uint8_t x_125; 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_123 = !lean_is_exclusive(x_13); -if (x_123 == 0) +x_125 = !lean_is_exclusive(x_13); +if (x_125 == 0) { return x_13; } else { -lean_object* x_124; lean_object* x_125; lean_object* x_126; -x_124 = lean_ctor_get(x_13, 0); -x_125 = lean_ctor_get(x_13, 1); -lean_inc(x_125); -lean_inc(x_124); +lean_object* x_126; lean_object* x_127; lean_object* x_128; +x_126 = lean_ctor_get(x_13, 0); +x_127 = lean_ctor_get(x_13, 1); +lean_inc(x_127); +lean_inc(x_126); lean_dec(x_13); -x_126 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_126, 0, x_124); -lean_ctor_set(x_126, 1, x_125); -return x_126; +x_128 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_128, 0, x_126); +lean_ctor_set(x_128, 1, x_127); +return x_128; } } } @@ -5760,23 +5775,23 @@ lean_dec(x_4); return x_13; } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Elab_addAndCompileUnsafe___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_EXPORT lean_object* l_List_mapM___at_Lean_Elab_addAndCompileUnsafe___spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { -uint8_t x_10; lean_object* x_11; -x_10 = lean_unbox(x_1); +uint8_t x_11; lean_object* x_12; +x_11 = lean_unbox(x_1); lean_dec(x_1); -x_11 = l_List_mapM___at_Lean_Elab_addAndCompileUnsafe___spec__2(x_10, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +x_12 = l_List_mapM___at_Lean_Elab_addAndCompileUnsafe___spec__3(x_11, 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); -return x_11; +return x_12; } } -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addAndCompileUnsafe___spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addAndCompileUnsafe___spec__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { size_t x_12; size_t x_13; lean_object* x_14; @@ -5784,7 +5799,7 @@ x_12 = lean_unbox_usize(x_2); lean_dec(x_2); x_13 = lean_unbox_usize(x_3); lean_dec(x_3); -x_14 = l_Array_forInUnsafe_loop___at_Lean_Elab_addAndCompileUnsafe___spec__3(x_1, x_12, x_13, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +x_14 = l_Array_forInUnsafe_loop___at_Lean_Elab_addAndCompileUnsafe___spec__4(x_1, x_12, x_13, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); lean_dec(x_1); return x_14; } diff --git a/stage0/stdlib/Lean/Elab/PreDefinition/Main.c b/stage0/stdlib/Lean/Elab/PreDefinition/Main.c index 7847ed638b..436b0528ea 100644 --- a/stage0/stdlib/Lean/Elab/PreDefinition/Main.c +++ b/stage0/stdlib/Lean/Elab/PreDefinition/Main.c @@ -15,8 +15,6 @@ extern "C" { #endif lean_object* l_Lean_Elab_WF_TerminationBy_markAsUsed(lean_object*, lean_object*); lean_object* l_List_reverse___rarg(lean_object*); -LEAN_EXPORT lean_object* l_Std_AssocList_contains___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__13___boxed(lean_object*, lean_object*); -static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__26___closed__5; size_t lean_usize_add(size_t, size_t); lean_object* l_List_forM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwMaxRecDepthAt___at_Lean_Elab_addPreDefinitions___spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -25,6 +23,7 @@ static lean_object* l_Lean_throwMaxRecDepthAt___at_Lean_Elab_addPreDefinitions__ static lean_object* l___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_getMVarsAtPreDef___closed__1; LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_addPreDefinitions___spec__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_Elab_addPreDefinitions___spec__15(lean_object*, size_t, size_t); +LEAN_EXPORT lean_object* l_Lean_SCC_scc___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__5(lean_object*, lean_object*); lean_object* l_Lean_registerTraceClass(lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_addTermInfo_x27(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_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_betaReduceLetRecApps___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); @@ -34,34 +33,37 @@ LEAN_EXPORT lean_object* l_Lean_Elab_instInhabitedTerminationHints; lean_object* l_Lean_Meta_withLCtx___at___private_Lean_Elab_Binders_0__Lean_Elab_Term_FunBinders_elabFunBinderViews___spec__3___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_stringToMessageData(lean_object*); LEAN_EXPORT lean_object* l_Lean_throwMaxRecDepthAt___at_Lean_Elab_addPreDefinitions___spec__7(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_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___lambda__2(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_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___lambda__2(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_EXPORT lean_object* l_Std_HashMapImp_moveEntries___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__14(lean_object*, lean_object*, lean_object*); lean_object* lean_mk_empty_array_with_capacity(lean_object*); lean_object* l_Lean_mkSort(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_addPreDefinitions___spec__13___rarg(lean_object*); lean_object* l___private_Std_Data_HashMap_0__Std_numBucketsForCapacity(lean_object*); uint8_t l_Lean_Elab_Modifiers_isPartial(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_addPreDefinitions___spec__8___rarg(lean_object*); +LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__8___boxed(lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__21___lambda__1___closed__5; LEAN_EXPORT lean_object* l_Lean_Elab_throwAbortCommand___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_ensureNoUnassignedMVarsAtPreDef___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_name_mk_string(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, 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___private_Lean_Util_SCC_0__Lean_SCC_addSCC___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__21___boxed(lean_object*, lean_object*); +static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__25___closed__3; +lean_object* l_List_mapTRAux___at_Lean_Elab_addAndCompileUnsafe___spec__2(lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__1___closed__6; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__21(lean_object*, lean_object*, lean_object*, size_t, 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_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__21___lambda__4___closed__14; static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___lambda__3___closed__1; lean_object* l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_Elab_Term_quoteAutoTactic___spec__1___rarg(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__25(lean_object*, size_t, size_t, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_getMVarsAtPreDef___closed__2; +LEAN_EXPORT lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_modifyDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__18(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_throwMaxRecDepthAt___at_Lean_Elab_addPreDefinitions___spec__7___closed__2; lean_object* l_Lean_Elab_Structural_structuralRecursion(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_maxRecDepthErrorMessage; lean_object* lean_array_uset(lean_object*, size_t, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__21___lambda__4___closed__10; static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_betaReduceLetRecApps___spec__3___lambda__1___closed__1; -LEAN_EXPORT lean_object* l_List_forM___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__25(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_addSCC___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__21(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_addPreDefinitions___spec__4(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_addPreDefinitions___spec__21___lambda__1___closed__3; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__21___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*); @@ -69,43 +71,47 @@ LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitio LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_betaReduceLetRecApps___spec__3___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_addPreDefinitions___spec__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_betaReduceLetRecApps___spec__3___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_resetOnStack___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__22(lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__21___lambda__4___closed__7; lean_object* lean_st_ref_get(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_isNonRecursive___lambda__1___boxed(lean_object*, lean_object*); uint8_t lean_name_eq(lean_object*, lean_object*); +static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__25___closed__5; uint8_t l_Lean_Expr_isApp(lean_object*); static lean_object* l_Lean_Elab_throwAbortCommand___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_ensureNoUnassignedMVarsAtPreDef___spec__1___rarg___closed__1; LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_addPreDefinitions___spec__16___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Elab_abortCommandExceptionId; LEAN_EXPORT lean_object* l_Lean_Elab_throwAbortCommand___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_ensureNoUnassignedMVarsAtPreDef___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_resetOnStack___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__23___closed__1; static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__21___closed__2; -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___lambda__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_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___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*); static lean_object* l_Lean_Elab_addPreDefinitions___closed__11; lean_object* lean_array_push(lean_object*, lean_object*); lean_object* lean_array_get_size(lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__21___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_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_addPreDefinitions___spec__15___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_MessageData_ofList(lean_object*); -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___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_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___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_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__21___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*); static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___closed__4; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_betaReduceLetRecApps___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_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___closed__1; -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_isNonRecursive___lambda__1(lean_object*, lean_object*); lean_object* l_Std_mkHashSetImp___rarg(lean_object*); static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__21___closed__1; +LEAN_EXPORT lean_object* l_Std_HashMapImp_find_x3f___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__7(lean_object*, lean_object*); static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_betaReduceLetRecApps___spec__3___closed__1; +LEAN_EXPORT lean_object* l_Std_mkHashMap___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__23(lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_betaReduceLetRecApps___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_MessageData_joinSep(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2(uint8_t, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_addSCC___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__20(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2(lean_object*, uint8_t, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_usize_dec_lt(size_t, size_t); lean_object* l_liftExcept___at_Lean_Elab_liftMacroM___spec__1(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_WF_TerminationHint_markAsUsed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_ensureNoUnassignedMVarsAtPreDef(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_getDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__7___closed__1; LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_betaReduceLetRecApps(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_Elab_addPreDefinitions___spec__20(lean_object*, size_t, size_t); extern lean_object* l_Lean_levelZero; @@ -115,45 +121,46 @@ LEAN_EXPORT lean_object* l_Lean_throwMaxRecDepthAt___at_Lean_Elab_addPreDefiniti LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_addPreDefinitions___spec__4___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_addPreDefinitions___spec__20___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_addAndCompileUnsafe(lean_object*, uint8_t, 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_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__3(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*); size_t lean_uint64_to_usize(uint64_t); lean_object* l_Lean_Expr_FindImpl_findUnsafe_x3f(lean_object*, lean_object*); static lean_object* l_Lean_Elab_addPreDefinitions___closed__7; -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_throwError___at___private_Lean_Elab_Term_0__Lean_Elab_Term_applyAttributesCore___spec__1(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_addPreDefinitions___spec__1___closed__3; lean_object* l_Lean_Elab_applyAttributesOf(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_Main___hyg_2363_(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_Main___hyg_2378_(lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_addPreDefinitions___spec__17___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___closed__6; lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_addPreDefinitions___spec__10(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_addPreDefinitions___spec__21___lambda__4___closed__13; -LEAN_EXPORT lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_push___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__11(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__25___lambda__1(lean_object*, lean_object*); lean_object* l_Lean_Expr_FoldConstsImpl_fold_visit___rarg(lean_object*, size_t, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_mkInhabitantFor(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_fget(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_sccAux___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__9(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__1(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_throwAbortCommand___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_ensureNoUnassignedMVarsAtPreDef___spec__1___rarg(lean_object*); lean_object* l_Lean_addDecl___at_Lean_Elab_Term_evalExpr___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_mkSorry(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__26___lambda__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_betaReduceLetRecApps___spec__3___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT uint8_t l_Std_AssocList_contains___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__13(lean_object*, lean_object*); lean_object* l_Lean_Elab_expandMacroImpl_x3f(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__21___lambda__4___closed__12; +LEAN_EXPORT lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_push___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__10(lean_object*, lean_object*); lean_object* lean_st_ref_take(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__19(lean_object*, size_t, size_t, 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_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_addPreDefinitions___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_nat_sub(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial(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_Util_SCC_0__Lean_SCC_getDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__7(lean_object*, lean_object*); +LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__4(lean_object*, lean_object*, size_t, size_t); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Std_HashMap_insert___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__12(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_addPreDefinitions___spec__26(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_transform___at_Lean_Meta_zetaReduce___spec__1(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAsAxioms(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_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__25___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_addSCC_add___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__21___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_headBeta(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_addPreDefinitions___spec__24___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_getMVarsAtPreDef___closed__3; @@ -170,10 +177,8 @@ LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_addPreDefinitions___sp static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__1___closed__4; LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_addPreDefinitions___spec__22(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_fset(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_updateLowLinkOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__18___lambda__1(lean_object*, lean_object*); lean_object* l_Std_mkHashMapImp___rarg(lean_object*); LEAN_EXPORT lean_object* l_Lean_throwMaxRecDepthAt___at_Lean_Elab_addPreDefinitions___spec__23(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_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__27___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__21___lambda__1___closed__2; LEAN_EXPORT lean_object* l_List_mapTRAux___at_Lean_Elab_addPreDefinitions___spec__14(lean_object*, lean_object*); static lean_object* l_Lean_Elab_throwAbortCommand___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_ensureNoUnassignedMVarsAtPreDef___spec__1___rarg___closed__2; @@ -181,9 +186,13 @@ LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_addPr LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___lambda__2(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_panic___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__2(lean_object*); static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___closed__5; +LEAN_EXPORT lean_object* l_Std_mkHashMap___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__23___boxed(lean_object*); +static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__25___closed__4; uint64_t l_Lean_Name_hash(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___lambda__2___boxed__const__1; +static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__25___closed__1; lean_object* l_Lean_throwMaxRecDepthAt___at_Lean_Elab_Term_synthesizeSyntheticMVars_loop___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_AssocList_replace___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__16(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_mkConstWithLevelParams___at___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_collectMVarsAtPreDef(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescope___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__1___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -191,22 +200,21 @@ lean_object* lean_st_mk_ref(lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__21___lambda__1___closed__4; lean_object* l_instMonadControlReaderT___lambda__3___boxed(lean_object*, lean_object*, 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*); -LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__9___boxed(lean_object*, lean_object*); lean_object* l_Std_PersistentHashMap_mkEmptyEntriesArray(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_forM___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__24(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_addPreDefinitions___spec__13(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__21___lambda__5(lean_object*, size_t, lean_object*, uint8_t, 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_Util_SCC_0__Lean_SCC_updateLowLinkOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__18(lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Elab_instInhabitedPreDefinition; lean_object* l_Lean_Elab_WF_TerminationHint_find_x3f(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_addSCC_add___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__22(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___lambda__2___boxed(lean_object*, lean_object*, lean_object*); lean_object* lean_array_to_list(lean_object*, lean_object*); uint8_t l_Lean_Environment_contains(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__21___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_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_addPreDefinitions___spec__25___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux(lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux(lean_object*, uint8_t, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_collectMVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_addPreDefinitions___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__25___closed__2; LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_Elab_addPreDefinitions___spec__16(size_t, lean_object*, lean_object*, size_t, lean_object*, size_t, size_t); LEAN_EXPORT lean_object* l_Lean_throwMaxRecDepthAt___at_Lean_Elab_addPreDefinitions___spec__23___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); size_t lean_usize_modn(size_t, lean_object*); @@ -214,7 +222,6 @@ LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDe lean_object* l___private_Init_Util_0__mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Expr_isConst(lean_object*); uint8_t l_Array_isEmpty___rarg(lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_sccAux___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__10(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__21___lambda__4___boxed(lean_object**); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__21___lambda__4(lean_object*, lean_object*, uint8_t, lean_object*, 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*); static lean_object* l_Lean_Elab_addPreDefinitions___closed__6; @@ -226,9 +233,10 @@ lean_object* l_Lean_ResolveName_resolveGlobalName(lean_object*, lean_object*, le static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__21___lambda__4___closed__3; uint8_t l_Lean_Expr_isForall(lean_object*); static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__21___lambda__4___closed__5; -LEAN_EXPORT lean_object* l_Std_mkHashMap___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__24___boxed(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs(lean_object*); static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__21___lambda__4___closed__8; +LEAN_EXPORT lean_object* l_Std_HashMap_insert___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__11(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_HashMapImp_expand___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__13(lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___closed__3; size_t lean_usize_of_nat(lean_object*); lean_object* l_Lean_Elab_addAndCompilePartialRec(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -240,10 +248,9 @@ static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___ static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__21___lambda__4___closed__2; static lean_object* l_Lean_Elab_addPreDefinitions___closed__5; static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__21___lambda__4___closed__1; -LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__5(lean_object*, lean_object*, size_t, size_t); static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___closed__7; static lean_object* l_Lean_Elab_addPreDefinitions___closed__3; -LEAN_EXPORT lean_object* l_Std_HashMapImp_find_x3f___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__8(lean_object*, lean_object*); +LEAN_EXPORT uint8_t l_Std_AssocList_contains___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__12(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_addPreDefinitions___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_addPreDefinitions___spec__24(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_addPreDefinitions___spec__4___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); @@ -267,10 +274,9 @@ lean_object* lean_environment_main_module(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_addPreDefinitions___spec__4___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__19___closed__3; uint8_t lean_nat_dec_le(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_AssocList_foldlM___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__15(lean_object*, lean_object*); lean_object* l_instMonadControlT___rarg(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_modifyDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__19(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_SavedState_restore(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Std_AssocList_foldlM___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__16(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_addPreDefinitions___spec__26___rarg(lean_object*); static lean_object* l_Lean_Elab_addPreDefinitions___closed__4; static lean_object* l_Lean_Elab_addPreDefinitions___closed__8; @@ -289,31 +295,29 @@ static lean_object* l_Lean_Elab_addPreDefinitions___closed__1; LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_addPreDefinitions___spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_822____at___private_Lean_Meta_Basic_0__Lean_Meta_beqInfoCacheKey____x40_Lean_Meta_Basic___hyg_341____spec__1(lean_object*, lean_object*); lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Term_Quotation_getAntiquotationIds___spec__1(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_Util_SCC_0__Lean_SCC_addSCC_add___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__21(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_logException___at_Lean_Elab_Term_exceptionToSorry___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_nat_mul(lean_object*, lean_object*); lean_object* l_Lean_Elab_WF_TerminationHint_ensureAllUsed(lean_object*, lean_object*, lean_object*); lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_collectMVarsAtPreDef___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Std_HashMapImp_expand___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__14(lean_object*, lean_object*); uint8_t lean_nat_dec_eq(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Std_HashMapImp_moveEntries___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__15(lean_object*, lean_object*, lean_object*); lean_object* l_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_Std_AssocList_replace___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__17(lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___closed__2; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__26___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_AssocList_contains___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__12___boxed(lean_object*, lean_object*); lean_object* l_List_toArrayAux___rarg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_addPreDefinitions___boxed__const__1; LEAN_EXPORT lean_object* l_Lean_Elab_TerminationHints_terminationBy_x3f___default; -LEAN_EXPORT lean_object* l_Lean_SCC_scc___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__6(lean_object*, lean_object*); lean_object* lean_panic_fn(lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__19___closed__4; LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_addPreDefinitions___spec__4___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_addPreDefinitions___spec__11___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_resetOnStack___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__23(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_resetOnStack___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__22___lambda__1(lean_object*); lean_object* lean_mk_array(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAsAxioms___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*); -static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__26___closed__1; lean_object* l_Lean_Elab_Term_logUnassignedUsingErrorInfos(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_getDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__6(lean_object*, lean_object*); lean_object* l_instMonadControlReaderT___lambda__2(lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAsAxioms___spec__1___closed__1; extern lean_object* l_Lean_Expr_FoldConstsImpl_initCache; @@ -321,60 +325,56 @@ static lean_object* l_Lean_Elab_addPreDefinitions___closed__9; lean_object* l_Lean_indentD(lean_object*); extern lean_object* l_Lean_Elab_unsupportedSyntaxExceptionId; static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__19___closed__2; -LEAN_EXPORT lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_resetOnStack___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__23___lambda__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_addPreDefinitions___spec__26___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_addSCC___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__20___boxed(lean_object*, lean_object*); lean_object* l_Lean_Meta_whnfD(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_addPreDefinitions___spec__22___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_betaReduceLetRecApps___spec__2(lean_object*, lean_object*, size_t, size_t); -static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__26___closed__2; LEAN_EXPORT lean_object* l_Lean_Elab_addPreDefinitions___lambda__1(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__27(lean_object*, size_t, size_t, lean_object*); +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_addPreDefinitions___closed__13; static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___closed__8; lean_object* l_Lean_Elab_WF_TerminationBy_find_x3f(lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__1___closed__2; lean_object* l_Lean_Expr_getAppFn(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_addPreDefinitions___spec__4___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_resetOnStack___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__22___closed__1; LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_getMVarsAtPreDef(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_WF_expandTerminationHint___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescope___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__26___lambda__1___boxed(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_forM___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__19(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_isNonRecursive___boxed(lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_addPreDefinitions___spec__3(size_t, size_t, size_t, lean_object*); +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__25___lambda__1___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_addPreDefinitions___spec__11(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_Lean_Elab_addPreDefinitions___spec__18___boxed(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Std_mkHashMap___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__24(lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_getDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__6___closed__1; static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__21___lambda__4___closed__6; -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__4(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_updateLowLinkOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__17___lambda__1(lean_object*, lean_object*); static lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_addPreDefinitions___spec__8___rarg___closed__1; LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_addPreDefinitions___spec__13___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_setMCtx(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_indentExpr(lean_object*); -static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__26___closed__3; static lean_object* l_Lean_Elab_addPreDefinitions___closed__2; -LEAN_EXPORT lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_addSCC_add___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__22___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___lambda__3(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_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___lambda__3(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_Lean_Elab_addPreDefinitions___closed__12; lean_object* l_Lean_mkConst(lean_object*, lean_object*); lean_object* l_Lean_Expr_constName_x21(lean_object*); +LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__8(lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_saveState___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_WF_registerEqnsInfo___spec__1(size_t, size_t, lean_object*); -LEAN_EXPORT lean_object* l_List_mapTRAux___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__3(lean_object*, lean_object*); -static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__26___closed__4; +LEAN_EXPORT lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_updateLowLinkOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__17(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_addPreDefinitions___spec__25(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_withSaveInfoContext___at___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_TerminationHints_decreasingBy_x3f___default; lean_object* l_instMonadControlT__1___rarg(lean_object*); uint8_t l___private_Lean_Elab_DefView_0__Lean_Elab_beqDefKind____x40_Lean_Elab_DefView___hyg_15_(uint8_t, uint8_t); static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitions___spec__1___closed__1; -LEAN_EXPORT lean_object* l_List_forM___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__20(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_Elab_addPreDefinitions___spec__17(lean_object*, size_t, size_t); LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_addPreDefinitions___spec__4___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_getBetterRef(lean_object*, lean_object*); uint8_t lean_string_dec_eq(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__9(lean_object*, lean_object*); uint8_t lean_nat_dec_lt(lean_object*, lean_object*); static lean_object* _init_l_Lean_Elab_TerminationHints_terminationBy_x3f___default() { _start: @@ -484,181 +484,184 @@ x_2 = lean_alloc_closure((void*)(l_Lean_Meta_forallTelescope___at___private_Lean return x_2; } } -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { -lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; uint8_t x_15; lean_object* x_16; uint8_t x_17; uint8_t x_18; lean_object* x_19; -x_11 = lean_ctor_get(x_1, 0); -x_12 = lean_ctor_get(x_1, 1); -x_13 = lean_ctor_get(x_1, 2); -x_14 = lean_ctor_get(x_1, 3); -x_15 = 3; +lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; uint8_t x_16; lean_object* x_17; uint8_t x_18; uint8_t x_19; lean_object* x_20; +x_12 = lean_ctor_get(x_1, 0); +x_13 = lean_ctor_get(x_1, 1); +x_14 = lean_ctor_get(x_1, 2); +x_15 = lean_ctor_get(x_1, 3); +x_16 = 3; +lean_inc(x_15); lean_inc(x_14); lean_inc(x_13); lean_inc(x_12); -lean_inc(x_11); -x_16 = lean_alloc_ctor(0, 6, 1); -lean_ctor_set(x_16, 0, x_11); -lean_ctor_set(x_16, 1, x_12); -lean_ctor_set(x_16, 2, x_13); -lean_ctor_set(x_16, 3, x_14); -lean_ctor_set(x_16, 4, x_2); -lean_ctor_set(x_16, 5, x_3); -lean_ctor_set_uint8(x_16, sizeof(void*)*6, x_15); -x_17 = 0; -x_18 = 1; -x_19 = l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux(x_16, x_17, x_18, x_4, x_5, x_6, x_7, x_8, x_9, x_10); -return x_19; +x_17 = lean_alloc_ctor(0, 6, 1); +lean_ctor_set(x_17, 0, x_12); +lean_ctor_set(x_17, 1, x_13); +lean_ctor_set(x_17, 2, x_14); +lean_ctor_set(x_17, 3, x_15); +lean_ctor_set(x_17, 4, x_2); +lean_ctor_set(x_17, 5, x_4); +lean_ctor_set_uint8(x_17, sizeof(void*)*6, x_16); +x_18 = 0; +x_19 = 1; +x_20 = l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux(x_17, x_18, x_3, x_19, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +return x_20; } } -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___lambda__2(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, uint8_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { _start: { -if (x_3 == 0) +if (x_4 == 0) { -lean_object* x_13; lean_object* x_14; -x_13 = lean_ctor_get(x_1, 3); -lean_inc(x_13); +lean_object* x_14; lean_object* x_15; +x_14 = lean_ctor_get(x_1, 3); +lean_inc(x_14); +lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); -lean_inc(x_8); -x_14 = l_Lean_Elab_mkInhabitantFor(x_13, x_4, x_5, x_8, x_9, x_10, x_11, x_12); -if (lean_obj_tag(x_14) == 0) +x_15 = l_Lean_Elab_mkInhabitantFor(x_14, x_5, x_6, x_9, x_10, x_11, x_12, x_13); +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 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___lambda__1(x_1, x_2, x_15, x_6, x_7, x_8, x_9, x_10, x_11, x_16); +x_17 = lean_ctor_get(x_15, 1); +lean_inc(x_17); +lean_dec(x_15); +x_18 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___lambda__1(x_1, x_2, x_3, x_16, x_7, x_8, x_9, x_10, x_11, x_12, x_17); lean_dec(x_1); -return x_17; +return x_18; } else { -uint8_t x_18; +uint8_t x_19; +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_3); lean_dec(x_2); lean_dec(x_1); -x_18 = !lean_is_exclusive(x_14); -if (x_18 == 0) +x_19 = !lean_is_exclusive(x_15); +if (x_19 == 0) { -return x_14; +return x_15; } 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_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_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; +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_22; lean_object* x_23; -x_22 = 1; +uint8_t x_23; lean_object* x_24; +x_23 = 1; +lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); -lean_inc(x_8); -x_23 = l_Lean_Meta_mkSorry(x_5, x_22, x_8, x_9, x_10, x_11, x_12); -if (lean_obj_tag(x_23) == 0) +x_24 = l_Lean_Meta_mkSorry(x_6, x_23, x_9, x_10, x_11, x_12, x_13); +if (lean_obj_tag(x_24) == 0) { -lean_object* x_24; lean_object* x_25; uint8_t x_26; uint8_t x_27; lean_object* x_28; -x_24 = lean_ctor_get(x_23, 0); -lean_inc(x_24); -x_25 = lean_ctor_get(x_23, 1); +lean_object* x_25; lean_object* x_26; uint8_t x_27; uint8_t x_28; lean_object* x_29; +x_25 = lean_ctor_get(x_24, 0); lean_inc(x_25); -lean_dec(x_23); -x_26 = 0; -x_27 = 1; -x_28 = l_Lean_Meta_mkLambdaFVars(x_4, x_24, x_26, x_22, x_27, x_8, x_9, x_10, x_11, x_25); -if (lean_obj_tag(x_28) == 0) +x_26 = lean_ctor_get(x_24, 1); +lean_inc(x_26); +lean_dec(x_24); +x_27 = 0; +x_28 = 1; +x_29 = l_Lean_Meta_mkLambdaFVars(x_5, x_25, x_27, x_23, x_28, x_9, x_10, x_11, x_12, 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); -x_31 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___lambda__1(x_1, x_2, x_29, x_6, x_7, x_8, x_9, x_10, x_11, x_30); +x_31 = lean_ctor_get(x_29, 1); +lean_inc(x_31); +lean_dec(x_29); +x_32 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___lambda__1(x_1, x_2, x_3, x_30, x_7, x_8, x_9, x_10, x_11, x_12, x_31); lean_dec(x_1); -return x_31; +return x_32; } else { -uint8_t x_32; +uint8_t x_33; +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_3); lean_dec(x_2); lean_dec(x_1); -x_32 = !lean_is_exclusive(x_28); -if (x_32 == 0) +x_33 = !lean_is_exclusive(x_29); +if (x_33 == 0) { -return x_28; +return x_29; } else { -lean_object* x_33; lean_object* x_34; lean_object* x_35; -x_33 = lean_ctor_get(x_28, 0); -x_34 = lean_ctor_get(x_28, 1); +lean_object* x_34; lean_object* x_35; lean_object* x_36; +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_inc(x_33); -lean_dec(x_28); -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_dec(x_29); +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; } } } else { -uint8_t x_36; +uint8_t x_37; +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_4); +lean_dec(x_5); +lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_36 = !lean_is_exclusive(x_23); -if (x_36 == 0) +x_37 = !lean_is_exclusive(x_24); +if (x_37 == 0) { -return x_23; +return x_24; } else { -lean_object* x_37; lean_object* x_38; lean_object* x_39; -x_37 = lean_ctor_get(x_23, 0); -x_38 = lean_ctor_get(x_23, 1); +lean_object* x_38; lean_object* x_39; lean_object* x_40; +x_38 = lean_ctor_get(x_24, 0); +x_39 = lean_ctor_get(x_24, 1); +lean_inc(x_39); lean_inc(x_38); -lean_inc(x_37); -lean_dec(x_23); -x_39 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_39, 0, x_37); -lean_ctor_set(x_39, 1, x_38); -return x_39; +lean_dec(x_24); +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; } } } @@ -674,67 +677,71 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___lambda__3(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___lambda__3(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, 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_object* x_13; lean_object* x_14; -x_11 = lean_ctor_get(x_1, 4); -lean_inc(x_11); -x_12 = lean_box(x_2); -lean_inc(x_11); -x_13 = lean_alloc_closure((void*)(l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___lambda__2___boxed), 12, 3); -lean_closure_set(x_13, 0, x_1); -lean_closure_set(x_13, 1, x_11); -lean_closure_set(x_13, 2, x_12); -x_14 = l_Lean_Meta_forallTelescope___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__1___rarg(x_11, x_13, x_4, x_5, x_6, x_7, x_8, x_9, x_10); -if (lean_obj_tag(x_14) == 0) +lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; +x_12 = lean_array_to_list(lean_box(0), x_1); +x_13 = lean_box(0); +x_14 = l_List_mapTRAux___at_Lean_Elab_addAndCompileUnsafe___spec__2(x_12, x_13); +x_15 = lean_ctor_get(x_2, 4); +lean_inc(x_15); +x_16 = lean_box(x_3); +lean_inc(x_15); +x_17 = lean_alloc_closure((void*)(l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___lambda__2___boxed), 13, 4); +lean_closure_set(x_17, 0, x_2); +lean_closure_set(x_17, 1, x_15); +lean_closure_set(x_17, 2, x_14); +lean_closure_set(x_17, 3, x_16); +x_18 = l_Lean_Meta_forallTelescope___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__1___rarg(x_15, x_17, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +if (lean_obj_tag(x_18) == 0) { -uint8_t x_15; -x_15 = !lean_is_exclusive(x_14); -if (x_15 == 0) +uint8_t x_19; +x_19 = !lean_is_exclusive(x_18); +if (x_19 == 0) { -lean_object* x_16; lean_object* x_17; -x_16 = lean_ctor_get(x_14, 0); -lean_dec(x_16); -x_17 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___lambda__3___closed__1; -lean_ctor_set(x_14, 0, x_17); -return x_14; -} -else -{ -lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_18 = lean_ctor_get(x_14, 1); -lean_inc(x_18); -lean_dec(x_14); -x_19 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___lambda__3___closed__1; -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 -{ -uint8_t x_21; -x_21 = !lean_is_exclusive(x_14); -if (x_21 == 0) -{ -return x_14; +lean_object* x_20; lean_object* x_21; +x_20 = lean_ctor_get(x_18, 0); +lean_dec(x_20); +x_21 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___lambda__3___closed__1; +lean_ctor_set(x_18, 0, x_21); +return x_18; } 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); +x_22 = lean_ctor_get(x_18, 1); 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); +lean_dec(x_18); +x_23 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___lambda__3___closed__1; +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; } } +else +{ +uint8_t x_25; +x_25 = !lean_is_exclusive(x_18); +if (x_25 == 0) +{ +return x_18; +} +else +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_26 = lean_ctor_get(x_18, 0); +x_27 = lean_ctor_get(x_18, 1); +lean_inc(x_27); +lean_inc(x_26); +lean_dec(x_18); +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; +} +} } } static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___closed__1() { @@ -807,281 +814,288 @@ x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2(uint8_t x_1, lean_object* x_2, size_t x_3, size_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2(lean_object* x_1, uint8_t x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { _start: { -uint8_t x_13; -x_13 = lean_usize_dec_lt(x_4, x_3); -if (x_13 == 0) +uint8_t x_14; +x_14 = lean_usize_dec_lt(x_5, x_4); +if (x_14 == 0) { -lean_object* x_14; +lean_object* x_15; +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_1); +x_15 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_15, 0, x_6); +lean_ctor_set(x_15, 1, x_13); +return x_15; +} +else +{ +lean_object* x_16; lean_object* x_17; uint8_t x_18; lean_object* x_19; lean_object* x_65; lean_object* x_66; lean_object* x_67; uint8_t x_68; lean_dec(x_6); -x_14 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_14, 0, x_5); -lean_ctor_set(x_14, 1, x_12); -return x_14; -} -else -{ -lean_object* x_15; lean_object* x_16; uint8_t x_17; lean_object* x_18; lean_object* x_64; lean_object* x_65; lean_object* x_66; uint8_t x_67; -lean_dec(x_5); -x_15 = lean_array_uget(x_2, x_4); -x_16 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___closed__4; -x_64 = lean_st_ref_get(x_11, x_12); -x_65 = lean_ctor_get(x_64, 0); -lean_inc(x_65); -x_66 = lean_ctor_get(x_65, 3); +x_16 = lean_array_uget(x_3, x_5); +x_17 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___closed__4; +x_65 = lean_st_ref_get(x_12, x_13); +x_66 = lean_ctor_get(x_65, 0); lean_inc(x_66); -lean_dec(x_65); -x_67 = lean_ctor_get_uint8(x_66, sizeof(void*)*1); +x_67 = lean_ctor_get(x_66, 3); +lean_inc(x_67); lean_dec(x_66); -if (x_67 == 0) +x_68 = lean_ctor_get_uint8(x_67, sizeof(void*)*1); +lean_dec(x_67); +if (x_68 == 0) { -lean_object* x_68; uint8_t x_69; -x_68 = lean_ctor_get(x_64, 1); -lean_inc(x_68); -lean_dec(x_64); -x_69 = 0; -x_17 = x_69; -x_18 = x_68; -goto block_63; +lean_object* x_69; uint8_t x_70; +x_69 = lean_ctor_get(x_65, 1); +lean_inc(x_69); +lean_dec(x_65); +x_70 = 0; +x_18 = x_70; +x_19 = x_69; +goto block_64; } else { -lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; uint8_t x_74; -x_70 = lean_ctor_get(x_64, 1); -lean_inc(x_70); -lean_dec(x_64); -x_71 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_16, x_6, x_7, x_8, x_9, x_10, x_11, x_70); -x_72 = lean_ctor_get(x_71, 0); -lean_inc(x_72); -x_73 = lean_ctor_get(x_71, 1); +lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; uint8_t x_75; +x_71 = lean_ctor_get(x_65, 1); +lean_inc(x_71); +lean_dec(x_65); +x_72 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_17, x_7, x_8, x_9, x_10, x_11, x_12, x_71); +x_73 = lean_ctor_get(x_72, 0); lean_inc(x_73); -lean_dec(x_71); -x_74 = lean_unbox(x_72); +x_74 = lean_ctor_get(x_72, 1); +lean_inc(x_74); lean_dec(x_72); -x_17 = x_74; -x_18 = x_73; -goto block_63; +x_75 = lean_unbox(x_73); +lean_dec(x_73); +x_18 = x_75; +x_19 = x_74; +goto block_64; } -block_63: +block_64: { -if (x_17 == 0) +if (x_18 == 0) { -lean_object* x_19; lean_object* x_20; -x_19 = lean_box(0); +lean_object* x_20; lean_object* x_21; +x_20 = lean_box(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); -x_20 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___lambda__3(x_15, x_1, x_19, x_6, x_7, x_8, x_9, x_10, x_11, x_18); -if (lean_obj_tag(x_20) == 0) -{ -lean_object* x_21; -x_21 = lean_ctor_get(x_20, 0); -lean_inc(x_21); +lean_inc(x_1); +x_21 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___lambda__3(x_1, x_16, x_2, x_20, x_7, x_8, x_9, x_10, x_11, x_12, x_19); if (lean_obj_tag(x_21) == 0) { -uint8_t x_22; +lean_object* x_22; +x_22 = lean_ctor_get(x_21, 0); +lean_inc(x_22); +if (lean_obj_tag(x_22) == 0) +{ +uint8_t x_23; +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); -x_22 = !lean_is_exclusive(x_20); -if (x_22 == 0) +lean_dec(x_1); +x_23 = !lean_is_exclusive(x_21); +if (x_23 == 0) { -lean_object* x_23; lean_object* x_24; -x_23 = lean_ctor_get(x_20, 0); -lean_dec(x_23); +lean_object* x_24; lean_object* x_25; x_24 = lean_ctor_get(x_21, 0); -lean_inc(x_24); -lean_dec(x_21); -lean_ctor_set(x_20, 0, x_24); -return x_20; +lean_dec(x_24); +x_25 = lean_ctor_get(x_22, 0); +lean_inc(x_25); +lean_dec(x_22); +lean_ctor_set(x_21, 0, x_25); +return x_21; } else { -lean_object* x_25; lean_object* x_26; lean_object* x_27; -x_25 = lean_ctor_get(x_20, 1); -lean_inc(x_25); -lean_dec(x_20); -x_26 = lean_ctor_get(x_21, 0); +lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_26 = lean_ctor_get(x_21, 1); lean_inc(x_26); lean_dec(x_21); -x_27 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_27, 0, x_26); -lean_ctor_set(x_27, 1, x_25); -return x_27; +x_27 = lean_ctor_get(x_22, 0); +lean_inc(x_27); +lean_dec(x_22); +x_28 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_28, 0, x_27); +lean_ctor_set(x_28, 1, x_26); +return x_28; } } else { -lean_object* x_28; lean_object* x_29; size_t x_30; size_t x_31; -x_28 = lean_ctor_get(x_20, 1); -lean_inc(x_28); -lean_dec(x_20); -x_29 = lean_ctor_get(x_21, 0); +lean_object* x_29; lean_object* x_30; size_t x_31; size_t x_32; +x_29 = lean_ctor_get(x_21, 1); lean_inc(x_29); lean_dec(x_21); -x_30 = 1; -x_31 = lean_usize_add(x_4, x_30); -x_4 = x_31; -x_5 = x_29; -x_12 = x_28; +x_30 = lean_ctor_get(x_22, 0); +lean_inc(x_30); +lean_dec(x_22); +x_31 = 1; +x_32 = lean_usize_add(x_5, x_31); +x_5 = x_32; +x_6 = x_30; +x_13 = x_29; goto _start; } } else { -uint8_t x_33; +uint8_t x_34; +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); -x_33 = !lean_is_exclusive(x_20); -if (x_33 == 0) +lean_dec(x_1); +x_34 = !lean_is_exclusive(x_21); +if (x_34 == 0) { -return x_20; +return x_21; } else { -lean_object* x_34; lean_object* x_35; lean_object* x_36; -x_34 = lean_ctor_get(x_20, 0); -x_35 = lean_ctor_get(x_20, 1); +lean_object* x_35; lean_object* x_36; lean_object* x_37; +x_35 = lean_ctor_get(x_21, 0); +x_36 = lean_ctor_get(x_21, 1); +lean_inc(x_36); lean_inc(x_35); -lean_inc(x_34); -lean_dec(x_20); -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_21); +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 { -lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; -x_37 = lean_ctor_get(x_15, 3); -lean_inc(x_37); -x_38 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_38, 0, x_37); -x_39 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___closed__6; -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_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___closed__8; -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_addTrace___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__1(x_16, x_42, x_6, x_7, x_8, x_9, x_10, x_11, x_18); -x_44 = lean_ctor_get(x_43, 0); -lean_inc(x_44); -x_45 = lean_ctor_get(x_43, 1); +lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; +x_38 = lean_ctor_get(x_16, 3); +lean_inc(x_38); +x_39 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_39, 0, x_38); +x_40 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___closed__6; +x_41 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_41, 0, x_40); +lean_ctor_set(x_41, 1, x_39); +x_42 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___closed__8; +x_43 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_43, 0, x_41); +lean_ctor_set(x_43, 1, x_42); +x_44 = l_Lean_addTrace___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__1(x_17, x_43, x_7, x_8, x_9, x_10, x_11, x_12, x_19); +x_45 = lean_ctor_get(x_44, 0); lean_inc(x_45); -lean_dec(x_43); +x_46 = lean_ctor_get(x_44, 1); +lean_inc(x_46); +lean_dec(x_44); +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); -x_46 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___lambda__3(x_15, x_1, x_44, x_6, x_7, x_8, x_9, x_10, x_11, x_45); -lean_dec(x_44); -if (lean_obj_tag(x_46) == 0) -{ -lean_object* x_47; -x_47 = lean_ctor_get(x_46, 0); -lean_inc(x_47); +lean_inc(x_1); +x_47 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___lambda__3(x_1, x_16, x_2, x_45, x_7, x_8, x_9, x_10, x_11, x_12, x_46); +lean_dec(x_45); if (lean_obj_tag(x_47) == 0) { -uint8_t x_48; +lean_object* x_48; +x_48 = lean_ctor_get(x_47, 0); +lean_inc(x_48); +if (lean_obj_tag(x_48) == 0) +{ +uint8_t x_49; +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); -x_48 = !lean_is_exclusive(x_46); -if (x_48 == 0) +lean_dec(x_1); +x_49 = !lean_is_exclusive(x_47); +if (x_49 == 0) { -lean_object* x_49; lean_object* x_50; -x_49 = lean_ctor_get(x_46, 0); -lean_dec(x_49); +lean_object* x_50; lean_object* x_51; x_50 = lean_ctor_get(x_47, 0); -lean_inc(x_50); -lean_dec(x_47); -lean_ctor_set(x_46, 0, x_50); -return x_46; +lean_dec(x_50); +x_51 = lean_ctor_get(x_48, 0); +lean_inc(x_51); +lean_dec(x_48); +lean_ctor_set(x_47, 0, x_51); +return x_47; } else { -lean_object* x_51; lean_object* x_52; lean_object* x_53; -x_51 = lean_ctor_get(x_46, 1); -lean_inc(x_51); -lean_dec(x_46); -x_52 = lean_ctor_get(x_47, 0); +lean_object* x_52; lean_object* x_53; lean_object* x_54; +x_52 = lean_ctor_get(x_47, 1); lean_inc(x_52); lean_dec(x_47); -x_53 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_53, 0, x_52); -lean_ctor_set(x_53, 1, x_51); -return x_53; +x_53 = lean_ctor_get(x_48, 0); +lean_inc(x_53); +lean_dec(x_48); +x_54 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_54, 0, x_53); +lean_ctor_set(x_54, 1, x_52); +return x_54; } } else { -lean_object* x_54; lean_object* x_55; size_t x_56; size_t x_57; -x_54 = lean_ctor_get(x_46, 1); -lean_inc(x_54); -lean_dec(x_46); -x_55 = lean_ctor_get(x_47, 0); +lean_object* x_55; lean_object* x_56; size_t x_57; size_t x_58; +x_55 = lean_ctor_get(x_47, 1); lean_inc(x_55); lean_dec(x_47); -x_56 = 1; -x_57 = lean_usize_add(x_4, x_56); -x_4 = x_57; -x_5 = x_55; -x_12 = x_54; +x_56 = lean_ctor_get(x_48, 0); +lean_inc(x_56); +lean_dec(x_48); +x_57 = 1; +x_58 = lean_usize_add(x_5, x_57); +x_5 = x_58; +x_6 = x_56; +x_13 = x_55; goto _start; } } else { -uint8_t x_59; +uint8_t x_60; +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); -x_59 = !lean_is_exclusive(x_46); -if (x_59 == 0) +lean_dec(x_1); +x_60 = !lean_is_exclusive(x_47); +if (x_60 == 0) { -return x_46; +return x_47; } else { -lean_object* x_60; lean_object* x_61; lean_object* x_62; -x_60 = lean_ctor_get(x_46, 0); -x_61 = lean_ctor_get(x_46, 1); +lean_object* x_61; lean_object* x_62; lean_object* x_63; +x_61 = lean_ctor_get(x_47, 0); +x_62 = lean_ctor_get(x_47, 1); +lean_inc(x_62); lean_inc(x_61); -lean_inc(x_60); -lean_dec(x_46); -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_dec(x_47); +x_63 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_63, 0, x_61); +lean_ctor_set(x_63, 1, x_62); +return x_63; } } } @@ -1104,7 +1118,8 @@ lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); -x_14 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2(x_2, x_1, x_11, x_12, x_13, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +lean_inc(x_1); +x_14 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2(x_1, x_2, x_1, x_11, x_12, x_13, x_3, x_4, x_5, x_6, x_7, x_8, x_9); if (lean_obj_tag(x_14) == 0) { lean_object* x_15; lean_object* x_16; @@ -1145,49 +1160,49 @@ return x_20; } } } -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { -lean_object* x_11; -x_11 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +lean_object* x_12; +x_12 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); lean_dec(x_1); -return x_11; -} -} -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___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: -{ -uint8_t x_13; lean_object* x_14; -x_13 = lean_unbox(x_3); -lean_dec(x_3); -x_14 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___lambda__2(x_1, x_2, x_13, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); -return x_14; -} -} -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___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) { -_start: -{ -uint8_t x_11; lean_object* x_12; -x_11 = lean_unbox(x_2); -lean_dec(x_2); -x_12 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___lambda__3(x_1, x_11, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); -lean_dec(x_3); return x_12; } } -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___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, lean_object* x_11, lean_object* x_12) { +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___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) { _start: { -uint8_t x_13; size_t x_14; size_t x_15; lean_object* x_16; -x_13 = lean_unbox(x_1); -lean_dec(x_1); -x_14 = lean_unbox_usize(x_3); +uint8_t x_14; lean_object* x_15; +x_14 = lean_unbox(x_4); +lean_dec(x_4); +x_15 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___lambda__2(x_1, x_2, x_3, x_14, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +return x_15; +} +} +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___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) { +_start: +{ +uint8_t x_12; lean_object* x_13; +x_12 = lean_unbox(x_3); lean_dec(x_3); +x_13 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___lambda__3(x_1, x_2, x_12, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +lean_dec(x_4); +return x_13; +} +} +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___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, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +_start: +{ +uint8_t x_14; size_t x_15; size_t x_16; lean_object* x_17; +x_14 = lean_unbox(x_2); +lean_dec(x_2); x_15 = lean_unbox_usize(x_4); lean_dec(x_4); -x_16 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2(x_13, x_2, x_14, x_15, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); -lean_dec(x_2); -return x_16; +x_16 = lean_unbox_usize(x_5); +lean_dec(x_5); +x_17 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2(x_1, x_14, x_3, x_15, x_16, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +lean_dec(x_3); +return x_17; } } LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { @@ -1320,59 +1335,7 @@ x_3 = lean_panic_fn(x_2, x_1); return x_3; } } -LEAN_EXPORT lean_object* l_List_mapTRAux___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__3(lean_object* x_1, lean_object* x_2) { -_start: -{ -if (lean_obj_tag(x_1) == 0) -{ -lean_object* x_3; -x_3 = l_List_reverse___rarg(x_2); -return x_3; -} -else -{ -uint8_t x_4; -x_4 = !lean_is_exclusive(x_1); -if (x_4 == 0) -{ -lean_object* x_5; lean_object* x_6; lean_object* x_7; -x_5 = lean_ctor_get(x_1, 0); -x_6 = lean_ctor_get(x_1, 1); -x_7 = lean_ctor_get(x_5, 3); -lean_inc(x_7); -lean_dec(x_5); -lean_ctor_set(x_1, 1, x_2); -lean_ctor_set(x_1, 0, x_7); -{ -lean_object* _tmp_0 = x_6; -lean_object* _tmp_1 = x_1; -x_1 = _tmp_0; -x_2 = _tmp_1; -} -goto _start; -} -else -{ -lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; -x_9 = lean_ctor_get(x_1, 0); -x_10 = lean_ctor_get(x_1, 1); -lean_inc(x_10); -lean_inc(x_9); -lean_dec(x_1); -x_11 = lean_ctor_get(x_9, 3); -lean_inc(x_11); -lean_dec(x_9); -x_12 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_12, 0, x_11); -lean_ctor_set(x_12, 1, x_2); -x_1 = x_10; -x_2 = x_12; -goto _start; -} -} -} -} -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6) { +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__3(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; @@ -1418,7 +1381,7 @@ return x_16; } } } -LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__5(lean_object* x_1, lean_object* x_2, size_t x_3, size_t x_4) { +LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__4(lean_object* x_1, lean_object* x_2, size_t x_3, size_t x_4) { _start: { uint8_t x_5; @@ -1455,7 +1418,7 @@ return x_13; } } } -LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__9(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__8(lean_object* x_1, lean_object* x_2) { _start: { if (lean_obj_tag(x_2) == 0) @@ -1487,7 +1450,7 @@ return x_9; } } } -LEAN_EXPORT lean_object* l_Std_HashMapImp_find_x3f___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__8(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l_Std_HashMapImp_find_x3f___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__7(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; lean_object* x_4; uint64_t x_5; size_t x_6; size_t x_7; lean_object* x_8; lean_object* x_9; @@ -1501,13 +1464,13 @@ x_7 = lean_usize_modn(x_6, x_4); lean_dec(x_4); x_8 = lean_array_uget(x_3, x_7); lean_dec(x_3); -x_9 = l_Std_AssocList_find_x3f___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__9(x_2, x_8); +x_9 = l_Std_AssocList_find_x3f___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__8(x_2, x_8); lean_dec(x_8); lean_dec(x_2); return x_9; } } -static lean_object* _init_l___private_Lean_Util_SCC_0__Lean_SCC_getDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__7___closed__1() { +static lean_object* _init_l___private_Lean_Util_SCC_0__Lean_SCC_getDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__6___closed__1() { _start: { lean_object* x_1; uint8_t x_2; lean_object* x_3; @@ -1520,17 +1483,17 @@ lean_ctor_set_uint8(x_3, sizeof(void*)*2, x_2); return x_3; } } -LEAN_EXPORT lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_getDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__7(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_getDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__6(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; lean_object* x_4; x_3 = lean_ctor_get(x_2, 2); lean_inc(x_3); -x_4 = l_Std_HashMapImp_find_x3f___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__8(x_3, x_1); +x_4 = l_Std_HashMapImp_find_x3f___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__7(x_3, x_1); if (lean_obj_tag(x_4) == 0) { lean_object* x_5; lean_object* x_6; -x_5 = l___private_Lean_Util_SCC_0__Lean_SCC_getDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__7___closed__1; +x_5 = l___private_Lean_Util_SCC_0__Lean_SCC_getDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__6___closed__1; x_6 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_6, 0, x_5); lean_ctor_set(x_6, 1, x_2); @@ -1549,7 +1512,7 @@ return x_8; } } } -LEAN_EXPORT uint8_t l_Std_AssocList_contains___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__13(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT uint8_t l_Std_AssocList_contains___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__12(lean_object* x_1, lean_object* x_2) { _start: { if (lean_obj_tag(x_2) == 0) @@ -1578,7 +1541,7 @@ return x_8; } } } -LEAN_EXPORT lean_object* l_Std_AssocList_foldlM___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__16(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l_Std_AssocList_foldlM___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__15(lean_object* x_1, lean_object* x_2) { _start: { if (lean_obj_tag(x_2) == 0) @@ -1634,7 +1597,7 @@ goto _start; } } } -LEAN_EXPORT lean_object* l_Std_HashMapImp_moveEntries___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__15(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l_Std_HashMapImp_moveEntries___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__14(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { lean_object* x_4; uint8_t x_5; @@ -1653,7 +1616,7 @@ lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_obj x_6 = lean_array_fget(x_2, x_1); x_7 = lean_box(0); x_8 = lean_array_fset(x_2, x_1, x_7); -x_9 = l_Std_AssocList_foldlM___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__16(x_3, x_6); +x_9 = l_Std_AssocList_foldlM___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__15(x_3, x_6); x_10 = lean_unsigned_to_nat(1u); x_11 = lean_nat_add(x_1, x_10); lean_dec(x_1); @@ -1664,7 +1627,7 @@ goto _start; } } } -LEAN_EXPORT lean_object* l_Std_HashMapImp_expand___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__14(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l_Std_HashMapImp_expand___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__13(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; @@ -1675,14 +1638,14 @@ lean_dec(x_3); x_6 = lean_box(0); x_7 = lean_mk_array(x_5, x_6); x_8 = lean_unsigned_to_nat(0u); -x_9 = l_Std_HashMapImp_moveEntries___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__15(x_8, x_2, x_7); +x_9 = l_Std_HashMapImp_moveEntries___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__14(x_8, x_2, x_7); x_10 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_10, 0, x_1); lean_ctor_set(x_10, 1, x_9); return x_10; } } -LEAN_EXPORT lean_object* l_Std_AssocList_replace___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__17(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l_Std_AssocList_replace___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__16(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { if (lean_obj_tag(x_3) == 0) @@ -1707,7 +1670,7 @@ x_9 = lean_name_eq(x_6, x_1); if (x_9 == 0) { lean_object* x_10; -x_10 = l_Std_AssocList_replace___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__17(x_1, x_2, x_8); +x_10 = l_Std_AssocList_replace___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__16(x_1, x_2, x_8); lean_ctor_set(x_3, 2, x_10); return x_3; } @@ -1734,7 +1697,7 @@ x_14 = lean_name_eq(x_11, x_1); if (x_14 == 0) { lean_object* x_15; lean_object* x_16; -x_15 = l_Std_AssocList_replace___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__17(x_1, x_2, x_13); +x_15 = l_Std_AssocList_replace___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__16(x_1, x_2, x_13); x_16 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_16, 0, x_11); lean_ctor_set(x_16, 1, x_12); @@ -1756,7 +1719,7 @@ return x_17; } } } -LEAN_EXPORT lean_object* l_Std_HashMap_insert___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__12(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l_Std_HashMap_insert___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__11(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { uint8_t x_4; @@ -1771,7 +1734,7 @@ x_8 = l_Lean_Name_hash(x_2); x_9 = lean_uint64_to_usize(x_8); x_10 = lean_usize_modn(x_9, x_7); x_11 = lean_array_uget(x_6, x_10); -x_12 = l_Std_AssocList_contains___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__13(x_2, x_11); +x_12 = l_Std_AssocList_contains___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__12(x_2, 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; uint8_t x_18; @@ -1791,7 +1754,7 @@ if (x_18 == 0) { lean_object* x_19; lean_free_object(x_1); -x_19 = l_Std_HashMapImp_expand___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__14(x_14, x_16); +x_19 = l_Std_HashMapImp_expand___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__13(x_14, x_16); return x_19; } else @@ -1805,7 +1768,7 @@ else { lean_object* x_20; lean_object* x_21; lean_dec(x_7); -x_20 = l_Std_AssocList_replace___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__17(x_2, x_3, x_11); +x_20 = l_Std_AssocList_replace___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__16(x_2, x_3, x_11); x_21 = lean_array_uset(x_6, x_10, x_20); lean_ctor_set(x_1, 1, x_21); return x_1; @@ -1824,7 +1787,7 @@ x_25 = l_Lean_Name_hash(x_2); x_26 = lean_uint64_to_usize(x_25); x_27 = lean_usize_modn(x_26, x_24); x_28 = lean_array_uget(x_23, x_27); -x_29 = l_Std_AssocList_contains___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__13(x_2, x_28); +x_29 = l_Std_AssocList_contains___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__12(x_2, x_28); if (x_29 == 0) { lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; uint8_t x_35; @@ -1843,7 +1806,7 @@ lean_dec(x_34); if (x_35 == 0) { lean_object* x_36; -x_36 = l_Std_HashMapImp_expand___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__14(x_31, x_33); +x_36 = l_Std_HashMapImp_expand___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__13(x_31, x_33); return x_36; } else @@ -1859,7 +1822,7 @@ else { lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_dec(x_24); -x_38 = l_Std_AssocList_replace___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__17(x_2, x_3, x_28); +x_38 = l_Std_AssocList_replace___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__16(x_2, x_3, x_28); x_39 = lean_array_uset(x_23, x_27, x_38); x_40 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_40, 0, x_22); @@ -1869,7 +1832,7 @@ return x_40; } } } -LEAN_EXPORT lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_push___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__11(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_push___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__10(lean_object* x_1, lean_object* x_2) { _start: { uint8_t x_3; @@ -1894,7 +1857,7 @@ x_12 = lean_alloc_ctor(0, 2, 1); lean_ctor_set(x_12, 0, x_10); lean_ctor_set(x_12, 1, x_10); lean_ctor_set_uint8(x_12, sizeof(void*)*2, x_11); -x_13 = l_Std_HashMap_insert___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__12(x_6, x_1, x_12); +x_13 = l_Std_HashMap_insert___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__11(x_6, x_1, x_12); lean_ctor_set(x_2, 2, x_13); lean_ctor_set(x_2, 1, x_9); lean_ctor_set(x_2, 0, x_7); @@ -1930,7 +1893,7 @@ x_25 = lean_alloc_ctor(0, 2, 1); lean_ctor_set(x_25, 0, x_23); lean_ctor_set(x_25, 1, x_23); lean_ctor_set_uint8(x_25, sizeof(void*)*2, x_24); -x_26 = l_Std_HashMap_insert___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__12(x_18, x_1, x_25); +x_26 = l_Std_HashMap_insert___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__11(x_18, x_1, x_25); x_27 = lean_alloc_ctor(0, 4, 0); lean_ctor_set(x_27, 0, x_20); lean_ctor_set(x_27, 1, x_22); @@ -1944,7 +1907,7 @@ return x_29; } } } -LEAN_EXPORT lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_modifyDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__19(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_modifyDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__18(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { uint8_t x_4; @@ -1955,7 +1918,7 @@ lean_object* x_5; lean_object* x_6; x_5 = lean_ctor_get(x_3, 2); lean_inc(x_1); lean_inc(x_5); -x_6 = l_Std_HashMapImp_find_x3f___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__8(x_5, x_1); +x_6 = l_Std_HashMapImp_find_x3f___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__7(x_5, x_1); if (lean_obj_tag(x_6) == 0) { lean_object* x_7; lean_object* x_8; @@ -1974,7 +1937,7 @@ x_9 = lean_ctor_get(x_6, 0); lean_inc(x_9); lean_dec(x_6); x_10 = lean_apply_1(x_2, x_9); -x_11 = l_Std_HashMap_insert___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__12(x_5, x_1, x_10); +x_11 = l_Std_HashMap_insert___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__11(x_5, x_1, x_10); lean_ctor_set(x_3, 2, x_11); x_12 = lean_box(0); x_13 = lean_alloc_ctor(0, 2, 0); @@ -1997,7 +1960,7 @@ lean_inc(x_14); lean_dec(x_3); lean_inc(x_1); lean_inc(x_16); -x_18 = l_Std_HashMapImp_find_x3f___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__8(x_16, x_1); +x_18 = l_Std_HashMapImp_find_x3f___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__7(x_16, x_1); if (lean_obj_tag(x_18) == 0) { lean_object* x_19; lean_object* x_20; lean_object* x_21; @@ -2021,7 +1984,7 @@ x_22 = lean_ctor_get(x_18, 0); lean_inc(x_22); lean_dec(x_18); x_23 = lean_apply_1(x_2, x_22); -x_24 = l_Std_HashMap_insert___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__12(x_16, x_1, x_23); +x_24 = l_Std_HashMap_insert___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__11(x_16, x_1, x_23); x_25 = lean_alloc_ctor(0, 4, 0); lean_ctor_set(x_25, 0, x_14); lean_ctor_set(x_25, 1, x_15); @@ -2036,7 +1999,7 @@ return x_27; } } } -LEAN_EXPORT lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_updateLowLinkOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__18___lambda__1(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_updateLowLinkOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__17___lambda__1(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; @@ -2211,17 +2174,17 @@ return x_33; } } } -LEAN_EXPORT lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_updateLowLinkOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__18(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_updateLowLinkOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__17(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { lean_object* x_4; lean_object* x_5; -x_4 = lean_alloc_closure((void*)(l___private_Lean_Util_SCC_0__Lean_SCC_updateLowLinkOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__18___lambda__1), 2, 1); +x_4 = lean_alloc_closure((void*)(l___private_Lean_Util_SCC_0__Lean_SCC_updateLowLinkOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__17___lambda__1), 2, 1); lean_closure_set(x_4, 0, x_2); -x_5 = l___private_Lean_Util_SCC_0__Lean_SCC_modifyDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__19(x_1, x_4, x_3); +x_5 = l___private_Lean_Util_SCC_0__Lean_SCC_modifyDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__18(x_1, x_4, x_3); return x_5; } } -LEAN_EXPORT lean_object* l_List_forM___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__20(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_List_forM___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__19(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { if (lean_obj_tag(x_3) == 0) @@ -2244,7 +2207,7 @@ x_8 = lean_ctor_get(x_3, 1); lean_inc(x_8); lean_dec(x_3); lean_inc(x_7); -x_9 = l___private_Lean_Util_SCC_0__Lean_SCC_getDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__7(x_7, x_4); +x_9 = l___private_Lean_Util_SCC_0__Lean_SCC_getDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__6(x_7, x_4); x_10 = lean_ctor_get(x_9, 0); lean_inc(x_10); x_11 = lean_ctor_get(x_10, 0); @@ -2258,11 +2221,11 @@ lean_inc(x_12); lean_dec(x_9); lean_inc(x_7); lean_inc(x_1); -x_13 = l___private_Lean_Util_SCC_0__Lean_SCC_sccAux___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__10(x_1, x_7, x_12); +x_13 = l___private_Lean_Util_SCC_0__Lean_SCC_sccAux___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__9(x_1, x_7, x_12); x_14 = lean_ctor_get(x_13, 1); lean_inc(x_14); lean_dec(x_13); -x_15 = l___private_Lean_Util_SCC_0__Lean_SCC_getDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__7(x_7, x_14); +x_15 = l___private_Lean_Util_SCC_0__Lean_SCC_getDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__6(x_7, x_14); x_16 = lean_ctor_get(x_15, 0); lean_inc(x_16); x_17 = lean_ctor_get(x_15, 1); @@ -2272,7 +2235,7 @@ x_18 = lean_ctor_get(x_16, 1); lean_inc(x_18); lean_dec(x_16); lean_inc(x_2); -x_19 = l___private_Lean_Util_SCC_0__Lean_SCC_updateLowLinkOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__18(x_2, x_18, x_17); +x_19 = l___private_Lean_Util_SCC_0__Lean_SCC_updateLowLinkOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__17(x_2, x_18, x_17); x_20 = lean_ctor_get(x_19, 1); lean_inc(x_20); lean_dec(x_19); @@ -2304,7 +2267,7 @@ x_25 = lean_ctor_get(x_9, 1); lean_inc(x_25); lean_dec(x_9); lean_inc(x_2); -x_26 = l___private_Lean_Util_SCC_0__Lean_SCC_updateLowLinkOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__18(x_2, x_11, x_25); +x_26 = l___private_Lean_Util_SCC_0__Lean_SCC_updateLowLinkOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__17(x_2, x_11, x_25); x_27 = lean_ctor_get(x_26, 1); lean_inc(x_27); lean_dec(x_26); @@ -2316,7 +2279,7 @@ goto _start; } } } -LEAN_EXPORT lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_resetOnStack___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__23___lambda__1(lean_object* x_1) { +LEAN_EXPORT lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_resetOnStack___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__22___lambda__1(lean_object* x_1) { _start: { uint8_t x_2; @@ -2345,24 +2308,24 @@ return x_7; } } } -static lean_object* _init_l___private_Lean_Util_SCC_0__Lean_SCC_resetOnStack___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__23___closed__1() { +static lean_object* _init_l___private_Lean_Util_SCC_0__Lean_SCC_resetOnStack___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__22___closed__1() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l___private_Lean_Util_SCC_0__Lean_SCC_resetOnStack___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__23___lambda__1), 1, 0); +x_1 = lean_alloc_closure((void*)(l___private_Lean_Util_SCC_0__Lean_SCC_resetOnStack___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__22___lambda__1), 1, 0); return x_1; } } -LEAN_EXPORT lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_resetOnStack___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__23(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_resetOnStack___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__22(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; lean_object* x_4; -x_3 = l___private_Lean_Util_SCC_0__Lean_SCC_resetOnStack___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__23___closed__1; -x_4 = l___private_Lean_Util_SCC_0__Lean_SCC_modifyDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__19(x_1, x_3, x_2); +x_3 = l___private_Lean_Util_SCC_0__Lean_SCC_resetOnStack___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__22___closed__1; +x_4 = l___private_Lean_Util_SCC_0__Lean_SCC_modifyDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__18(x_1, x_3, x_2); return x_4; } } -LEAN_EXPORT lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_addSCC_add___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__22(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_addSCC_add___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__21(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { if (lean_obj_tag(x_2) == 0) @@ -2421,9 +2384,9 @@ if (x_19 == 0) lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; x_20 = lean_ctor_get(x_2, 0); x_21 = lean_ctor_get(x_2, 1); -x_22 = lean_alloc_closure((void*)(l___private_Lean_Util_SCC_0__Lean_SCC_resetOnStack___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__23___lambda__1), 1, 0); +x_22 = lean_alloc_closure((void*)(l___private_Lean_Util_SCC_0__Lean_SCC_resetOnStack___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__22___lambda__1), 1, 0); lean_inc(x_20); -x_23 = l___private_Lean_Util_SCC_0__Lean_SCC_modifyDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__19(x_20, x_22, x_4); +x_23 = l___private_Lean_Util_SCC_0__Lean_SCC_modifyDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__18(x_20, x_22, x_4); x_24 = !lean_is_exclusive(x_23); if (x_24 == 0) { @@ -2561,9 +2524,9 @@ x_52 = lean_ctor_get(x_2, 1); lean_inc(x_52); lean_inc(x_51); lean_dec(x_2); -x_53 = lean_alloc_closure((void*)(l___private_Lean_Util_SCC_0__Lean_SCC_resetOnStack___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__23___lambda__1), 1, 0); +x_53 = lean_alloc_closure((void*)(l___private_Lean_Util_SCC_0__Lean_SCC_resetOnStack___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__22___lambda__1), 1, 0); lean_inc(x_51); -x_54 = l___private_Lean_Util_SCC_0__Lean_SCC_modifyDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__19(x_51, x_53, x_4); +x_54 = l___private_Lean_Util_SCC_0__Lean_SCC_modifyDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__18(x_51, x_53, x_4); x_55 = lean_ctor_get(x_54, 1); lean_inc(x_55); if (lean_is_exclusive(x_54)) { @@ -2633,23 +2596,23 @@ return x_67; } } } -LEAN_EXPORT lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_addSCC___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__21(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_addSCC___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__20(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; lean_object* x_4; lean_object* x_5; x_3 = lean_ctor_get(x_2, 0); lean_inc(x_3); x_4 = lean_box(0); -x_5 = l___private_Lean_Util_SCC_0__Lean_SCC_addSCC_add___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__22(x_1, x_3, x_4, x_2); +x_5 = l___private_Lean_Util_SCC_0__Lean_SCC_addSCC_add___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__21(x_1, x_3, x_4, x_2); return x_5; } } -LEAN_EXPORT lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_sccAux___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__10(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_sccAux___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__9(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; uint8_t x_10; lean_inc(x_2); -x_4 = l___private_Lean_Util_SCC_0__Lean_SCC_push___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__11(x_2, x_3); +x_4 = l___private_Lean_Util_SCC_0__Lean_SCC_push___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__10(x_2, x_3); x_5 = lean_ctor_get(x_4, 1); lean_inc(x_5); lean_dec(x_4); @@ -2657,12 +2620,12 @@ lean_inc(x_1); lean_inc(x_2); x_6 = lean_apply_1(x_1, x_2); lean_inc(x_2); -x_7 = l_List_forM___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__20(x_1, x_2, x_6, x_5); +x_7 = l_List_forM___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__19(x_1, x_2, x_6, x_5); x_8 = lean_ctor_get(x_7, 1); lean_inc(x_8); lean_dec(x_7); lean_inc(x_2); -x_9 = l___private_Lean_Util_SCC_0__Lean_SCC_getDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__7(x_2, x_8); +x_9 = l___private_Lean_Util_SCC_0__Lean_SCC_getDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__6(x_2, x_8); x_10 = !lean_is_exclusive(x_9); if (x_10 == 0) { @@ -2689,7 +2652,7 @@ else { lean_object* x_17; lean_free_object(x_9); -x_17 = l___private_Lean_Util_SCC_0__Lean_SCC_addSCC___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__21(x_2, x_12); +x_17 = l___private_Lean_Util_SCC_0__Lean_SCC_addSCC___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__20(x_2, x_12); lean_dec(x_2); return x_17; } @@ -2723,14 +2686,14 @@ return x_24; else { lean_object* x_25; -x_25 = l___private_Lean_Util_SCC_0__Lean_SCC_addSCC___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__21(x_2, x_19); +x_25 = l___private_Lean_Util_SCC_0__Lean_SCC_addSCC___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__20(x_2, x_19); lean_dec(x_2); return x_25; } } } } -LEAN_EXPORT lean_object* l_Std_mkHashMap___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__24(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Std_mkHashMap___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__23(lean_object* x_1) { _start: { lean_object* x_2; @@ -2738,7 +2701,7 @@ x_2 = l_Std_mkHashMapImp___rarg(x_1); return x_2; } } -LEAN_EXPORT lean_object* l_List_forM___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__25(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l_List_forM___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__24(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { if (lean_obj_tag(x_2) == 0) @@ -2760,7 +2723,7 @@ x_7 = lean_ctor_get(x_2, 1); lean_inc(x_7); lean_dec(x_2); lean_inc(x_6); -x_8 = l___private_Lean_Util_SCC_0__Lean_SCC_getDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__7(x_6, x_3); +x_8 = l___private_Lean_Util_SCC_0__Lean_SCC_getDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__6(x_6, x_3); x_9 = lean_ctor_get(x_8, 0); lean_inc(x_9); x_10 = lean_ctor_get(x_9, 0); @@ -2773,7 +2736,7 @@ x_11 = lean_ctor_get(x_8, 1); lean_inc(x_11); lean_dec(x_8); lean_inc(x_1); -x_12 = l___private_Lean_Util_SCC_0__Lean_SCC_sccAux___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__10(x_1, x_6, x_11); +x_12 = l___private_Lean_Util_SCC_0__Lean_SCC_sccAux___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__9(x_1, x_6, x_11); x_13 = lean_ctor_get(x_12, 1); lean_inc(x_13); lean_dec(x_12); @@ -2796,7 +2759,7 @@ goto _start; } } } -LEAN_EXPORT lean_object* l_Lean_SCC_scc___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__6(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l_Lean_SCC_scc___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__5(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; @@ -2808,7 +2771,7 @@ lean_ctor_set(x_6, 0, x_3); lean_ctor_set(x_6, 1, x_4); lean_ctor_set(x_6, 2, x_5); lean_ctor_set(x_6, 3, x_3); -x_7 = l_List_forM___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__25(x_2, x_1, x_6); +x_7 = l_List_forM___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__24(x_2, x_1, x_6); x_8 = lean_ctor_get(x_7, 1); lean_inc(x_8); lean_dec(x_7); @@ -2819,14 +2782,14 @@ x_10 = l_List_reverse___rarg(x_9); return x_10; } } -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__26___lambda__1(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__25___lambda__1(lean_object* x_1, lean_object* x_2) { _start: { lean_inc(x_1); return x_1; } } -static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__26___closed__1() { +static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__25___closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -2838,7 +2801,7 @@ lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__26___closed__2() { +static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__25___closed__2() { _start: { lean_object* x_1; @@ -2846,7 +2809,7 @@ x_1 = lean_mk_string_from_bytes("Init.Data.Option.BasicAux", 25); return x_1; } } -static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__26___closed__3() { +static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__25___closed__3() { _start: { lean_object* x_1; @@ -2854,7 +2817,7 @@ x_1 = lean_mk_string_from_bytes("Option.get!", 11); return x_1; } } -static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__26___closed__4() { +static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__25___closed__4() { _start: { lean_object* x_1; @@ -2862,20 +2825,20 @@ x_1 = lean_mk_string_from_bytes("value is none", 13); return x_1; } } -static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__26___closed__5() { +static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__25___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_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__26___closed__2; -x_2 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__26___closed__3; +x_1 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__25___closed__2; +x_2 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__25___closed__3; x_3 = lean_unsigned_to_nat(16u); x_4 = lean_unsigned_to_nat(14u); -x_5 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__26___closed__4; +x_5 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__25___closed__4; 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_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__26(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__25(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4) { _start: { uint8_t x_5; @@ -2894,7 +2857,7 @@ x_9 = lean_array_get_size(x_1); x_10 = lean_usize_of_nat(x_9); lean_dec(x_9); x_11 = 0; -x_12 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__26___closed__1; +x_12 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__25___closed__1; x_13 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__1(x_6, x_12, x_1, x_10, x_11, x_12); lean_dec(x_6); x_14 = lean_ctor_get(x_13, 0); @@ -2905,7 +2868,7 @@ x_16 = lean_usize_add(x_3, x_15); if (lean_obj_tag(x_14) == 0) { lean_object* x_17; lean_object* x_18; lean_object* x_19; -x_17 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__26___closed__5; +x_17 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__25___closed__5; x_18 = l_panic___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__2(x_17); x_19 = lean_array_uset(x_8, x_3, x_18); x_3 = x_16; @@ -2926,7 +2889,7 @@ goto _start; } } } -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__27(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__26(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4) { _start: { uint8_t x_5; @@ -2949,7 +2912,7 @@ x_12 = lean_array_get_size(x_11); x_13 = lean_usize_of_nat(x_12); lean_dec(x_12); x_14 = 0; -x_15 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__26(x_1, x_13, x_14, x_11); +x_15 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__25(x_1, x_13, x_14, x_11); x_16 = 1; x_17 = lean_usize_add(x_3, x_16); x_18 = lean_array_uset(x_8, x_3, x_15); @@ -2982,7 +2945,7 @@ return x_6; else { uint8_t x_10; -x_10 = l_Array_anyMUnsafe_any___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__5(x_5, x_2, x_3, x_4); +x_10 = l_Array_anyMUnsafe_any___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__4(x_5, x_2, x_3, x_4); if (x_10 == 0) { lean_dec(x_5); @@ -3016,8 +2979,8 @@ lean_object* x_4; size_t x_5; size_t x_6; lean_object* x_7; lean_object* x_8; le x_4 = lean_array_get_size(x_1); x_5 = lean_usize_of_nat(x_4); x_6 = 0; -x_7 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__26___closed__1; -x_8 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__4(x_3, x_7, x_1, x_5, x_6, x_7); +x_7 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__25___closed__1; +x_8 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__3(x_3, x_7, x_1, x_5, x_6, x_7); x_9 = lean_ctor_get(x_8, 0); lean_inc(x_9); lean_dec(x_8); @@ -3032,7 +2995,7 @@ x_13 = 8192; if (lean_obj_tag(x_9) == 0) { lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; -x_14 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__26___closed__5; +x_14 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__25___closed__5; x_15 = l_panic___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__2(x_14); x_16 = lean_ctor_get(x_15, 5); lean_inc(x_16); @@ -3069,12 +3032,12 @@ lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_obj lean_inc(x_1); x_2 = lean_array_to_list(lean_box(0), x_1); x_3 = lean_box(0); -x_4 = l_List_mapTRAux___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__3(x_2, x_3); +x_4 = l_List_mapTRAux___at_Lean_Elab_addAndCompileUnsafe___spec__2(x_2, x_3); lean_inc(x_1); x_5 = lean_alloc_closure((void*)(l___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___lambda__2___boxed), 3, 2); lean_closure_set(x_5, 0, x_1); lean_closure_set(x_5, 1, x_3); -x_6 = l_Lean_SCC_scc___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__6(x_4, x_5); +x_6 = l_Lean_SCC_scc___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__5(x_4, x_5); x_7 = l_List_redLength___rarg(x_6); x_8 = lean_mk_empty_array_with_capacity(x_7); lean_dec(x_7); @@ -3083,7 +3046,7 @@ x_10 = lean_array_get_size(x_9); x_11 = lean_usize_of_nat(x_10); lean_dec(x_10); x_12 = 0; -x_13 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__27(x_1, x_11, x_12, x_9); +x_13 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__26(x_1, x_11, x_12, x_9); lean_dec(x_1); return x_13; } @@ -3104,7 +3067,7 @@ lean_dec(x_1); return x_9; } } -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___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; @@ -3112,7 +3075,7 @@ 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___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__4(x_1, x_2, x_3, x_7, x_8, x_6); +x_9 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__3(x_1, x_2, x_3, x_7, x_8, x_6); lean_dec(x_6); lean_dec(x_3); lean_dec(x_2); @@ -3120,7 +3083,7 @@ lean_dec(x_1); return x_9; } } -LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__5___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { size_t x_5; size_t x_6; uint8_t x_7; lean_object* x_8; @@ -3128,71 +3091,84 @@ x_5 = lean_unbox_usize(x_3); lean_dec(x_3); x_6 = lean_unbox_usize(x_4); lean_dec(x_4); -x_7 = l_Array_anyMUnsafe_any___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__5(x_1, x_2, x_5, x_6); +x_7 = l_Array_anyMUnsafe_any___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__4(x_1, x_2, x_5, x_6); lean_dec(x_2); lean_dec(x_1); x_8 = lean_box(x_7); return x_8; } } -LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__9___boxed(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__8___boxed(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; -x_3 = l_Std_AssocList_find_x3f___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__9(x_1, x_2); +x_3 = l_Std_AssocList_find_x3f___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__8(x_1, x_2); lean_dec(x_2); lean_dec(x_1); return x_3; } } -LEAN_EXPORT lean_object* l_Std_AssocList_contains___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__13___boxed(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l_Std_AssocList_contains___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__12___boxed(lean_object* x_1, lean_object* x_2) { _start: { uint8_t x_3; lean_object* x_4; -x_3 = l_Std_AssocList_contains___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__13(x_1, x_2); +x_3 = l_Std_AssocList_contains___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__12(x_1, x_2); lean_dec(x_2); lean_dec(x_1); x_4 = lean_box(x_3); return x_4; } } -LEAN_EXPORT lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_addSCC_add___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__22___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_addSCC_add___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__21___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { lean_object* x_5; -x_5 = l___private_Lean_Util_SCC_0__Lean_SCC_addSCC_add___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__22(x_1, x_2, x_3, x_4); +x_5 = l___private_Lean_Util_SCC_0__Lean_SCC_addSCC_add___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__21(x_1, x_2, x_3, x_4); lean_dec(x_1); return x_5; } } -LEAN_EXPORT lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_addSCC___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__21___boxed(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_addSCC___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__20___boxed(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; -x_3 = l___private_Lean_Util_SCC_0__Lean_SCC_addSCC___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__21(x_1, x_2); +x_3 = l___private_Lean_Util_SCC_0__Lean_SCC_addSCC___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__20(x_1, x_2); lean_dec(x_1); return x_3; } } -LEAN_EXPORT lean_object* l_Std_mkHashMap___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__24___boxed(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Std_mkHashMap___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__23___boxed(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = l_Std_mkHashMap___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__24(x_1); +x_2 = l_Std_mkHashMap___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__23(x_1); lean_dec(x_1); return x_2; } } -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__26___lambda__1___boxed(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__25___lambda__1___boxed(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; -x_3 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__26___lambda__1(x_1, x_2); +x_3 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__25___lambda__1(x_1, x_2); lean_dec(x_2); lean_dec(x_1); return x_3; } } +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__25___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +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_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__25(x_1, x_5, x_6, x_4); +lean_dec(x_1); +return x_7; +} +} LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__26___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { @@ -3206,19 +3182,6 @@ lean_dec(x_1); return x_7; } } -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__27___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__27(x_1, x_5, x_6, x_4); -lean_dec(x_1); -return x_7; -} -} LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___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: { @@ -7578,146 +7541,158 @@ x_216 = lean_ctor_get_uint8(x_215, sizeof(void*)*2 + 1); lean_dec(x_215); if (x_216 == 0) { -uint8_t x_217; lean_object* x_218; -x_217 = 1; -x_218 = l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux(x_212, x_217, x_217, x_7, x_8, x_9, x_10, x_11, x_12, x_13); -if (lean_obj_tag(x_218) == 0) +lean_object* x_217; lean_object* x_218; lean_object* x_219; uint8_t x_220; lean_object* x_221; +x_217 = lean_ctor_get(x_212, 3); +lean_inc(x_217); +x_218 = lean_box(0); +x_219 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_219, 0, x_217); +lean_ctor_set(x_219, 1, x_218); +x_220 = 1; +x_221 = l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux(x_212, x_220, x_219, x_220, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +if (lean_obj_tag(x_221) == 0) { -uint8_t x_219; -x_219 = !lean_is_exclusive(x_218); -if (x_219 == 0) +uint8_t x_222; +x_222 = !lean_is_exclusive(x_221); +if (x_222 == 0) { -lean_object* x_220; lean_object* x_221; lean_object* x_222; lean_object* x_223; lean_object* x_224; -x_220 = lean_ctor_get(x_218, 0); -lean_dec(x_220); -x_221 = lean_box(x_4); -x_222 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_222, 0, x_221); -lean_ctor_set(x_222, 1, x_5); -x_223 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_223, 0, x_3); -lean_ctor_set(x_223, 1, x_222); -x_224 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_224, 0, x_223); -lean_ctor_set(x_218, 0, x_224); -return x_218; +lean_object* x_223; lean_object* x_224; lean_object* x_225; lean_object* x_226; lean_object* x_227; +x_223 = lean_ctor_get(x_221, 0); +lean_dec(x_223); +x_224 = lean_box(x_4); +x_225 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_225, 0, x_224); +lean_ctor_set(x_225, 1, x_5); +x_226 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_226, 0, x_3); +lean_ctor_set(x_226, 1, x_225); +x_227 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_227, 0, x_226); +lean_ctor_set(x_221, 0, x_227); +return x_221; } else { -lean_object* x_225; lean_object* x_226; lean_object* x_227; lean_object* x_228; lean_object* x_229; lean_object* x_230; -x_225 = lean_ctor_get(x_218, 1); -lean_inc(x_225); -lean_dec(x_218); -x_226 = lean_box(x_4); -x_227 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_227, 0, x_226); -lean_ctor_set(x_227, 1, x_5); -x_228 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_228, 0, x_3); -lean_ctor_set(x_228, 1, x_227); -x_229 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_229, 0, x_228); +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_228 = lean_ctor_get(x_221, 1); +lean_inc(x_228); +lean_dec(x_221); +x_229 = lean_box(x_4); x_230 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_230, 0, x_229); -lean_ctor_set(x_230, 1, x_225); -return x_230; +lean_ctor_set(x_230, 1, x_5); +x_231 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_231, 0, x_3); +lean_ctor_set(x_231, 1, x_230); +x_232 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_232, 0, x_231); +x_233 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_233, 0, x_232); +lean_ctor_set(x_233, 1, x_228); +return x_233; } } else { -uint8_t x_231; +uint8_t x_234; lean_dec(x_5); lean_dec(x_3); -x_231 = !lean_is_exclusive(x_218); -if (x_231 == 0) +x_234 = !lean_is_exclusive(x_221); +if (x_234 == 0) { -return x_218; +return x_221; } else { -lean_object* x_232; lean_object* x_233; lean_object* x_234; -x_232 = lean_ctor_get(x_218, 0); -x_233 = lean_ctor_get(x_218, 1); -lean_inc(x_233); -lean_inc(x_232); -lean_dec(x_218); -x_234 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_234, 0, x_232); -lean_ctor_set(x_234, 1, x_233); -return x_234; -} -} -} -else -{ -uint8_t x_235; uint8_t x_236; lean_object* x_237; -x_235 = 0; -x_236 = 1; -x_237 = l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux(x_212, x_235, x_236, x_7, x_8, x_9, x_10, x_11, x_12, x_13); -if (lean_obj_tag(x_237) == 0) -{ -uint8_t x_238; -x_238 = !lean_is_exclusive(x_237); -if (x_238 == 0) -{ -lean_object* x_239; lean_object* x_240; lean_object* x_241; lean_object* x_242; lean_object* x_243; -x_239 = lean_ctor_get(x_237, 0); -lean_dec(x_239); -x_240 = lean_box(x_4); -x_241 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_241, 0, x_240); -lean_ctor_set(x_241, 1, x_5); -x_242 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_242, 0, x_3); -lean_ctor_set(x_242, 1, x_241); -x_243 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_243, 0, x_242); -lean_ctor_set(x_237, 0, x_243); +lean_object* x_235; lean_object* x_236; lean_object* x_237; +x_235 = lean_ctor_get(x_221, 0); +x_236 = lean_ctor_get(x_221, 1); +lean_inc(x_236); +lean_inc(x_235); +lean_dec(x_221); +x_237 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_237, 0, x_235); +lean_ctor_set(x_237, 1, x_236); return x_237; } +} +} else { -lean_object* x_244; lean_object* x_245; lean_object* x_246; lean_object* x_247; lean_object* x_248; lean_object* x_249; -x_244 = lean_ctor_get(x_237, 1); -lean_inc(x_244); -lean_dec(x_237); -x_245 = lean_box(x_4); -x_246 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_246, 0, x_245); -lean_ctor_set(x_246, 1, x_5); +lean_object* x_238; lean_object* x_239; lean_object* x_240; uint8_t x_241; uint8_t x_242; lean_object* x_243; +x_238 = lean_ctor_get(x_212, 3); +lean_inc(x_238); +x_239 = lean_box(0); +x_240 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_240, 0, x_238); +lean_ctor_set(x_240, 1, x_239); +x_241 = 0; +x_242 = 1; +x_243 = l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux(x_212, x_241, x_240, x_242, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +if (lean_obj_tag(x_243) == 0) +{ +uint8_t x_244; +x_244 = !lean_is_exclusive(x_243); +if (x_244 == 0) +{ +lean_object* x_245; lean_object* x_246; lean_object* x_247; lean_object* x_248; lean_object* x_249; +x_245 = lean_ctor_get(x_243, 0); +lean_dec(x_245); +x_246 = lean_box(x_4); x_247 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_247, 0, x_3); -lean_ctor_set(x_247, 1, x_246); -x_248 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_248, 0, x_247); -x_249 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_247, 0, x_246); +lean_ctor_set(x_247, 1, x_5); +x_248 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_248, 0, x_3); +lean_ctor_set(x_248, 1, x_247); +x_249 = lean_alloc_ctor(1, 1, 0); lean_ctor_set(x_249, 0, x_248); -lean_ctor_set(x_249, 1, x_244); -return x_249; +lean_ctor_set(x_243, 0, x_249); +return x_243; +} +else +{ +lean_object* x_250; lean_object* x_251; lean_object* x_252; lean_object* x_253; lean_object* x_254; lean_object* x_255; +x_250 = lean_ctor_get(x_243, 1); +lean_inc(x_250); +lean_dec(x_243); +x_251 = lean_box(x_4); +x_252 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_252, 0, x_251); +lean_ctor_set(x_252, 1, x_5); +x_253 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_253, 0, x_3); +lean_ctor_set(x_253, 1, x_252); +x_254 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_254, 0, x_253); +x_255 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_255, 0, x_254); +lean_ctor_set(x_255, 1, x_250); +return x_255; } } else { -uint8_t x_250; +uint8_t x_256; lean_dec(x_5); lean_dec(x_3); -x_250 = !lean_is_exclusive(x_237); -if (x_250 == 0) +x_256 = !lean_is_exclusive(x_243); +if (x_256 == 0) { -return x_237; +return x_243; } else { -lean_object* x_251; lean_object* x_252; lean_object* x_253; -x_251 = lean_ctor_get(x_237, 0); -x_252 = lean_ctor_get(x_237, 1); -lean_inc(x_252); -lean_inc(x_251); -lean_dec(x_237); -x_253 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_253, 0, x_251); -lean_ctor_set(x_253, 1, x_252); -return x_253; +lean_object* x_257; lean_object* x_258; lean_object* x_259; +x_257 = lean_ctor_get(x_243, 0); +x_258 = lean_ctor_get(x_243, 1); +lean_inc(x_258); +lean_inc(x_257); +lean_dec(x_243); +x_259 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_259, 0, x_257); +lean_ctor_set(x_259, 1, x_258); +return x_259; } } } @@ -10494,7 +10469,7 @@ x_16 = l_Lean_Elab_addPreDefinitions___lambda__1(x_1, x_14, x_15, x_4, x_5, x_6, return x_16; } } -LEAN_EXPORT lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_Main___hyg_2363_(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_Main___hyg_2378_(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; @@ -10585,20 +10560,20 @@ l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Ela lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___closed__7); l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___closed__8 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___closed__8(); lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___closed__8); -l___private_Lean_Util_SCC_0__Lean_SCC_getDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__7___closed__1 = _init_l___private_Lean_Util_SCC_0__Lean_SCC_getDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__7___closed__1(); -lean_mark_persistent(l___private_Lean_Util_SCC_0__Lean_SCC_getDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__7___closed__1); -l___private_Lean_Util_SCC_0__Lean_SCC_resetOnStack___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__23___closed__1 = _init_l___private_Lean_Util_SCC_0__Lean_SCC_resetOnStack___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__23___closed__1(); -lean_mark_persistent(l___private_Lean_Util_SCC_0__Lean_SCC_resetOnStack___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__23___closed__1); -l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__26___closed__1 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__26___closed__1(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__26___closed__1); -l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__26___closed__2 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__26___closed__2(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__26___closed__2); -l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__26___closed__3 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__26___closed__3(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__26___closed__3); -l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__26___closed__4 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__26___closed__4(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__26___closed__4); -l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__26___closed__5 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__26___closed__5(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__26___closed__5); +l___private_Lean_Util_SCC_0__Lean_SCC_getDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__6___closed__1 = _init_l___private_Lean_Util_SCC_0__Lean_SCC_getDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__6___closed__1(); +lean_mark_persistent(l___private_Lean_Util_SCC_0__Lean_SCC_getDataOf___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__6___closed__1); +l___private_Lean_Util_SCC_0__Lean_SCC_resetOnStack___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__22___closed__1 = _init_l___private_Lean_Util_SCC_0__Lean_SCC_resetOnStack___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__22___closed__1(); +lean_mark_persistent(l___private_Lean_Util_SCC_0__Lean_SCC_resetOnStack___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__22___closed__1); +l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__25___closed__1 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__25___closed__1(); +lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__25___closed__1); +l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__25___closed__2 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__25___closed__2(); +lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__25___closed__2); +l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__25___closed__3 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__25___closed__3(); +lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__25___closed__3); +l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__25___closed__4 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__25___closed__4(); +lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__25___closed__4); +l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__25___closed__5 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__25___closed__5(); +lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__25___closed__5); l___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___lambda__2___boxed__const__1 = _init_l___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___lambda__2___boxed__const__1(); lean_mark_persistent(l___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___lambda__2___boxed__const__1); l___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_getMVarsAtPreDef___closed__1 = _init_l___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_getMVarsAtPreDef___closed__1(); @@ -10715,7 +10690,7 @@ l_Lean_Elab_addPreDefinitions___closed__13 = _init_l_Lean_Elab_addPreDefinitions lean_mark_persistent(l_Lean_Elab_addPreDefinitions___closed__13); l_Lean_Elab_addPreDefinitions___boxed__const__1 = _init_l_Lean_Elab_addPreDefinitions___boxed__const__1(); lean_mark_persistent(l_Lean_Elab_addPreDefinitions___boxed__const__1); -res = l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_Main___hyg_2363_(lean_io_mk_world()); +res = l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_Main___hyg_2378_(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/PreDefinition/Structural/Main.c b/stage0/stdlib/Lean/Elab/PreDefinition/Structural/Main.c index c719b267d4..fa042b92f4 100644 --- a/stage0/stdlib/Lean/Elab/PreDefinition/Structural/Main.c +++ b/stage0/stdlib/Lean/Elab/PreDefinition/Structural/Main.c @@ -102,7 +102,7 @@ lean_object* l_Lean_Elab_Structural_mkBRecOn(lean_object*, lean_object*, lean_ob LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Structural_Main_0__Lean_Elab_Structural_getFixedPrefix___spec__1(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_getAppNumArgsAux(lean_object*, lean_object*); static lean_object* l_Lean_setEnv___at___private_Lean_Elab_PreDefinition_Structural_Main_0__Lean_Elab_Structural_elimRecursion___spec__2___closed__7; -lean_object* l_Lean_Elab_addNonRec___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Elab_addNonRec___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_setEnv___at___private_Lean_Elab_PreDefinition_Structural_Main_0__Lean_Elab_Structural_elimRecursion___spec__2___closed__3; uint8_t lean_nat_dec_le(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_Main_0__Lean_Elab_Structural_elimRecursion___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*); @@ -2864,44 +2864,44 @@ if (x_33 == 0) lean_dec(x_32); lean_dec(x_23); x_34 = x_31; -goto block_64; +goto block_67; } else { -uint8_t x_65; -x_65 = lean_nat_dec_le(x_32, x_32); -if (x_65 == 0) +uint8_t x_68; +x_68 = lean_nat_dec_le(x_32, x_32); +if (x_68 == 0) { lean_dec(x_32); lean_dec(x_23); x_34 = x_31; -goto block_64; +goto block_67; } else { -size_t x_66; size_t x_67; lean_object* x_68; lean_object* x_69; -x_66 = 0; -x_67 = lean_usize_of_nat(x_32); +size_t x_69; size_t x_70; lean_object* x_71; lean_object* x_72; +x_69 = 0; +x_70 = lean_usize_of_nat(x_32); lean_dec(x_32); -x_68 = lean_box(0); +x_71 = lean_box(0); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -x_69 = l_Array_foldlMUnsafe_fold___at_Lean_Elab_Structural_structuralRecursion___spec__1(x_23, x_66, x_67, x_68, x_2, x_3, x_4, x_5, x_6, x_7, x_31); +x_72 = l_Array_foldlMUnsafe_fold___at_Lean_Elab_Structural_structuralRecursion___spec__1(x_23, x_69, x_70, x_71, x_2, x_3, x_4, x_5, x_6, x_7, x_31); lean_dec(x_23); -if (lean_obj_tag(x_69) == 0) +if (lean_obj_tag(x_72) == 0) { -lean_object* x_70; -x_70 = lean_ctor_get(x_69, 1); -lean_inc(x_70); -lean_dec(x_69); -x_34 = x_70; -goto block_64; +lean_object* x_73; +x_73 = lean_ctor_get(x_72, 1); +lean_inc(x_73); +lean_dec(x_72); +x_34 = x_73; +goto block_67; } else { -uint8_t x_71; +uint8_t x_74; lean_dec(x_30); lean_dec(x_27); lean_dec(x_24); @@ -2911,99 +2911,106 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_71 = !lean_is_exclusive(x_69); -if (x_71 == 0) +x_74 = !lean_is_exclusive(x_72); +if (x_74 == 0) { -return x_69; +return x_72; } else { -lean_object* x_72; lean_object* x_73; lean_object* x_74; -x_72 = lean_ctor_get(x_69, 0); -x_73 = lean_ctor_get(x_69, 1); -lean_inc(x_73); -lean_inc(x_72); -lean_dec(x_69); -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; +lean_object* x_75; lean_object* x_76; lean_object* x_77; +x_75 = lean_ctor_get(x_72, 0); +x_76 = lean_ctor_get(x_72, 1); +lean_inc(x_76); +lean_inc(x_75); +lean_dec(x_72); +x_77 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_77, 0, x_75); +lean_ctor_set(x_77, 1, x_76); +return x_77; } } } } -block_64: +block_67: { -lean_object* x_35; 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_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_inc(x_24); lean_inc(x_30); x_35 = l_Lean_Elab_Structural_registerEqnsInfo(x_30, x_24, x_6, x_7, x_34); x_36 = lean_ctor_get(x_35, 1); lean_inc(x_36); lean_dec(x_35); -x_37 = 0; -x_38 = lean_box(x_37); +x_37 = lean_ctor_get(x_27, 3); +lean_inc(x_37); +x_38 = lean_box(0); +x_39 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_39, 0, x_37); +lean_ctor_set(x_39, 1, x_38); +x_40 = 0; +x_41 = lean_box(x_40); lean_inc(x_3); lean_inc(x_2); lean_inc(x_27); -x_39 = lean_alloc_closure((void*)(l_Lean_Elab_addNonRec___boxed), 9, 4); -lean_closure_set(x_39, 0, x_27); -lean_closure_set(x_39, 1, x_38); -lean_closure_set(x_39, 2, x_2); -lean_closure_set(x_39, 3, x_3); -x_40 = l_Lean_Elab_Structural_structuralRecursion___closed__4; +x_42 = lean_alloc_closure((void*)(l_Lean_Elab_addNonRec___boxed), 10, 5); +lean_closure_set(x_42, 0, x_27); +lean_closure_set(x_42, 1, x_41); +lean_closure_set(x_42, 2, x_39); +lean_closure_set(x_42, 3, x_2); +lean_closure_set(x_42, 4, x_3); +x_43 = l_Lean_Elab_Structural_structuralRecursion___closed__4; lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -x_41 = l_Lean_Meta_mapErrorImp___rarg(x_39, x_40, x_4, x_5, x_6, x_7, x_36); -if (lean_obj_tag(x_41) == 0) +x_44 = l_Lean_Meta_mapErrorImp___rarg(x_42, x_43, x_4, x_5, x_6, x_7, x_36); +if (lean_obj_tag(x_44) == 0) { -lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; -x_42 = lean_ctor_get(x_41, 1); -lean_inc(x_42); -lean_dec(x_41); -x_43 = l_Lean_Elab_Structural_structuralRecursion___closed__5; +lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; +x_45 = lean_ctor_get(x_44, 1); +lean_inc(x_45); +lean_dec(x_44); +x_46 = l_Lean_Elab_Structural_structuralRecursion___closed__5; lean_inc(x_30); -x_44 = lean_array_push(x_43, x_30); +x_47 = lean_array_push(x_46, x_30); 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_45 = l_Lean_Elab_addAndCompilePartialRec(x_44, x_2, x_3, x_4, x_5, x_6, x_7, x_42); -if (lean_obj_tag(x_45) == 0) +x_48 = l_Lean_Elab_addAndCompilePartialRec(x_47, x_2, x_3, x_4, x_5, x_6, x_7, x_45); +if (lean_obj_tag(x_48) == 0) { -lean_object* x_46; lean_object* x_47; -x_46 = lean_ctor_get(x_45, 1); -lean_inc(x_46); -lean_dec(x_45); +lean_object* x_49; lean_object* x_50; +x_49 = lean_ctor_get(x_48, 1); +lean_inc(x_49); +lean_dec(x_48); 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_47 = l_Lean_Elab_Structural_addSmartUnfoldingDef(x_30, x_24, x_2, x_3, x_4, x_5, x_6, x_7, x_46); -if (lean_obj_tag(x_47) == 0) +x_50 = l_Lean_Elab_Structural_addSmartUnfoldingDef(x_30, x_24, x_2, x_3, x_4, x_5, x_6, x_7, x_49); +if (lean_obj_tag(x_50) == 0) { -lean_object* x_48; lean_object* x_49; uint8_t x_50; lean_object* x_51; -x_48 = lean_ctor_get(x_47, 1); -lean_inc(x_48); -lean_dec(x_47); -x_49 = lean_array_push(x_43, x_27); -x_50 = 1; -x_51 = l_Lean_Elab_applyAttributesOf(x_49, x_50, x_2, x_3, x_4, x_5, x_6, x_7, x_48); +lean_object* x_51; lean_object* x_52; uint8_t x_53; lean_object* x_54; +x_51 = lean_ctor_get(x_50, 1); +lean_inc(x_51); +lean_dec(x_50); +x_52 = lean_array_push(x_46, x_27); +x_53 = 1; +x_54 = l_Lean_Elab_applyAttributesOf(x_52, x_53, x_2, x_3, x_4, x_5, x_6, x_7, x_51); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -lean_dec(x_49); -return x_51; +lean_dec(x_52); +return x_54; } else { -uint8_t x_52; +uint8_t x_55; lean_dec(x_27); lean_dec(x_7); lean_dec(x_6); @@ -3011,61 +3018,29 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_52 = !lean_is_exclusive(x_47); -if (x_52 == 0) +x_55 = !lean_is_exclusive(x_50); +if (x_55 == 0) { -return x_47; +return x_50; } else { -lean_object* x_53; lean_object* x_54; lean_object* x_55; -x_53 = lean_ctor_get(x_47, 0); -x_54 = lean_ctor_get(x_47, 1); -lean_inc(x_54); -lean_inc(x_53); -lean_dec(x_47); -x_55 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_55, 0, x_53); -lean_ctor_set(x_55, 1, x_54); -return x_55; -} -} -} -else -{ -uint8_t x_56; -lean_dec(x_30); -lean_dec(x_27); -lean_dec(x_24); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_56 = !lean_is_exclusive(x_45); -if (x_56 == 0) -{ -return x_45; -} -else -{ -lean_object* x_57; lean_object* x_58; lean_object* x_59; -x_57 = lean_ctor_get(x_45, 0); -x_58 = lean_ctor_get(x_45, 1); -lean_inc(x_58); +lean_object* x_56; lean_object* x_57; lean_object* x_58; +x_56 = lean_ctor_get(x_50, 0); +x_57 = lean_ctor_get(x_50, 1); lean_inc(x_57); -lean_dec(x_45); -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; +lean_inc(x_56); +lean_dec(x_50); +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_60; +uint8_t x_59; lean_dec(x_30); lean_dec(x_27); lean_dec(x_24); @@ -3075,30 +3050,62 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_60 = !lean_is_exclusive(x_41); -if (x_60 == 0) +x_59 = !lean_is_exclusive(x_48); +if (x_59 == 0) { -return x_41; +return x_48; } else { -lean_object* x_61; lean_object* x_62; lean_object* x_63; -x_61 = lean_ctor_get(x_41, 0); -x_62 = lean_ctor_get(x_41, 1); -lean_inc(x_62); +lean_object* x_60; lean_object* x_61; lean_object* x_62; +x_60 = lean_ctor_get(x_48, 0); +x_61 = lean_ctor_get(x_48, 1); lean_inc(x_61); -lean_dec(x_41); -x_63 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_63, 0, x_61); -lean_ctor_set(x_63, 1, x_62); -return x_63; +lean_inc(x_60); +lean_dec(x_48); +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; +} +} +} +else +{ +uint8_t x_63; +lean_dec(x_30); +lean_dec(x_27); +lean_dec(x_24); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_63 = !lean_is_exclusive(x_44); +if (x_63 == 0) +{ +return x_44; +} +else +{ +lean_object* x_64; lean_object* x_65; lean_object* x_66; +x_64 = lean_ctor_get(x_44, 0); +x_65 = lean_ctor_get(x_44, 1); +lean_inc(x_65); +lean_inc(x_64); +lean_dec(x_44); +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_75; +uint8_t x_78; lean_dec(x_27); lean_dec(x_24); lean_dec(x_23); @@ -3108,29 +3115,29 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_75 = !lean_is_exclusive(x_29); -if (x_75 == 0) +x_78 = !lean_is_exclusive(x_29); +if (x_78 == 0) { return x_29; } else { -lean_object* x_76; lean_object* x_77; lean_object* x_78; -x_76 = lean_ctor_get(x_29, 0); -x_77 = lean_ctor_get(x_29, 1); -lean_inc(x_77); -lean_inc(x_76); +lean_object* x_79; lean_object* x_80; lean_object* x_81; +x_79 = lean_ctor_get(x_29, 0); +x_80 = lean_ctor_get(x_29, 1); +lean_inc(x_80); +lean_inc(x_79); lean_dec(x_29); -x_78 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_78, 0, x_76); -lean_ctor_set(x_78, 1, x_77); -return x_78; +x_81 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_81, 0, x_79); +lean_ctor_set(x_81, 1, x_80); +return x_81; } } } else { -uint8_t x_79; +uint8_t x_82; lean_dec(x_24); lean_dec(x_23); lean_dec(x_16); @@ -3140,29 +3147,29 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_79 = !lean_is_exclusive(x_26); -if (x_79 == 0) +x_82 = !lean_is_exclusive(x_26); +if (x_82 == 0) { return x_26; } else { -lean_object* x_80; lean_object* x_81; lean_object* x_82; -x_80 = lean_ctor_get(x_26, 0); -x_81 = lean_ctor_get(x_26, 1); -lean_inc(x_81); -lean_inc(x_80); +lean_object* x_83; lean_object* x_84; lean_object* x_85; +x_83 = lean_ctor_get(x_26, 0); +x_84 = lean_ctor_get(x_26, 1); +lean_inc(x_84); +lean_inc(x_83); lean_dec(x_26); -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_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; } } } else { -uint8_t x_83; +uint8_t x_86; lean_dec(x_16); lean_dec(x_7); lean_dec(x_6); @@ -3170,23 +3177,23 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_83 = !lean_is_exclusive(x_19); -if (x_83 == 0) +x_86 = !lean_is_exclusive(x_19); +if (x_86 == 0) { return x_19; } else { -lean_object* x_84; lean_object* x_85; lean_object* x_86; -x_84 = lean_ctor_get(x_19, 0); -x_85 = lean_ctor_get(x_19, 1); -lean_inc(x_85); -lean_inc(x_84); +lean_object* x_87; lean_object* x_88; lean_object* x_89; +x_87 = lean_ctor_get(x_19, 0); +x_88 = lean_ctor_get(x_19, 1); +lean_inc(x_88); +lean_inc(x_87); lean_dec(x_19); -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; +x_89 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_89, 0, x_87); +lean_ctor_set(x_89, 1, x_88); +return x_89; } } } diff --git a/stage0/stdlib/Lean/Elab/PreDefinition/Structural/SmartUnfolding.c b/stage0/stdlib/Lean/Elab/PreDefinition/Structural/SmartUnfolding.c index c0649e87b4..306063e82a 100644 --- a/stage0/stdlib/Lean/Elab/PreDefinition/Structural/SmartUnfolding.c +++ b/stage0/stdlib/Lean/Elab/PreDefinition/Structural/SmartUnfolding.c @@ -60,7 +60,7 @@ lean_object* lean_array_get(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*); LEAN_EXPORT uint8_t l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___lambda__1(lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6(lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux(lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux(lean_object*, uint8_t, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_instInhabitedExpr; LEAN_EXPORT lean_object* l_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_matchMatcherApp_x3f___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -2461,49 +2461,55 @@ lean_inc(x_5); x_15 = l_Lean_Elab_Structural_addSmartUnfoldingDefAux(x_1, x_2, x_5, x_6, x_7, x_8, x_14); if (lean_obj_tag(x_15) == 0) { -lean_object* x_16; lean_object* x_17; uint8_t x_18; uint8_t x_19; lean_object* x_20; +lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; uint8_t x_21; uint8_t x_22; lean_object* x_23; 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 = 0; -x_19 = 1; -x_20 = l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux(x_16, x_18, x_19, x_3, x_4, x_5, x_6, x_7, x_8, x_17); -return x_20; +x_18 = lean_ctor_get(x_16, 3); +lean_inc(x_18); +x_19 = lean_box(0); +x_20 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_20, 0, x_18); +lean_ctor_set(x_20, 1, x_19); +x_21 = 0; +x_22 = 1; +x_23 = l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux(x_16, x_21, x_20, x_22, x_3, x_4, x_5, x_6, x_7, x_8, x_17); +return x_23; } else { -uint8_t x_21; +uint8_t x_24; 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_15); -if (x_21 == 0) +x_24 = !lean_is_exclusive(x_15); +if (x_24 == 0) { return x_15; } else { -lean_object* x_22; lean_object* x_23; lean_object* x_24; -x_22 = lean_ctor_get(x_15, 0); -x_23 = lean_ctor_get(x_15, 1); -lean_inc(x_23); -lean_inc(x_22); +lean_object* x_25; lean_object* x_26; lean_object* x_27; +x_25 = lean_ctor_get(x_15, 0); +x_26 = lean_ctor_get(x_15, 1); +lean_inc(x_26); +lean_inc(x_25); lean_dec(x_15); -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; +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_25; +uint8_t x_28; lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); @@ -2512,33 +2518,33 @@ lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_25 = !lean_is_exclusive(x_11); -if (x_25 == 0) +x_28 = !lean_is_exclusive(x_11); +if (x_28 == 0) { -lean_object* x_26; lean_object* x_27; -x_26 = lean_ctor_get(x_11, 0); -lean_dec(x_26); -x_27 = lean_box(0); -lean_ctor_set(x_11, 0, x_27); +lean_object* x_29; lean_object* x_30; +x_29 = lean_ctor_get(x_11, 0); +lean_dec(x_29); +x_30 = lean_box(0); +lean_ctor_set(x_11, 0, x_30); return x_11; } else { -lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_28 = lean_ctor_get(x_11, 1); -lean_inc(x_28); +lean_object* x_31; lean_object* x_32; lean_object* x_33; +x_31 = lean_ctor_get(x_11, 1); +lean_inc(x_31); lean_dec(x_11); -x_29 = lean_box(0); -x_30 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_30, 0, x_29); -lean_ctor_set(x_30, 1, x_28); -return x_30; +x_32 = lean_box(0); +x_33 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_33, 0, x_32); +lean_ctor_set(x_33, 1, x_31); +return x_33; } } } else { -uint8_t x_31; +uint8_t x_34; lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); @@ -2547,23 +2553,23 @@ lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_31 = !lean_is_exclusive(x_11); -if (x_31 == 0) +x_34 = !lean_is_exclusive(x_11); +if (x_34 == 0) { return x_11; } else { -lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_32 = lean_ctor_get(x_11, 0); -x_33 = lean_ctor_get(x_11, 1); -lean_inc(x_33); -lean_inc(x_32); +lean_object* x_35; lean_object* x_36; lean_object* x_37; +x_35 = lean_ctor_get(x_11, 0); +x_36 = lean_ctor_get(x_11, 1); +lean_inc(x_36); +lean_inc(x_35); lean_dec(x_11); -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; +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; } } } diff --git a/stage0/stdlib/Lean/Elab/PreDefinition/WF/Main.c b/stage0/stdlib/Lean/Elab/PreDefinition/WF/Main.c index 6567e4b24f..1f9d01660a 100644 --- a/stage0/stdlib/Lean/Elab/PreDefinition/WF/Main.c +++ b/stage0/stdlib/Lean/Elab/PreDefinition/WF/Main.c @@ -26,9 +26,10 @@ static lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinitio lean_object* lean_name_mk_string(lean_object*, lean_object*); uint8_t lean_usize_dec_eq(size_t, size_t); lean_object* lean_array_uget(lean_object*, size_t); +lean_object* l_List_mapTRAux___at_Lean_Elab_addAndCompileUnsafe___spec__2(lean_object*, lean_object*); lean_object* l_Lean_Expr_bindingDomain_x21(lean_object*); lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_WF_withFixedPrefix___spec__1(size_t, size_t, lean_object*); -LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___spec__1___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___spec__1___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___spec__1___lambda__1___closed__3; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_wfRecursion___spec__1(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_uset(lean_object*, size_t, lean_object*); @@ -64,7 +65,7 @@ static lean_object* l_Lean_Elab_wfRecursion___lambda__1___closed__2; uint8_t lean_usize_dec_lt(size_t, size_t); LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___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_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_withCommonTelescope_go___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___spec__1___boxed(lean_object**); static lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___spec__1___closed__1; extern lean_object* l_Lean_levelZero; lean_object* lean_nat_add(lean_object*, lean_object*); @@ -89,7 +90,7 @@ lean_object* l_Lean_Expr_constLevels_x21(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_isOnlyOneUnaryDef(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_transform___at_Lean_Meta_zetaReduce___spec__1(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_getFixedPrefix___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs_mkSum___closed__1; lean_object* l_Lean_Elab_WF_mkUnaryArg_go___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_get(lean_object*, lean_object*, lean_object*); @@ -105,12 +106,13 @@ static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_wfRecursion___spec__3_ lean_object* l_Lean_Meta_lambdaTelescope___at_Lean_Meta_CasesOnApp_addArg___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_st_mk_ref(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_2101_(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_2114_(lean_object*); static lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs_mkSum___spec__1___closed__10; static lean_object* l_Lean_Elab_wfRecursion___closed__5; -LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___spec__1___lambda__2(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___spec__1___lambda__2(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Elab_instInhabitedPreDefinition; -lean_object* l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux(lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* lean_array_to_list(lean_object*, lean_object*); +lean_object* l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux(lean_object*, uint8_t, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_withCommonTelescope_go___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*); static lean_object* l_Lean_Elab_wfRecursion___lambda__1___closed__1; static lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___spec__1___closed__3; @@ -333,7 +335,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs_mkSum___spec__1___closed__4; x_2 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs_mkSum___spec__1___closed__5; -x_3 = lean_unsigned_to_nat(40u); +x_3 = lean_unsigned_to_nat(41u); x_4 = lean_unsigned_to_nat(12u); x_5 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs_mkSum___spec__1___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -713,7 +715,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs_mkSum___spec__1___closed__4; x_2 = l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___spec__1___lambda__1___closed__1; -x_3 = lean_unsigned_to_nat(46u); +x_3 = lean_unsigned_to_nat(47u); x_4 = lean_unsigned_to_nat(102u); x_5 = l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___spec__1___lambda__1___closed__2; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -881,66 +883,66 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___spec__1___lambda__2(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* 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_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___spec__1___lambda__2(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* 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; -x_16 = lean_alloc_ctor(0, 6, 1); -lean_ctor_set(x_16, 0, x_1); -lean_ctor_set(x_16, 1, x_3); -lean_ctor_set(x_16, 2, x_4); -lean_ctor_set(x_16, 3, x_5); -lean_ctor_set(x_16, 4, x_6); -lean_ctor_set(x_16, 5, x_7); -lean_ctor_set_uint8(x_16, sizeof(void*)*6, x_2); -x_17 = 0; -x_18 = l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux(x_16, x_17, x_17, x_9, x_10, x_11, x_12, x_13, x_14, x_15); -if (lean_obj_tag(x_18) == 0) +lean_object* x_17; uint8_t x_18; lean_object* x_19; +x_17 = lean_alloc_ctor(0, 6, 1); +lean_ctor_set(x_17, 0, x_1); +lean_ctor_set(x_17, 1, x_3); +lean_ctor_set(x_17, 2, x_4); +lean_ctor_set(x_17, 3, x_5); +lean_ctor_set(x_17, 4, x_6); +lean_ctor_set(x_17, 5, x_7); +lean_ctor_set_uint8(x_17, sizeof(void*)*6, x_2); +x_18 = 0; +x_19 = l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux(x_17, x_18, x_8, x_18, x_10, x_11, x_12, x_13, x_14, x_15, x_16); +if (lean_obj_tag(x_19) == 0) { -uint8_t x_19; -x_19 = !lean_is_exclusive(x_18); -if (x_19 == 0) +uint8_t x_20; +x_20 = !lean_is_exclusive(x_19); +if (x_20 == 0) { -lean_object* x_20; lean_object* x_21; -x_20 = lean_ctor_get(x_18, 0); -lean_dec(x_20); -x_21 = l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___spec__1___lambda__2___closed__1; -lean_ctor_set(x_18, 0, x_21); -return x_18; +lean_object* x_21; lean_object* x_22; +x_21 = lean_ctor_get(x_19, 0); +lean_dec(x_21); +x_22 = l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___spec__1___lambda__2___closed__1; +lean_ctor_set(x_19, 0, x_22); +return x_19; } else { -lean_object* x_22; lean_object* x_23; lean_object* x_24; -x_22 = lean_ctor_get(x_18, 1); -lean_inc(x_22); -lean_dec(x_18); -x_23 = l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___spec__1___lambda__2___closed__1; -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_object* x_23; lean_object* x_24; lean_object* x_25; +x_23 = lean_ctor_get(x_19, 1); +lean_inc(x_23); +lean_dec(x_19); +x_24 = l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___spec__1___lambda__2___closed__1; +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; -x_25 = !lean_is_exclusive(x_18); -if (x_25 == 0) +uint8_t x_26; +x_26 = !lean_is_exclusive(x_19); +if (x_26 == 0) { -return x_18; +return x_19; } else { -lean_object* x_26; lean_object* x_27; lean_object* x_28; -x_26 = lean_ctor_get(x_18, 0); -x_27 = lean_ctor_get(x_18, 1); +lean_object* x_27; lean_object* x_28; lean_object* x_29; +x_27 = lean_ctor_get(x_19, 0); +x_28 = lean_ctor_get(x_19, 1); +lean_inc(x_28); lean_inc(x_27); -lean_inc(x_26); -lean_dec(x_18); -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_19); +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; } } } @@ -1033,425 +1035,412 @@ x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___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, 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_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___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, 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_17; -x_17 = lean_nat_dec_le(x_7, x_6); -if (x_17 == 0) +uint8_t x_18; +x_18 = lean_nat_dec_le(x_8, x_7); +if (x_18 == 0) { -lean_object* x_18; uint8_t x_19; -x_18 = lean_unsigned_to_nat(0u); -x_19 = lean_nat_dec_eq(x_5, x_18); -if (x_19 == 0) +lean_object* x_19; uint8_t x_20; +x_19 = lean_unsigned_to_nat(0u); +x_20 = lean_nat_dec_eq(x_6, x_19); +if (x_20 == 0) { -lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; uint8_t x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; -lean_dec(x_9); -x_20 = lean_unsigned_to_nat(1u); -x_21 = lean_nat_sub(x_5, x_20); -lean_dec(x_5); -x_22 = l_Lean_Elab_instInhabitedPreDefinition; -x_23 = lean_array_get(x_22, x_1, x_6); -x_24 = lean_ctor_get(x_23, 0); -lean_inc(x_24); -x_25 = lean_ctor_get_uint8(x_23, sizeof(void*)*6); -x_26 = lean_ctor_get(x_23, 1); -lean_inc(x_26); -x_27 = lean_ctor_get(x_23, 2); +lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; uint8_t x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; +lean_dec(x_10); +x_21 = lean_unsigned_to_nat(1u); +x_22 = lean_nat_sub(x_6, x_21); +lean_dec(x_6); +x_23 = l_Lean_Elab_instInhabitedPreDefinition; +x_24 = lean_array_get(x_23, x_1, x_7); +x_25 = lean_ctor_get(x_24, 0); +lean_inc(x_25); +x_26 = lean_ctor_get_uint8(x_24, sizeof(void*)*6); +x_27 = lean_ctor_get(x_24, 1); lean_inc(x_27); -x_28 = lean_ctor_get(x_23, 3); +x_28 = lean_ctor_get(x_24, 2); lean_inc(x_28); -x_29 = lean_ctor_get(x_23, 4); +x_29 = lean_ctor_get(x_24, 3); lean_inc(x_29); -x_30 = lean_ctor_get(x_23, 5); +x_30 = lean_ctor_get(x_24, 4); lean_inc(x_30); -lean_dec(x_23); +x_31 = lean_ctor_get(x_24, 5); +lean_inc(x_31); +lean_dec(x_24); lean_inc(x_4); -lean_inc(x_6); +lean_inc(x_7); lean_inc(x_1); lean_inc(x_2); lean_inc(x_3); -x_31 = lean_alloc_closure((void*)(l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___spec__1___lambda__1___boxed), 14, 5); -lean_closure_set(x_31, 0, x_3); -lean_closure_set(x_31, 1, x_2); -lean_closure_set(x_31, 2, x_1); -lean_closure_set(x_31, 3, x_6); -lean_closure_set(x_31, 4, x_4); +x_32 = lean_alloc_closure((void*)(l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___spec__1___lambda__1___boxed), 14, 5); +lean_closure_set(x_32, 0, x_3); +lean_closure_set(x_32, 1, x_2); +lean_closure_set(x_32, 2, x_1); +lean_closure_set(x_32, 3, x_7); +lean_closure_set(x_32, 4, x_4); +lean_inc(x_16); lean_inc(x_15); lean_inc(x_14); lean_inc(x_13); lean_inc(x_12); lean_inc(x_11); -lean_inc(x_10); -x_32 = l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processSumCasesOn___spec__1___rarg(x_30, x_31, x_10, x_11, x_12, x_13, x_14, x_15, x_16); -if (lean_obj_tag(x_32) == 0) +x_33 = l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processSumCasesOn___spec__1___rarg(x_31, x_32, x_11, x_12, x_13, x_14, x_15, x_16, x_17); +if (lean_obj_tag(x_33) == 0) { -lean_object* x_33; lean_object* x_34; lean_object* x_35; uint8_t x_36; lean_object* x_37; lean_object* x_83; lean_object* x_84; lean_object* x_85; uint8_t x_86; -x_33 = lean_ctor_get(x_32, 0); -lean_inc(x_33); -x_34 = lean_ctor_get(x_32, 1); +lean_object* x_34; lean_object* x_35; lean_object* x_36; uint8_t x_37; lean_object* x_38; lean_object* x_84; lean_object* x_85; lean_object* x_86; uint8_t x_87; +x_34 = lean_ctor_get(x_33, 0); lean_inc(x_34); -lean_dec(x_32); -x_35 = l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___spec__1___closed__6; -x_83 = lean_st_ref_get(x_15, x_34); -x_84 = lean_ctor_get(x_83, 0); -lean_inc(x_84); -x_85 = lean_ctor_get(x_84, 3); +x_35 = lean_ctor_get(x_33, 1); +lean_inc(x_35); +lean_dec(x_33); +x_36 = l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___spec__1___closed__6; +x_84 = lean_st_ref_get(x_16, x_35); +x_85 = lean_ctor_get(x_84, 0); lean_inc(x_85); -lean_dec(x_84); -x_86 = lean_ctor_get_uint8(x_85, sizeof(void*)*1); +x_86 = lean_ctor_get(x_85, 3); +lean_inc(x_86); lean_dec(x_85); -if (x_86 == 0) +x_87 = lean_ctor_get_uint8(x_86, sizeof(void*)*1); +lean_dec(x_86); +if (x_87 == 0) { -lean_object* x_87; uint8_t x_88; -x_87 = lean_ctor_get(x_83, 1); -lean_inc(x_87); -lean_dec(x_83); -x_88 = 0; -x_36 = x_88; -x_37 = x_87; -goto block_82; +lean_object* x_88; uint8_t x_89; +x_88 = lean_ctor_get(x_84, 1); +lean_inc(x_88); +lean_dec(x_84); +x_89 = 0; +x_37 = x_89; +x_38 = x_88; +goto block_83; } else { -lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; uint8_t x_93; -x_89 = lean_ctor_get(x_83, 1); -lean_inc(x_89); -lean_dec(x_83); -x_90 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_35, x_10, x_11, x_12, x_13, x_14, x_15, x_89); -x_91 = lean_ctor_get(x_90, 0); -lean_inc(x_91); -x_92 = lean_ctor_get(x_90, 1); +lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; uint8_t x_94; +x_90 = lean_ctor_get(x_84, 1); +lean_inc(x_90); +lean_dec(x_84); +x_91 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_36, x_11, x_12, x_13, x_14, x_15, x_16, x_90); +x_92 = lean_ctor_get(x_91, 0); lean_inc(x_92); -lean_dec(x_90); -x_93 = lean_unbox(x_91); +x_93 = lean_ctor_get(x_91, 1); +lean_inc(x_93); lean_dec(x_91); -x_36 = x_93; -x_37 = x_92; -goto block_82; +x_94 = lean_unbox(x_92); +lean_dec(x_92); +x_37 = x_94; +x_38 = x_93; +goto block_83; } -block_82: +block_83: { -if (x_36 == 0) +if (x_37 == 0) { -lean_object* x_38; lean_object* x_39; -x_38 = lean_box(0); +lean_object* x_39; lean_object* x_40; +x_39 = lean_box(0); +lean_inc(x_16); lean_inc(x_15); lean_inc(x_14); lean_inc(x_13); lean_inc(x_12); lean_inc(x_11); -lean_inc(x_10); -x_39 = l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___spec__1___lambda__2(x_24, x_25, x_26, x_27, x_28, x_29, x_33, x_38, x_10, x_11, x_12, x_13, x_14, x_15, x_37); -if (lean_obj_tag(x_39) == 0) -{ -lean_object* x_40; -x_40 = lean_ctor_get(x_39, 0); -lean_inc(x_40); +lean_inc(x_5); +x_40 = l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___spec__1___lambda__2(x_25, x_26, x_27, x_28, x_29, x_30, x_34, x_5, x_39, x_11, x_12, x_13, x_14, x_15, x_16, x_38); if (lean_obj_tag(x_40) == 0) { -uint8_t x_41; -lean_dec(x_21); +lean_object* x_41; +x_41 = lean_ctor_get(x_40, 0); +lean_inc(x_41); +if (lean_obj_tag(x_41) == 0) +{ +uint8_t x_42; +lean_dec(x_22); +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_6); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_41 = !lean_is_exclusive(x_39); -if (x_41 == 0) -{ -lean_object* x_42; lean_object* x_43; -x_42 = lean_ctor_get(x_39, 0); -lean_dec(x_42); -x_43 = lean_ctor_get(x_40, 0); -lean_inc(x_43); -lean_dec(x_40); -lean_ctor_set(x_39, 0, x_43); -return x_39; -} -else -{ -lean_object* x_44; lean_object* x_45; lean_object* x_46; -x_44 = lean_ctor_get(x_39, 1); -lean_inc(x_44); -lean_dec(x_39); -x_45 = lean_ctor_get(x_40, 0); -lean_inc(x_45); -lean_dec(x_40); -x_46 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_46, 0, x_45); -lean_ctor_set(x_46, 1, x_44); -return x_46; -} -} -else -{ -lean_object* x_47; lean_object* x_48; lean_object* x_49; -x_47 = lean_ctor_get(x_39, 1); -lean_inc(x_47); -lean_dec(x_39); -x_48 = lean_ctor_get(x_40, 0); -lean_inc(x_48); -lean_dec(x_40); -x_49 = lean_nat_add(x_6, x_8); -lean_dec(x_6); -x_5 = x_21; -x_6 = x_49; -x_9 = x_48; -x_16 = x_47; -goto _start; -} -} -else -{ -uint8_t x_51; -lean_dec(x_21); -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_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_51 = !lean_is_exclusive(x_39); -if (x_51 == 0) -{ -return x_39; -} -else -{ -lean_object* x_52; lean_object* x_53; lean_object* x_54; -x_52 = lean_ctor_get(x_39, 0); -x_53 = lean_ctor_get(x_39, 1); -lean_inc(x_53); -lean_inc(x_52); -lean_dec(x_39); -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 -{ -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_inc(x_28); -x_55 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_55, 0, x_28); -x_56 = l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___spec__1___closed__8; -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_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___spec__1___closed__10; -x_59 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_59, 0, x_57); -lean_ctor_set(x_59, 1, x_58); -lean_inc(x_33); -x_60 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_60, 0, x_33); -x_61 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_61, 0, x_59); -lean_ctor_set(x_61, 1, x_60); -x_62 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_62, 0, x_61); -lean_ctor_set(x_62, 1, x_56); -x_63 = l_Lean_addTrace___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__1(x_35, x_62, x_10, x_11, x_12, x_13, x_14, x_15, x_37); -x_64 = lean_ctor_get(x_63, 0); -lean_inc(x_64); -x_65 = lean_ctor_get(x_63, 1); -lean_inc(x_65); -lean_dec(x_63); -lean_inc(x_15); -lean_inc(x_14); -lean_inc(x_13); -lean_inc(x_12); -lean_inc(x_11); -lean_inc(x_10); -x_66 = l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___spec__1___lambda__2(x_24, x_25, x_26, x_27, x_28, x_29, x_33, x_64, x_10, x_11, x_12, x_13, x_14, x_15, x_65); -lean_dec(x_64); -if (lean_obj_tag(x_66) == 0) -{ -lean_object* x_67; -x_67 = lean_ctor_get(x_66, 0); -lean_inc(x_67); -if (lean_obj_tag(x_67) == 0) -{ -uint8_t x_68; -lean_dec(x_21); -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_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_68 = !lean_is_exclusive(x_66); -if (x_68 == 0) -{ -lean_object* x_69; lean_object* x_70; -x_69 = lean_ctor_get(x_66, 0); -lean_dec(x_69); -x_70 = lean_ctor_get(x_67, 0); -lean_inc(x_70); -lean_dec(x_67); -lean_ctor_set(x_66, 0, x_70); -return x_66; -} -else -{ -lean_object* x_71; lean_object* x_72; lean_object* x_73; -x_71 = lean_ctor_get(x_66, 1); -lean_inc(x_71); -lean_dec(x_66); -x_72 = lean_ctor_get(x_67, 0); -lean_inc(x_72); -lean_dec(x_67); -x_73 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_73, 0, x_72); -lean_ctor_set(x_73, 1, x_71); -return x_73; -} -} -else -{ -lean_object* x_74; lean_object* x_75; lean_object* x_76; -x_74 = lean_ctor_get(x_66, 1); -lean_inc(x_74); -lean_dec(x_66); -x_75 = lean_ctor_get(x_67, 0); -lean_inc(x_75); -lean_dec(x_67); -x_76 = lean_nat_add(x_6, x_8); -lean_dec(x_6); -x_5 = x_21; -x_6 = x_76; -x_9 = x_75; -x_16 = x_74; -goto _start; -} -} -else -{ -uint8_t x_78; -lean_dec(x_21); -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_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_78 = !lean_is_exclusive(x_66); -if (x_78 == 0) -{ -return x_66; -} -else -{ -lean_object* x_79; lean_object* x_80; lean_object* x_81; -x_79 = lean_ctor_get(x_66, 0); -x_80 = lean_ctor_get(x_66, 1); -lean_inc(x_80); -lean_inc(x_79); -lean_dec(x_66); -x_81 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_81, 0, x_79); -lean_ctor_set(x_81, 1, x_80); -return x_81; -} -} -} -} -} -else -{ -uint8_t x_94; -lean_dec(x_29); -lean_dec(x_28); -lean_dec(x_27); -lean_dec(x_26); -lean_dec(x_24); -lean_dec(x_21); -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_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_94 = !lean_is_exclusive(x_32); -if (x_94 == 0) -{ -return x_32; -} -else -{ -lean_object* x_95; lean_object* x_96; lean_object* x_97; -x_95 = lean_ctor_get(x_32, 0); -x_96 = lean_ctor_get(x_32, 1); -lean_inc(x_96); -lean_inc(x_95); -lean_dec(x_32); -x_97 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_97, 0, x_95); -lean_ctor_set(x_97, 1, x_96); -return x_97; -} -} -} -else -{ -lean_object* x_98; -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_7); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_98 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_98, 0, x_9); -lean_ctor_set(x_98, 1, x_16); +x_42 = !lean_is_exclusive(x_40); +if (x_42 == 0) +{ +lean_object* x_43; lean_object* x_44; +x_43 = lean_ctor_get(x_40, 0); +lean_dec(x_43); +x_44 = lean_ctor_get(x_41, 0); +lean_inc(x_44); +lean_dec(x_41); +lean_ctor_set(x_40, 0, x_44); +return x_40; +} +else +{ +lean_object* x_45; lean_object* x_46; lean_object* x_47; +x_45 = lean_ctor_get(x_40, 1); +lean_inc(x_45); +lean_dec(x_40); +x_46 = lean_ctor_get(x_41, 0); +lean_inc(x_46); +lean_dec(x_41); +x_47 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_47, 0, x_46); +lean_ctor_set(x_47, 1, x_45); +return x_47; +} +} +else +{ +lean_object* x_48; lean_object* x_49; lean_object* x_50; +x_48 = lean_ctor_get(x_40, 1); +lean_inc(x_48); +lean_dec(x_40); +x_49 = lean_ctor_get(x_41, 0); +lean_inc(x_49); +lean_dec(x_41); +x_50 = lean_nat_add(x_7, x_9); +lean_dec(x_7); +x_6 = x_22; +x_7 = x_50; +x_10 = x_49; +x_17 = x_48; +goto _start; +} +} +else +{ +uint8_t x_52; +lean_dec(x_22); +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_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_52 = !lean_is_exclusive(x_40); +if (x_52 == 0) +{ +return x_40; +} +else +{ +lean_object* x_53; lean_object* x_54; lean_object* x_55; +x_53 = lean_ctor_get(x_40, 0); +x_54 = lean_ctor_get(x_40, 1); +lean_inc(x_54); +lean_inc(x_53); +lean_dec(x_40); +x_55 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_55, 0, x_53); +lean_ctor_set(x_55, 1, x_54); +return x_55; +} +} +} +else +{ +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_inc(x_29); +x_56 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_56, 0, x_29); +x_57 = l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___spec__1___closed__8; +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_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___spec__1___closed__10; +x_60 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_60, 0, x_58); +lean_ctor_set(x_60, 1, x_59); +lean_inc(x_34); +x_61 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_61, 0, x_34); +x_62 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_62, 0, x_60); +lean_ctor_set(x_62, 1, x_61); +x_63 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_63, 0, x_62); +lean_ctor_set(x_63, 1, x_57); +x_64 = l_Lean_addTrace___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__1(x_36, x_63, x_11, x_12, x_13, x_14, x_15, x_16, x_38); +x_65 = lean_ctor_get(x_64, 0); +lean_inc(x_65); +x_66 = lean_ctor_get(x_64, 1); +lean_inc(x_66); +lean_dec(x_64); +lean_inc(x_16); +lean_inc(x_15); +lean_inc(x_14); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_5); +x_67 = l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___spec__1___lambda__2(x_25, x_26, x_27, x_28, x_29, x_30, x_34, x_5, x_65, x_11, x_12, x_13, x_14, x_15, x_16, x_66); +lean_dec(x_65); +if (lean_obj_tag(x_67) == 0) +{ +lean_object* x_68; +x_68 = lean_ctor_get(x_67, 0); +lean_inc(x_68); +if (lean_obj_tag(x_68) == 0) +{ +uint8_t x_69; +lean_dec(x_22); +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_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_69 = !lean_is_exclusive(x_67); +if (x_69 == 0) +{ +lean_object* x_70; lean_object* x_71; +x_70 = lean_ctor_get(x_67, 0); +lean_dec(x_70); +x_71 = lean_ctor_get(x_68, 0); +lean_inc(x_71); +lean_dec(x_68); +lean_ctor_set(x_67, 0, x_71); +return x_67; +} +else +{ +lean_object* x_72; lean_object* x_73; lean_object* x_74; +x_72 = lean_ctor_get(x_67, 1); +lean_inc(x_72); +lean_dec(x_67); +x_73 = lean_ctor_get(x_68, 0); +lean_inc(x_73); +lean_dec(x_68); +x_74 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_74, 0, x_73); +lean_ctor_set(x_74, 1, x_72); +return x_74; +} +} +else +{ +lean_object* x_75; lean_object* x_76; lean_object* x_77; +x_75 = lean_ctor_get(x_67, 1); +lean_inc(x_75); +lean_dec(x_67); +x_76 = lean_ctor_get(x_68, 0); +lean_inc(x_76); +lean_dec(x_68); +x_77 = lean_nat_add(x_7, x_9); +lean_dec(x_7); +x_6 = x_22; +x_7 = x_77; +x_10 = x_76; +x_17 = x_75; +goto _start; +} +} +else +{ +uint8_t x_79; +lean_dec(x_22); +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_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_79 = !lean_is_exclusive(x_67); +if (x_79 == 0) +{ +return x_67; +} +else +{ +lean_object* x_80; lean_object* x_81; lean_object* x_82; +x_80 = lean_ctor_get(x_67, 0); +x_81 = lean_ctor_get(x_67, 1); +lean_inc(x_81); +lean_inc(x_80); +lean_dec(x_67); +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; +} +} +} +} +} +else +{ +uint8_t x_95; +lean_dec(x_30); +lean_dec(x_29); +lean_dec(x_28); +lean_dec(x_27); +lean_dec(x_25); +lean_dec(x_22); +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_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_95 = !lean_is_exclusive(x_33); +if (x_95 == 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_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; } } +} else { lean_object* x_99; +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_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); @@ -1459,71 +1448,96 @@ lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); x_99 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_99, 0, x_9); -lean_ctor_set(x_99, 1, x_16); +lean_ctor_set(x_99, 0, x_10); +lean_ctor_set(x_99, 1, x_17); return x_99; } } +else +{ +lean_object* x_100; +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_100 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_100, 0, x_10); +lean_ctor_set(x_100, 1, x_17); +return x_100; +} +} } LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___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; 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_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; x_12 = lean_ctor_get(x_1, 1); lean_inc(x_12); x_13 = lean_box(0); x_14 = l_List_mapTRAux___at_Lean_mkConstWithLevelParams___spec__1(x_12, x_13); -x_15 = lean_array_get_size(x_2); -x_16 = lean_unsigned_to_nat(0u); -x_17 = lean_unsigned_to_nat(1u); -x_18 = lean_box(0); -lean_inc(x_15); -x_19 = l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___spec__1(x_2, x_1, x_3, x_14, x_15, x_16, x_15, x_17, x_18, x_5, x_6, x_7, x_8, x_9, x_10, x_11); -lean_dec(x_15); -if (lean_obj_tag(x_19) == 0) +lean_inc(x_2); +x_15 = lean_array_to_list(lean_box(0), x_2); +x_16 = l_List_mapTRAux___at_Lean_Elab_addAndCompileUnsafe___spec__2(x_15, x_13); +x_17 = lean_array_get_size(x_2); +x_18 = lean_unsigned_to_nat(0u); +x_19 = lean_unsigned_to_nat(1u); +x_20 = lean_box(0); +lean_inc(x_17); +x_21 = l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___spec__1(x_2, x_1, x_3, x_14, x_16, x_17, x_18, x_17, x_19, x_20, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +lean_dec(x_17); +if (lean_obj_tag(x_21) == 0) { -uint8_t x_20; -x_20 = !lean_is_exclusive(x_19); -if (x_20 == 0) +uint8_t x_22; +x_22 = !lean_is_exclusive(x_21); +if (x_22 == 0) { -lean_object* x_21; -x_21 = lean_ctor_get(x_19, 0); +lean_object* x_23; +x_23 = lean_ctor_get(x_21, 0); +lean_dec(x_23); +lean_ctor_set(x_21, 0, x_20); +return x_21; +} +else +{ +lean_object* x_24; lean_object* x_25; +x_24 = lean_ctor_get(x_21, 1); +lean_inc(x_24); lean_dec(x_21); -lean_ctor_set(x_19, 0, x_18); -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_18); -lean_ctor_set(x_23, 1, x_22); -return x_23; +x_25 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_25, 0, x_20); +lean_ctor_set(x_25, 1, x_24); +return x_25; } } else { -uint8_t x_24; -x_24 = !lean_is_exclusive(x_19); -if (x_24 == 0) +uint8_t x_26; +x_26 = !lean_is_exclusive(x_21); +if (x_26 == 0) { -return x_19; +return x_21; } 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; +lean_object* x_27; lean_object* x_28; lean_object* x_29; +x_27 = lean_ctor_get(x_21, 0); +x_28 = lean_ctor_get(x_21, 1); +lean_inc(x_28); +lean_inc(x_27); +lean_dec(x_21); +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; } } } @@ -1635,25 +1649,42 @@ lean_dec(x_3); return x_15; } } -LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___spec__1___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) { +LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___spec__1___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16) { _start: { -uint8_t x_16; lean_object* x_17; -x_16 = lean_unbox(x_2); +uint8_t x_17; lean_object* x_18; +x_17 = lean_unbox(x_2); lean_dec(x_2); -x_17 = l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___spec__1___lambda__2(x_1, x_16, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15); -lean_dec(x_8); -return x_17; +x_18 = l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___spec__1___lambda__2(x_1, x_17, x_3, 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); +lean_dec(x_9); +return x_18; } } -LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16) { +LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___spec__1___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: { -lean_object* x_17; -x_17 = l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___spec__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, x_14, x_15, x_16); +lean_object* x_18; +x_18 = l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___spec__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, x_14, x_15, x_16, x_17); +lean_dec(x_9); lean_dec(x_8); -lean_dec(x_7); -return x_17; +return x_18; } } LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs___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) { @@ -4624,13 +4655,20 @@ lean_inc(x_11); x_14 = l_Array_mapMUnsafe_map___at_Lean_Elab_addAndCompileUnsafe___spec__1(x_1, x_2, x_3, x_7, x_8, x_9, x_10, x_11, x_12, x_13); if (lean_obj_tag(x_14) == 0) { -lean_object* x_15; lean_object* x_16; uint8_t x_17; lean_object* x_18; +lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t 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 = 0; +x_17 = lean_ctor_get(x_4, 3); +lean_inc(x_17); +x_18 = lean_box(0); +lean_inc(x_17); +x_19 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_19, 0, x_17); +lean_ctor_set(x_19, 1, x_18); +x_20 = 0; lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); @@ -4638,13 +4676,13 @@ lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); lean_inc(x_4); -x_18 = l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux(x_4, x_17, x_17, x_7, x_8, x_9, x_10, x_11, x_12, x_16); -if (lean_obj_tag(x_18) == 0) +x_21 = l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux(x_4, x_20, x_19, x_20, x_7, x_8, x_9, x_10, x_11, x_12, x_16); +if (lean_obj_tag(x_21) == 0) { -lean_object* x_19; lean_object* x_20; -x_19 = lean_ctor_get(x_18, 1); -lean_inc(x_19); -lean_dec(x_18); +lean_object* x_22; lean_object* x_23; +x_22 = lean_ctor_get(x_21, 1); +lean_inc(x_22); +lean_dec(x_21); lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); @@ -4652,43 +4690,70 @@ lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); lean_inc(x_5); -lean_inc(x_4); lean_inc(x_15); -x_20 = l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs(x_15, x_4, x_5, x_7, x_8, x_9, x_10, x_11, x_12, x_19); -if (lean_obj_tag(x_20) == 0) +x_23 = l___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs(x_15, x_4, x_5, x_7, x_8, x_9, x_10, x_11, x_12, x_22); +if (lean_obj_tag(x_23) == 0) { -lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; size_t x_26; lean_object* x_27; lean_object* x_28; -x_21 = lean_ctor_get(x_20, 1); -lean_inc(x_21); -lean_dec(x_20); -x_22 = lean_ctor_get(x_4, 3); -lean_inc(x_22); -lean_dec(x_4); -lean_inc(x_15); -x_23 = l_Lean_Elab_WF_registerEqnsInfo(x_15, x_22, x_5, x_11, x_12, x_21); +lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; size_t x_28; lean_object* x_29; lean_object* x_30; x_24 = lean_ctor_get(x_23, 1); lean_inc(x_24); lean_dec(x_23); -x_25 = lean_array_get_size(x_15); -x_26 = lean_usize_of_nat(x_25); +lean_inc(x_15); +x_25 = l_Lean_Elab_WF_registerEqnsInfo(x_15, x_17, x_5, x_11, x_12, x_24); +x_26 = lean_ctor_get(x_25, 1); +lean_inc(x_26); lean_dec(x_25); -x_27 = lean_box(0); +x_27 = lean_array_get_size(x_15); +x_28 = lean_usize_of_nat(x_27); +lean_dec(x_27); +x_29 = lean_box(0); lean_inc(x_12); lean_inc(x_11); lean_inc(x_7); -x_28 = l_Array_forInUnsafe_loop___at_Lean_Elab_wfRecursion___spec__1(x_15, x_26, x_2, x_27, x_7, x_8, x_9, x_10, x_11, x_12, x_24); -if (lean_obj_tag(x_28) == 0) +x_30 = l_Array_forInUnsafe_loop___at_Lean_Elab_wfRecursion___spec__1(x_15, x_28, x_2, x_29, x_7, x_8, x_9, x_10, x_11, x_12, x_26); +if (lean_obj_tag(x_30) == 0) +{ +lean_object* x_31; lean_object* x_32; +x_31 = lean_ctor_get(x_30, 1); +lean_inc(x_31); +lean_dec(x_30); +x_32 = l_Lean_Elab_addAndCompilePartialRec(x_15, x_7, x_8, x_9, x_10, x_11, x_12, x_31); +return x_32; +} +else +{ +uint8_t x_33; +lean_dec(x_15); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +x_33 = !lean_is_exclusive(x_30); +if (x_33 == 0) { -lean_object* x_29; lean_object* x_30; -x_29 = lean_ctor_get(x_28, 1); -lean_inc(x_29); -lean_dec(x_28); -x_30 = l_Lean_Elab_addAndCompilePartialRec(x_15, x_7, x_8, x_9, x_10, x_11, x_12, x_29); return x_30; } else { -uint8_t x_31; +lean_object* x_34; lean_object* x_35; lean_object* x_36; +x_34 = lean_ctor_get(x_30, 0); +x_35 = lean_ctor_get(x_30, 1); +lean_inc(x_35); +lean_inc(x_34); +lean_dec(x_30); +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; +} +} +} +else +{ +uint8_t x_37; +lean_dec(x_17); lean_dec(x_15); lean_dec(x_12); lean_dec(x_11); @@ -4696,29 +4761,31 @@ lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); -x_31 = !lean_is_exclusive(x_28); -if (x_31 == 0) +lean_dec(x_5); +x_37 = !lean_is_exclusive(x_23); +if (x_37 == 0) { -return x_28; +return x_23; } else { -lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_32 = lean_ctor_get(x_28, 0); -x_33 = lean_ctor_get(x_28, 1); -lean_inc(x_33); -lean_inc(x_32); -lean_dec(x_28); -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; +lean_object* x_38; lean_object* x_39; lean_object* x_40; +x_38 = lean_ctor_get(x_23, 0); +x_39 = lean_ctor_get(x_23, 1); +lean_inc(x_39); +lean_inc(x_38); +lean_dec(x_23); +x_40 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_40, 0, x_38); +lean_ctor_set(x_40, 1, x_39); +return x_40; } } } else { -uint8_t x_35; +uint8_t x_41; +lean_dec(x_17); lean_dec(x_15); lean_dec(x_12); lean_dec(x_11); @@ -4728,30 +4795,29 @@ lean_dec(x_8); lean_dec(x_7); lean_dec(x_5); lean_dec(x_4); -x_35 = !lean_is_exclusive(x_20); -if (x_35 == 0) +x_41 = !lean_is_exclusive(x_21); +if (x_41 == 0) { -return x_20; +return x_21; } else { -lean_object* x_36; lean_object* x_37; lean_object* x_38; -x_36 = lean_ctor_get(x_20, 0); -x_37 = lean_ctor_get(x_20, 1); -lean_inc(x_37); -lean_inc(x_36); -lean_dec(x_20); -x_38 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_38, 0, x_36); -lean_ctor_set(x_38, 1, x_37); -return x_38; +lean_object* x_42; lean_object* x_43; lean_object* x_44; +x_42 = lean_ctor_get(x_21, 0); +x_43 = lean_ctor_get(x_21, 1); +lean_inc(x_43); +lean_inc(x_42); +lean_dec(x_21); +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_39; -lean_dec(x_15); +uint8_t x_45; lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); @@ -4760,54 +4826,23 @@ lean_dec(x_8); lean_dec(x_7); lean_dec(x_5); lean_dec(x_4); -x_39 = !lean_is_exclusive(x_18); -if (x_39 == 0) -{ -return x_18; -} -else -{ -lean_object* x_40; lean_object* x_41; lean_object* x_42; -x_40 = lean_ctor_get(x_18, 0); -x_41 = lean_ctor_get(x_18, 1); -lean_inc(x_41); -lean_inc(x_40); -lean_dec(x_18); -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_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_4); -x_43 = !lean_is_exclusive(x_14); -if (x_43 == 0) +x_45 = !lean_is_exclusive(x_14); +if (x_45 == 0) { return x_14; } else { -lean_object* x_44; lean_object* x_45; lean_object* x_46; -x_44 = lean_ctor_get(x_14, 0); -x_45 = lean_ctor_get(x_14, 1); -lean_inc(x_45); -lean_inc(x_44); +lean_object* x_46; lean_object* x_47; lean_object* x_48; +x_46 = lean_ctor_get(x_14, 0); +x_47 = lean_ctor_get(x_14, 1); +lean_inc(x_47); +lean_inc(x_46); lean_dec(x_14); -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; +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; } } } @@ -5575,7 +5610,7 @@ lean_dec(x_5); return x_15; } } -LEAN_EXPORT lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_2101_(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_2114_(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; @@ -5717,7 +5752,7 @@ l_Lean_Elab_wfRecursion___closed__5 = _init_l_Lean_Elab_wfRecursion___closed__5( lean_mark_persistent(l_Lean_Elab_wfRecursion___closed__5); l_Lean_Elab_wfRecursion___closed__6 = _init_l_Lean_Elab_wfRecursion___closed__6(); lean_mark_persistent(l_Lean_Elab_wfRecursion___closed__6); -res = l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_2101_(lean_io_mk_world()); +res = l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_2114_(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));