diff --git a/stage0/src/Lean/Elab/PreDefinition/Structural/BRecOn.lean b/stage0/src/Lean/Elab/PreDefinition/Structural/BRecOn.lean index 2fefbb0f3b..307b47a131 100644 --- a/stage0/src/Lean/Elab/PreDefinition/Structural/BRecOn.lean +++ b/stage0/src/Lean/Elab/PreDefinition/Structural/BRecOn.lean @@ -3,6 +3,7 @@ Copyright (c) 2021 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura -/ +import Lean.Util.HasConstCache import Lean.Meta.Match.Match import Lean.Elab.RecAppSyntax import Lean.Elab.PreDefinition.Basic @@ -97,7 +98,11 @@ def refinedArgType (matcherApp : MatcherApp) (arg : Expr) : MetaM Bool := do return false private partial def replaceRecApps (recFnName : Name) (recArgInfo : RecArgInfo) (below : Expr) (e : Expr) : M Expr := - let rec loop (below : Expr) (e : Expr) : M Expr := do + let containsRecFn (e : Expr) : StateRefT (HasConstCache recFnName) M Bool := + modifyGet (·.contains e) + let rec loop (below : Expr) (e : Expr) : StateRefT (HasConstCache recFnName) M Expr := do + if !(← containsRecFn e) then + return e match e with | Expr.lam n d b c => withLocalDecl n c.binderInfo (← loop below d) fun x => do @@ -115,7 +120,7 @@ private partial def replaceRecApps (recFnName : Name) (recArgInfo : RecArgInfo) return mkMData d (← loop below b) | Expr.proj n i e _ => return mkProj n i (← loop below e) | Expr.app _ _ _ => - let processApp (e : Expr) : M Expr := + let processApp (e : Expr) : StateRefT (HasConstCache recFnName) M Expr := e.withApp fun f args => do if f.isConstOf recFnName then let numFixed := recArgInfo.fixedParams.size @@ -175,7 +180,7 @@ private partial def replaceRecApps (recFnName : Name) (recArgInfo : RecArgInfo) pure { matcherApp with alts := altsNew }.toExpr | none => processApp e | e => ensureNoRecFn recFnName e - loop below e + loop below e |>.run' {} def mkBRecOn (recFnName : Name) (recArgInfo : RecArgInfo) (value : Expr) : M Expr := do trace[Elab.definition.structural] "mkBRecOn: {value}" diff --git a/stage0/src/Lean/Elab/PreDefinition/Structural/Basic.lean b/stage0/src/Lean/Elab/PreDefinition/Structural/Basic.lean index 14bbb60b73..ff7f265b0e 100644 --- a/stage0/src/Lean/Elab/PreDefinition/Structural/Basic.lean +++ b/stage0/src/Lean/Elab/PreDefinition/Structural/Basic.lean @@ -30,7 +30,7 @@ structure State where As a side-effect, this creates matchers. Here we capture all these side-effects, because the construction rolls back any changes done to the environment and the side-effects need to be replayed. -/ - addMatchers : Array $ MetaM Unit := #[] + addMatchers : Array (MetaM Unit) := #[] abbrev M := StateRefT State MetaM diff --git a/stage0/src/Lean/Elab/PreDefinition/WF/Fix.lean b/stage0/src/Lean/Elab/PreDefinition/WF/Fix.lean index 1881c7750b..5ef97696f5 100644 --- a/stage0/src/Lean/Elab/PreDefinition/WF/Fix.lean +++ b/stage0/src/Lean/Elab/PreDefinition/WF/Fix.lean @@ -3,6 +3,7 @@ Copyright (c) 2021 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura -/ +import Lean.Util.HasConstCache import Lean.Meta.Match.Match import Lean.Meta.Tactic.Simp.Main import Lean.Meta.Tactic.Cleanup @@ -30,9 +31,9 @@ private def mkDecreasingProof (decreasingProp : Expr) (decrTactic? : Option Synt instantiateMVars mvar private partial def replaceRecApps (recFnName : Name) (fixedPrefixSize : Nat) (decrTactic? : Option Syntax) (F : Expr) (e : Expr) : TermElabM Expr := - loop F e + loop F e |>.run' {} where - processRec (F : Expr) (e : Expr) : TermElabM Expr := do + processRec (F : Expr) (e : Expr) : StateRefT (HasConstCache recFnName) TermElabM Expr := do if e.getAppNumArgs < fixedPrefixSize + 1 then loop F (← etaExpand e) else @@ -42,13 +43,18 @@ where let r := mkApp r (← mkDecreasingProof decreasingProp decrTactic?) return mkAppN r (← args[fixedPrefixSize+1:].toArray.mapM (loop F)) - processApp (F : Expr) (e : Expr) : TermElabM Expr := do + processApp (F : Expr) (e : Expr) : StateRefT (HasConstCache recFnName) TermElabM Expr := do if e.isAppOf recFnName then processRec F e else e.withApp fun f args => return mkAppN (← loop F f) (← args.mapM (loop F)) - loop (F : Expr) (e : Expr) : TermElabM Expr := do + containsRecFn (e : Expr) : StateRefT (HasConstCache recFnName) TermElabM Bool := do + modifyGet (·.contains e) + + loop (F : Expr) (e : Expr) : StateRefT (HasConstCache recFnName) TermElabM Expr := do + if !(← containsRecFn e) then + return e match e with | Expr.lam n d b c => withLocalDecl n c.binderInfo (← loop F d) fun x => do diff --git a/stage0/src/Lean/Expr.lean b/stage0/src/Lean/Expr.lean index 66f8cb479d..2ee984ea98 100644 --- a/stage0/src/Lean/Expr.lean +++ b/stage0/src/Lean/Expr.lean @@ -133,9 +133,8 @@ def Expr.mkData (hasFVar hasExprMVar hasLevelMVar hasLevelParam : Bool := false) (bi : BinderInfo := BinderInfo.default) (nonDepLet : Bool := false) : Expr.Data := let approxDepth : UInt8 := if approxDepth > 255 then 255 else approxDepth.toUInt8 - if looseBVarRange > Nat.pow 2 16 - 1 then panic! "bound variable index is too big" - else - let r : UInt64 := + assert! (looseBVarRange ≤ Nat.pow 2 16 - 1) + let r : UInt64 := h.toUInt32.toUInt64 + hasFVar.toUInt64.shiftLeft 32 + hasExprMVar.toUInt64.shiftLeft 33 + @@ -145,7 +144,11 @@ def Expr.mkData bi.toUInt64.shiftLeft 37 + approxDepth.toUInt64.shiftLeft 40 + looseBVarRange.toUInt64.shiftLeft 48 - r + r + +/-- Optimized version of `Expr.mkData` for applications. -/ +@[extern c inline "(((uint64_t)#5) << 48) | (((uint64_t)#4) << 40) | ((((#1 | #2) << 28) >> 60) << 32) | ((uint64_t)((uint32_t)#3))"] +constant Expr.mkAppData (fData : Data) (aData : Data) (hash : UInt64) (approxDepth : UInt8) (looseBVarRange : UInt16) : Data @[inline] def Expr.mkDataForBinder (h : UInt64) (looseBVarRange : Nat) (approxDepth : UInt32) (hasFVar hasExprMVar hasLevelMVar hasLevelParam : Bool) (bi : BinderInfo) : Expr.Data := Expr.mkData h looseBVarRange approxDepth hasFVar hasExprMVar hasLevelMVar hasLevelParam bi false @@ -215,7 +218,8 @@ inductive Expr where namespace Expr -@[inline] def data : Expr → Data +@[extern c inline "lean_ctor_get_uint64(#1, lean_ctor_num_objs(#1)*sizeof(void*))"] +def data : (@& Expr) → Data | bvar _ d => d | fvar _ d => d | mvar _ d => d @@ -316,14 +320,14 @@ def mkProj (s : Name) (i : Nat) (e : Expr) : Expr := e.looseBVarRange d e.hasFVar e.hasExprMVar e.hasLevelMVar e.hasLevelParam def mkApp (f a : Expr) : Expr := - let d := (max f.approxDepth a.approxDepth) + 1 - Expr.app f a <| mkData (mixHash d.toUInt64 <| mixHash (hash f) (hash a)) - (max f.looseBVarRange a.looseBVarRange) - d - (f.hasFVar || a.hasFVar) - (f.hasExprMVar || a.hasExprMVar) - (f.hasLevelMVar || a.hasLevelMVar) - (f.hasLevelParam || a.hasLevelParam) + let fData := f.data + let aData := a.data + let depth := (max fData.approxDepth.toUInt16 aData.approxDepth.toUInt16) + 1 + let depth := if depth > 255 then 255 else depth.toUInt8 + let range := max fData.looseBVarRange aData.looseBVarRange + let hash := mixHash fData aData + assert! (range ≤ (Nat.pow 2 16 - 1).toUInt32) + Expr.app f a (mkAppData fData aData hash depth range.toUInt16) def mkLambda (x : Name) (bi : BinderInfo) (t : Expr) (b : Expr) : Expr := let d := (max t.approxDepth b.approxDepth) + 1 @@ -438,6 +442,9 @@ constant eqv (a : @& Expr) (b : @& Expr) : Bool instance : BEq Expr where beq := Expr.eqv +protected unsafe def ptrEq (a b : Expr) : Bool := + ptrAddrUnsafe a == ptrAddrUnsafe b + /- Return true iff `a` and `b` are equal. Binder names and annotations are taking into account. -/ @[extern "lean_expr_equal"] diff --git a/stage0/src/Lean/Util.lean b/stage0/src/Lean/Util.lean index efa27dd826..e574e39ae6 100644 --- a/stage0/src/Lean/Util.lean +++ b/stage0/src/Lean/Util.lean @@ -23,3 +23,4 @@ import Lean.Util.FoldConsts import Lean.Util.SCC import Lean.Util.OccursCheck import Lean.Util.Paths +import Lean.Util.HasConstCache diff --git a/stage0/src/Lean/Util/HasConstCache.lean b/stage0/src/Lean/Util/HasConstCache.lean new file mode 100644 index 0000000000..0f52ecc8a8 --- /dev/null +++ b/stage0/src/Lean/Util/HasConstCache.lean @@ -0,0 +1,37 @@ +/- +Copyright (c) 2022 Microsoft Corporation. All rights reserved. +Released under Apache 2.0 license as described in the file LICENSE. +Authors: Leonardo de Moura +-/ +import Lean.Expr + +namespace Lean + +structure HasConstCache (declName : Name) where + cache : Std.HashMapImp Expr Bool := Std.mkHashMapImp + +unsafe def HasConstCache.containsUnsafe (e : Expr) : StateM (HasConstCache declName) Bool := do + if let some r := (← get).cache.find? (beq := ⟨Expr.ptrEq⟩) e then + return r + else + match e with + | .const n .. => return n == declName + | .app f a _ => cache e (← containsUnsafe f <||> containsUnsafe a) + | .lam _ d b _ => cache e (← containsUnsafe d <||> containsUnsafe b) + | .forallE _ d b _ => cache e (← containsUnsafe d <||> containsUnsafe b) + | .letE _ t v b _ => cache e (← containsUnsafe t <||> containsUnsafe v <||> containsUnsafe b) + | .mdata _ b _ => cache e (← containsUnsafe b) + | .proj _ _ b _ => cache e (← containsUnsafe b) + | _ => return false +where + cache (e : Expr) (r : Bool) : StateM (HasConstCache declName) Bool := do + modify fun ⟨cache⟩ => ⟨cache.insert (beq := ⟨Expr.ptrEq⟩) e r |>.1⟩ + return r + +/-- + Return true iff `e` contains the constant `declName`. + Remark: the results for visited expressions are stored in the state cache. -/ +@[implementedBy HasConstCache.containsUnsafe] +constant HasConstCache.contains (e : Expr) : StateM (HasConstCache declName) Bool + +end Lean diff --git a/stage0/src/Std/Data/HashMap.lean b/stage0/src/Std/Data/HashMap.lean index f08ab6e12f..160223408d 100644 --- a/stage0/src/Std/Data/HashMap.lean +++ b/stage0/src/Std/Data/HashMap.lean @@ -64,7 +64,7 @@ def findEntry? [BEq α] [Hashable α] (m : HashMapImp α β) (a : α) : Option ( let ⟨i, h⟩ := mkIdx buckets.property (hash a |>.toUSize) (buckets.val.uget i h).findEntry? a -def find? [BEq α] [Hashable α] (m : HashMapImp α β) (a : α) : Option β := +def find? [beq : BEq α] [Hashable α] (m : HashMapImp α β) (a : α) : Option β := match m with | ⟨_, buckets⟩ => let ⟨i, h⟩ := mkIdx buckets.property (hash a |>.toUSize) @@ -94,7 +94,7 @@ def expand [Hashable α] (size : Nat) (buckets : HashMapBucket α β) : HashMapI { size := size, buckets := moveEntries 0 buckets.val new_buckets } -@[inline] def insert [BEq α] [Hashable α] (m : HashMapImp α β) (a : α) (b : β) : HashMapImp α β × Bool := +@[inline] def insert [beq : BEq α] [Hashable α] (m : HashMapImp α β) (a : α) (b : β) : HashMapImp α β × Bool := match m with | ⟨size, buckets⟩ => let ⟨i, h⟩ := mkIdx buckets.property (hash a |>.toUSize) diff --git a/stage0/stdlib/Lean/Data/Lsp/Internal.c b/stage0/stdlib/Lean/Data/Lsp/Internal.c index b354f0f27e..61fda87f9c 100644 --- a/stage0/stdlib/Lean/Data/Lsp/Internal.c +++ b/stage0/stdlib/Lean/Data/Lsp/Internal.c @@ -21,7 +21,7 @@ lean_object* l___private_Std_Data_HashMap_0__Std_numBucketsForCapacity(lean_obje LEAN_EXPORT lean_object* l_Std_HashMapImp_expand___at_Lean_Lsp_instFromJsonModuleRefs___spec__3(lean_object*, lean_object*); uint8_t lean_usize_dec_eq(size_t, size_t); lean_object* lean_array_uget(lean_object*, size_t); -uint64_t l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1732_(lean_object*); +uint64_t l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1754_(lean_object*); LEAN_EXPORT lean_object* l_Std_RBNode_foldM___at_Lean_Lsp_instFromJsonModuleRefs___spec__8(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Lsp_instToJsonRefInfo___spec__2(size_t, size_t, lean_object*); LEAN_EXPORT uint64_t l___private_Lean_Data_Lsp_Internal_0__Lean_Lsp_hashRefIdent____x40_Lean_Data_Lsp_Internal___hyg_106_(lean_object*); @@ -219,7 +219,7 @@ else lean_object* x_6; uint64_t x_7; uint64_t x_8; uint64_t x_9; x_6 = lean_ctor_get(x_1, 0); x_7 = 1; -x_8 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1732_(x_6); +x_8 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1754_(x_6); x_9 = lean_uint64_mix_hash(x_7, x_8); return x_9; } diff --git a/stage0/stdlib/Lean/Declaration.c b/stage0/stdlib/Lean/Declaration.c index 41c262e56c..786827a05f 100644 --- a/stage0/stdlib/Lean/Declaration.c +++ b/stage0/stdlib/Lean/Declaration.c @@ -38,6 +38,7 @@ LEAN_EXPORT lean_object* l_List_foldlM___at_Lean_Declaration_forExprM___spec__2( LEAN_EXPORT lean_object* lean_mk_reducibility_hints_regular(uint32_t); LEAN_EXPORT lean_object* l_List_foldlM___at_Lean_Declaration_forExprM___spec__2___rarg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_foldlM___at_Lean_Declaration_forExprM___spec__3___rarg(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_panic___at_Lean_mkApp___spec__1(lean_object*); LEAN_EXPORT uint8_t lean_opaque_val_is_unsafe(lean_object*); static lean_object* l___private_Lean_Declaration_0__Lean_reprDefinitionSafety____x40_Lean_Declaration___hyg_277____closed__6; LEAN_EXPORT uint8_t l_Lean_ConstantInfo_isInductive(lean_object*); @@ -94,7 +95,6 @@ LEAN_EXPORT lean_object* l_Lean_DefinitionSafety_toCtorIdx___boxed(lean_object*) LEAN_EXPORT lean_object* l_Lean_DefinitionSafety_toCtorIdx(uint8_t); LEAN_EXPORT lean_object* l_List_foldlM___at_Lean_Declaration_forExprM___spec__3(lean_object*); static lean_object* l_Lean_instInhabitedConstructor___closed__1; -lean_object* l_panic___at_Lean_Expr_getRevArg_x21___spec__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_ConstantInfo_toConstantVal(lean_object*); LEAN_EXPORT uint8_t l_Lean_ReducibilityHints_isRegular(lean_object*); LEAN_EXPORT lean_object* l_List_foldlM___at_Lean_Declaration_forExprM___spec__2___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*); @@ -2619,7 +2619,7 @@ default: { lean_object* x_6; lean_object* x_7; x_6 = l_Lean_ConstantInfo_value_x21___closed__4; -x_7 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_6); +x_7 = l_panic___at_Lean_mkApp___spec__1(x_6); return x_7; } } diff --git a/stage0/stdlib/Lean/Elab/Match.c b/stage0/stdlib/Lean/Elab/Match.c index dcc987bfff..1a4ae42f88 100644 --- a/stage0/stdlib/Lean/Elab/Match.c +++ b/stage0/stdlib/Lean/Elab/Match.c @@ -15094,7 +15094,6 @@ lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); -lean_dec(x_4); lean_dec(x_3); lean_dec(x_1); x_40 = !lean_is_exclusive(x_18); @@ -15678,19 +15677,16 @@ x_133 = lean_unsigned_to_nat(1u); x_134 = lean_nat_sub(x_132, x_133); x_135 = lean_nat_sub(x_134, x_133); lean_dec(x_134); -lean_inc(x_1); x_136 = l_Lean_Expr_getRevArg_x21(x_1, x_135); x_137 = lean_unsigned_to_nat(2u); x_138 = lean_nat_sub(x_132, x_137); x_139 = lean_nat_sub(x_138, x_133); lean_dec(x_138); -lean_inc(x_1); x_140 = l_Lean_Expr_getRevArg_x21(x_1, x_139); x_141 = lean_unsigned_to_nat(3u); x_142 = lean_nat_sub(x_132, x_141); x_143 = lean_nat_sub(x_142, x_133); lean_dec(x_142); -lean_inc(x_1); x_144 = l_Lean_Expr_getRevArg_x21(x_1, x_143); x_153 = l_Lean_Expr_isFVar(x_136); if (x_153 == 0) @@ -15727,6 +15723,7 @@ lean_object* x_157; lean_object* x_158; x_157 = lean_box(0); x_158 = l_Lean_Elab_Term_ToDepElimPattern_normalize___lambda__2(x_136, x_140, x_144, x_1, x_132, x_157, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); lean_dec(x_132); +lean_dec(x_1); return x_158; } } @@ -15897,6 +15894,7 @@ lean_object* x_16; x_16 = l_Lean_Elab_Term_ToDepElimPattern_normalize___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15); lean_dec(x_6); lean_dec(x_5); +lean_dec(x_4); return x_16; } } @@ -16100,7 +16098,6 @@ x_9 = lean_nat_sub(x_7, x_8); x_10 = lean_unsigned_to_nat(1u); x_11 = lean_nat_sub(x_9, x_10); lean_dec(x_9); -lean_inc(x_1); x_12 = l_Lean_Expr_getRevArg_x21(x_1, x_11); x_13 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_unpackMatchTypePatterns(x_12); x_14 = !lean_is_exclusive(x_13); @@ -16114,6 +16111,7 @@ lean_dec(x_7); x_18 = lean_nat_sub(x_17, x_10); lean_dec(x_17); x_19 = l_Lean_Expr_getRevArg_x21(x_1, x_18); +lean_dec(x_1); x_20 = lean_array_push(x_15, x_19); lean_ctor_set(x_13, 1, x_20); return x_13; @@ -16132,6 +16130,7 @@ lean_dec(x_7); x_25 = lean_nat_sub(x_24, x_10); lean_dec(x_24); x_26 = l_Lean_Expr_getRevArg_x21(x_1, x_25); +lean_dec(x_1); x_27 = lean_array_push(x_22, x_26); x_28 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_28, 0, x_21); @@ -16772,7 +16771,6 @@ x_76 = lean_nat_sub(x_74, x_75); x_77 = lean_unsigned_to_nat(1u); x_78 = lean_nat_sub(x_76, x_77); lean_dec(x_76); -lean_inc(x_1); x_79 = l_Lean_Expr_getRevArg_x21(x_1, x_78); lean_inc(x_5); lean_inc(x_4); @@ -16792,13 +16790,13 @@ x_84 = lean_unsigned_to_nat(3u); x_85 = lean_nat_sub(x_74, x_84); x_86 = lean_nat_sub(x_85, x_77); lean_dec(x_85); -lean_inc(x_1); x_87 = l_Lean_Expr_getRevArg_x21(x_1, x_86); x_88 = lean_nat_sub(x_74, x_77); lean_dec(x_74); x_89 = lean_nat_sub(x_88, x_77); lean_dec(x_88); x_90 = l_Lean_Expr_getRevArg_x21(x_1, x_89); +lean_dec(x_1); if (lean_obj_tag(x_90) == 1) { if (lean_obj_tag(x_87) == 1) @@ -16865,13 +16863,13 @@ x_100 = lean_unsigned_to_nat(3u); x_101 = lean_nat_sub(x_74, x_100); x_102 = lean_nat_sub(x_101, x_77); lean_dec(x_101); -lean_inc(x_1); x_103 = l_Lean_Expr_getRevArg_x21(x_1, x_102); x_104 = lean_nat_sub(x_74, x_77); lean_dec(x_74); x_105 = lean_nat_sub(x_104, x_77); lean_dec(x_104); x_106 = l_Lean_Expr_getRevArg_x21(x_1, x_105); +lean_dec(x_1); if (lean_obj_tag(x_106) == 1) { if (lean_obj_tag(x_103) == 1) @@ -21480,6 +21478,7 @@ x_23 = lean_unsigned_to_nat(1u); x_24 = lean_nat_sub(x_22, x_23); lean_dec(x_22); x_25 = l_Lean_Expr_getRevArg_x21(x_14, x_24); +lean_dec(x_14); x_1 = x_25; x_2 = x_11; x_7 = x_15; @@ -21540,6 +21539,7 @@ x_38 = lean_unsigned_to_nat(1u); x_39 = lean_nat_sub(x_37, x_38); lean_dec(x_37); x_40 = l_Lean_Expr_getRevArg_x21(x_27, x_39); +lean_dec(x_27); x_1 = x_40; x_2 = x_11; x_7 = x_28; diff --git a/stage0/stdlib/Lean/Elab/MutualDef.c b/stage0/stdlib/Lean/Elab/MutualDef.c index d19f000507..cccb5f4320 100644 --- a/stage0/stdlib/Lean/Elab/MutualDef.c +++ b/stage0/stdlib/Lean/Elab/MutualDef.c @@ -556,6 +556,7 @@ lean_object* l_Lean_Name_append(lean_object*, lean_object*); lean_object* l_Lean_throwError___at_Lean_Elab_Command_expandDeclId___spec__4(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_typeHasRecFun(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_getKind(lean_object*); +lean_object* l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processSumCasesOn___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___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureForAux___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Command_elabMutualDef___spec__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_eraseAuxDiscr(lean_object*, lean_object*, lean_object*, lean_object*); @@ -603,7 +604,6 @@ lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Meta_Tactic_Intro_0__Lea LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_check___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_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_List_foldr___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_typeHasRecFun___spec__1___boxed(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__3___rarg(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_Term_processDefDeriving___spec__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_registerFailedToInferDefTypeInfo___closed__1; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosureFor___spec__1(lean_object*, size_t, size_t, lean_object*); @@ -16808,7 +16808,7 @@ lean_closure_set(x_13, 0, x_1); lean_closure_set(x_13, 1, x_2); lean_closure_set(x_13, 2, x_10); lean_closure_set(x_13, 3, x_11); -x_14 = lean_alloc_closure((void*)(l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__3___rarg), 9, 2); +x_14 = lean_alloc_closure((void*)(l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processSumCasesOn___spec__1___rarg), 9, 2); lean_closure_set(x_14, 0, x_12); lean_closure_set(x_14, 1, x_13); x_15 = l_Lean_Meta_withLCtx___at_Lean_Elab_Term_mvarsToParams___spec__1___rarg(x_10, x_11, x_14, x_3, x_4, x_5, x_6, x_7, x_8, x_9); diff --git a/stage0/stdlib/Lean/Elab/PreDefinition/Structural/BRecOn.c b/stage0/stdlib/Lean/Elab/PreDefinition/Structural/BRecOn.c index c50201a923..f614a20a0d 100644 --- a/stage0/stdlib/Lean/Elab/PreDefinition/Structural/BRecOn.c +++ b/stage0/stdlib/Lean/Elab/PreDefinition/Structural/BRecOn.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Elab.PreDefinition.Structural.BRecOn -// Imports: Init Lean.Meta.Match.Match Lean.Elab.RecAppSyntax Lean.Elab.PreDefinition.Basic Lean.Elab.PreDefinition.Structural.Basic +// Imports: Init Lean.Util.HasConstCache Lean.Meta.Match.Match Lean.Elab.RecAppSyntax Lean.Elab.PreDefinition.Basic Lean.Elab.PreDefinition.Structural.Basic #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -15,77 +15,95 @@ extern "C" { #endif static lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_Structural_refinedArgType___spec__1___lambda__2___closed__8; LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelow___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__3(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_set(lean_object*, lean_object*, lean_object*); static lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_Structural_refinedArgType___spec__1___lambda__2___closed__3; +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Structural_mkBRecOn___lambda__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__10___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_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___lambda__2___closed__2; LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); size_t lean_usize_add(size_t, size_t); LEAN_EXPORT lean_object* l_Lean_Elab_Structural_mkBRecOn___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_HasConstCache_containsUnsafe(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__26(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Structural_mkBRecOn___lambda__1___closed__1; static lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___lambda__5___closed__1; lean_object* l_Lean_stringToMessageData(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__21(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__12___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_mk_empty_array_with_capacity(lean_object*); uint8_t l_Array_contains___at___private_Lean_Meta_FunInfo_0__Lean_Meta_collectDeps_visit___spec__2(lean_object*, lean_object*); lean_object* l_Lean_mkSort(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_getMatcherInfo_x3f___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__2___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_mkForallFVars(lean_object*, lean_object*, uint8_t, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___lambda__2___closed__3; +LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__1___closed__3; LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_Structural_refinedArgType___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___lambda__5___closed__7; -LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___lambda__5___closed__8; +LEAN_EXPORT lean_object* l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__21___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_name_mk_string(lean_object*, lean_object*); static lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_Structural_refinedArgType___spec__1___lambda__2___closed__2; uint8_t lean_usize_dec_eq(size_t, size_t); lean_object* lean_array_uget(lean_object*, size_t); +LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__12___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_append___rarg(lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___closed__7; +LEAN_EXPORT lean_object* l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__6___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_MatcherApp_addArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_mkAppM(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__18(lean_object*); lean_object* lean_array_uset(lean_object*, size_t, lean_object*); lean_object* l_Lean_throwError___at___private_Lean_Meta_Basic_0__Lean_Meta_processPostponedStep___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_forallTelescopeReducing___at_Lean_Meta_getParamNames___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___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_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_extract___rarg(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__10___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__15___boxed(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_withLetDecl___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__27___boxed(lean_object*, lean_object*); lean_object* l_Lean_getRecAppSyntax_x3f(lean_object*); +static lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__6___closed__4; +LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__24___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_saveState___rarg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withLocalDeclImp___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Meta_matchMatcherApp_x3f___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__2___boxed(lean_object**); +LEAN_EXPORT lean_object* l_Lean_Meta_matchMatcherApp_x3f___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_checkTraceOption(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__10___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Structural_mkBRecOn___lambda__3___closed__1; lean_object* lean_st_ref_get(lean_object*, lean_object*); uint8_t l_Lean_Elab_Structural_recArgHasLooseBVarsAt(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Meta_withLetDecl___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19(lean_object*); +static lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__6___closed__1; LEAN_EXPORT lean_object* l_Lean_Elab_Structural_mkBRecOn___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__26___boxed(lean_object*, lean_object*); lean_object* l_Lean_Meta_withLocalDecl___at_Lean_Meta_forallTelescopeCompatibleAux___spec__15___rarg(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_Structural_refinedArgType___spec__1___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14___closed__4; +static lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__6___closed__2; static lean_object* l_Lean_Elab_Structural_mkBRecOn___lambda__3___closed__2; LEAN_EXPORT lean_object* l_Lean_Meta_forallBoundedTelescope___at_Lean_Elab_Structural_mkBRecOn___spec__1(lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Structural_mkBRecOn___lambda__3___boxed(lean_object**); lean_object* lean_expr_instantiate1(lean_object*, lean_object*); lean_object* l_Array_toSubarray___rarg(lean_object*, lean_object*, lean_object*); lean_object* lean_array_push(lean_object*, lean_object*); lean_object* lean_array_get_size(lean_object*); lean_object* l_Lean_MessageData_ofList(lean_object*); +LEAN_EXPORT lean_object* l_Lean_addTrace___at_Lean_Elab_Structural_mkBRecOn___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___lambda__5___closed__3; -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14___closed__3; +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__26___rarg(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_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___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_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__10___boxed(lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___lambda__4___closed__1; LEAN_EXPORT lean_object* l_Lean_Elab_Structural_mkBRecOn___lambda__10(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__16(lean_object*); static lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_withBelowDict___spec__1___rarg___lambda__3___closed__1; -LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__18___rarg___lambda__1(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_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__3___closed__4; -LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__18___rarg(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_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22(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_object* l_Lean_Expr_replaceFVars(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___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_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___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*); uint8_t lean_usize_dec_lt(size_t, size_t); LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_throwToBelowFailed___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_withBelowDict___spec__1___rarg___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -93,12 +111,10 @@ extern lean_object* l_Lean_binductionOnSuffix; static lean_object* l_Lean_Elab_Structural_mkBRecOn___lambda__6___closed__1; extern lean_object* l_Lean_levelZero; lean_object* lean_nat_add(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_Structural_refinedArgType___spec__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__13(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_zip___rarg(lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___lambda__5___closed__5; -LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__12(lean_object*, lean_object*, lean_object*, lean_object*, lean_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_Structural_mkBRecOn___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Structural_mkBRecOn___lambda__10___closed__3; static lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_withBelowDict___spec__1___rarg___closed__1; @@ -107,11 +123,11 @@ uint8_t l_Array_contains___at___private_Lean_Meta_RecursorInfo_0__Lean_Meta_getM lean_object* l_Lean_mkMData(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Structural_mkBRecOn___lambda__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__2___closed__1; -static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__2___closed__3; static lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_withBelowDict___spec__1___rarg___lambda__2___closed__1; LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_throwToBelowFailed___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14___closed__5; LEAN_EXPORT lean_object* l_Lean_Elab_Structural_mkBRecOn___lambda__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__10___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_forallBoundedTelescope___at_Lean_Elab_Structural_mkBRecOn___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* l_Lean_Meta_lambdaTelescope___at___private_Lean_Meta_Eqns_0__Lean_Meta_mkSimpleEqThm___spec__3___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___closed__3; lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(lean_object*, lean_object*, lean_object*); @@ -120,141 +136,173 @@ static lean_object* l_Lean_Elab_Structural_mkBRecOn___lambda__7___closed__2; lean_object* l_List_mapTRAux___at_Lean_MessageData_instCoeListExprMessageData___spec__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_withBelowDict___spec__1___rarg___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__7___closed__1; -static lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___closed__4; lean_object* l___private_Lean_CoreM_0__Lean_Core_mkFreshNameImp(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_mkProj(lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___closed__5; static lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_Structural_refinedArgType___spec__1___lambda__2___closed__4; -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___closed__2; +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_nat_dec_eq(lean_object*, lean_object*); -static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__2___closed__1; -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___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_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__13___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__1___closed__2; static lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___closed__6; +LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__20___boxed(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Structural_mkBRecOn___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_st_ref_take(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_Structural_refinedArgType___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__16___boxed(lean_object*); lean_object* lean_nat_sub(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_withBelowDict___spec__1___rarg___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_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__25___boxed(lean_object*, lean_object*); lean_object* l_Lean_Expr_headBeta(lean_object*); static lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__7___closed__2; -static lean_object* l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14___closed__6; LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_withBelowDict___spec__1___rarg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___closed__1; LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_withBelowDict(lean_object*); static lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__7___lambda__2___closed__2; lean_object* lean_array_get(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__12(lean_object*, lean_object*, lean_object*, 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_Structural_BRecOn_0__Lean_Elab_Structural_throwToBelowFailed___rarg___closed__2; 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 lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__15(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Elab_Structural_mkBRecOn___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__24___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_mkHashMapImp___rarg(lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_throwToBelowFailed___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_withBelowDict___spec__1(lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_throwToBelowFailed___rarg___closed__1; -LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_throwToBelowFailed(lean_object*); lean_object* l_Lean_Meta_decLevel(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___lambda__3___closed__3; +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_withLetDecl___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__27(lean_object*, lean_object*); lean_object* l_Nat_repr(lean_object*); lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_forallTelescopeReducingAux___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* lean_st_mk_ref(lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___lambda__5___closed__10; static lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__1___closed__1; static lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___lambda__5___closed__12; -LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__7___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_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__7___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Structural_mkBRecOn___lambda__7___closed__1; static lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___closed__2; lean_object* lean_array_to_list(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__24(lean_object*); +LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___closed__1; LEAN_EXPORT lean_object* l_Lean_Elab_Structural_mkBRecOn___lambda__6___boxed(lean_object**); -LEAN_EXPORT lean_object* l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__16___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___closed__4; extern lean_object* l_Lean_instInhabitedExpr; +LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__20___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Structural_mkBRecOn___closed__1; -LEAN_EXPORT lean_object* l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__16(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Structural_mkBRecOn___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Expr_isConstOf(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__25___rarg(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_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__11___boxed(lean_object*); static lean_object* l_Lean_Elab_Structural_mkBRecOn___lambda__6___closed__2; LEAN_EXPORT lean_object* l_Lean_Elab_Structural_mkBRecOn___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_object*, lean_object*); lean_object* l_Lean_Meta_mapErrorImp___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__6___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__23(lean_object*); lean_object* lean_whnf(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_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Meta_matchMatcherApp_x3f___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_addTrace___at_Lean_Elab_Structural_mkBRecOn___spec__2(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___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Expr_Data_binderInfo(uint64_t); lean_object* l_Lean_Meta_SavedState_restore(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__11(lean_object*); size_t lean_usize_of_nat(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__7___lambda__2___boxed(lean_object**); LEAN_EXPORT lean_object* l_Lean_Elab_Structural_mkBRecOn___lambda__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__18___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___closed__1; +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_Structural_mkBRecOn___spec__4(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*); +LEAN_EXPORT lean_object* l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___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_Structural_BRecOn_0__Lean_Elab_Structural_withBelowDict___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Util_Trace_0__Lean_addTraceOptions(lean_object*); -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___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*); static lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_withBelowDict___rarg___closed__1; +LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__20(lean_object*); +static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___lambda__3___closed__1; LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_withBelowDict___spec__1___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_withBelowDict___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__3___closed__3; -LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___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_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__5___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___closed__2; +static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___lambda__2___closed__1; +LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___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_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__7___lambda__2___closed__1; -LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__15___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Meta_Basic_0__Lean_Meta_processPostponedStep___spec__14(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Structural_mkBRecOn(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_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__2___closed__2; -LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__12___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_Structural_mkBRecOn___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___lambda__3___closed__2; static lean_object* l_Lean_Elab_Structural_mkBRecOn___lambda__10___closed__2; +static lean_object* l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___closed__3; lean_object* l_List_redLength___rarg(lean_object*); lean_object* l_Std_PersistentArray_push___rarg(lean_object*, lean_object*); lean_object* l_Lean_Expr_getAppNumArgsAux(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelow(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__10(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Structural_mkBRecOn___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___lambda__5___closed__4; static lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___closed__8; -static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__2___closed__4; +LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__25(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__11___rarg___boxed(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_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___lambda__2___closed__4; +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___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*); uint8_t lean_expr_eqv(lean_object*, lean_object*); -static lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___closed__3; static lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___lambda__5___closed__11; -LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Meta_getMatcherInfo_x3f___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__16___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__5(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_getMatcherInfo_x3f___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__2(lean_object*); uint8_t lean_nat_dec_le(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__13(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_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__16___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_mkApp(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__11___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__24___boxed(lean_object*); static lean_object* l_Lean_Elab_Structural_mkBRecOn___lambda__10___closed__4; LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_withBelowDict___rarg___lambda__1(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_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___closed__4; +static lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps___closed__1; +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__15___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Name_append(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__13___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__6___boxed(lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_Structural_refinedArgType___spec__1(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_getMatcherInfo_x3f___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_withBelowDict___rarg___closed__2; static lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___closed__9; +LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__20___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_instantiateForallAux(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__23___boxed(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__8(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_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__8(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*); +static lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__6___closed__3; lean_object* l_Lean_Meta_MatcherApp_toExpr(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___closed__5; +LEAN_EXPORT lean_object* l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__21___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___boxed(lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___lambda__5___closed__9; +LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__12___lambda__2___boxed(lean_object**); LEAN_EXPORT lean_object* l_Lean_Elab_Structural_mkBRecOn___lambda__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_Structural_refinedArgType___spec__1___lambda__2___closed__7; -LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__5___boxed(lean_object*); static lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_withBelowDict___spec__1___rarg___closed__2; lean_object* l_Array_ofSubarray___rarg(lean_object*); lean_object* l_Lean_Meta_getLevel(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Structural_mkBRecOn___lambda__5___closed__1; -LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_Structural_mkBRecOn___spec__2(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*); lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__9___boxed(lean_object**); uint8_t lean_nat_dec_eq(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_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__16___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17(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_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__13___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_toArrayAux___rarg(lean_object*, lean_object*); -static lean_object* l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14___closed__2; +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__18___boxed(lean_object*); lean_object* lean_infer_type(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__11___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_isExprDefEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_forallBoundedTelescope___at_Lean_Elab_Structural_mkBRecOn___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Structural_mkBRecOn___lambda__9___closed__2; @@ -262,46 +310,59 @@ static lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_Structural_refinedArgT lean_object* l_Lean_Meta_forallBoundedTelescope___at_Lean_Meta_reduceMatcher_x3f___spec__3___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Structural_mkBRecOn___lambda__10___closed__1; static lean_object* l_Lean_Elab_Structural_mkBRecOn___closed__2; +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__15(lean_object*); lean_object* l_Lean_Meta_Match_MatcherInfo_arity(lean_object*); -LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__7___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__7___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__25___rarg___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_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___lambda__5___closed__6; lean_object* lean_mk_array(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Structural_mkBRecOn___lambda__5___closed__2; +LEAN_EXPORT lean_object* l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__23___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__5___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___closed__11; static lean_object* l_Lean_Elab_Structural_mkBRecOn___lambda__9___closed__1; +LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___lambda__3___closed__4; +LEAN_EXPORT lean_object* l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__23___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_indentD(lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_throwToBelowFailed___spec__1(lean_object*); -static lean_object* l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14___closed__1; -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__11(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___closed__6; lean_object* l_Lean_Elab_ensureNoRecFn(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__25___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__10(lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Elab_Structural_mkBRecOn___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_brecOnSuffix; -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___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_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___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_object*); lean_object* l_Lean_Expr_getAppFn(lean_object*); -LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_Structural_mkBRecOn___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_MatcherInfo_numAlts(lean_object*); -LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__4___boxed(lean_object**); LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps(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_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___lambda__5___closed__2; -LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__7___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__7___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__18(lean_object*); static lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__7___lambda__1___closed__1; +LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14___boxed(lean_object**); lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_lambdaTelescopeImp___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__18___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__26___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withLetDeclImp___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Meta_withLetDecl___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__13___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__6(lean_object*); lean_object* l_Lean_Elab_Structural_RecArgInfo_recArgPos(lean_object*); -LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__18___rarg___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_Meta_getMatcherInfo_x3f___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_getMatcherInfo_x3f___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__2___boxed(lean_object*); uint8_t lean_level_eq(lean_object*, lean_object*); -static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__3___closed__2; lean_object* l_Lean_Meta_Match_Extension_getMatcherInfo_x3f(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_indentExpr(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__12___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___closed__12; lean_object* l_Lean_mkConst(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__21___boxed(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__15___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Structural_mkBRecOn___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Structural_refinedArgType(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_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__3___closed__1; +LEAN_EXPORT lean_object* l_Lean_Meta_withLetDecl___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__27___rarg(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_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__1(lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___lambda__5___closed__13; static lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_Structural_refinedArgType___spec__1___lambda__2___closed__1; @@ -309,7 +370,6 @@ static lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lea lean_object* l_Lean_Meta_check(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_Structural_refinedArgType___spec__1___lambda__2___closed__6; uint8_t lean_string_dec_eq(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__10___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_nat_dec_lt(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_throwToBelowFailed___spec__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: @@ -2631,606 +2691,601 @@ lean_dec(x_2); return x_12; } } -LEAN_EXPORT lean_object* l_Lean_Meta_getMatcherInfo_x3f___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +LEAN_EXPORT lean_object* l_Lean_Meta_getMatcherInfo_x3f___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__2___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { -lean_object* x_8; uint8_t x_9; -x_8 = lean_st_ref_get(x_6, x_7); -x_9 = !lean_is_exclusive(x_8); -if (x_9 == 0) +lean_object* x_9; uint8_t x_10; +x_9 = lean_st_ref_get(x_7, x_8); +x_10 = !lean_is_exclusive(x_9); +if (x_10 == 0) { -lean_object* x_10; lean_object* x_11; lean_object* x_12; -x_10 = lean_ctor_get(x_8, 0); -x_11 = lean_ctor_get(x_10, 0); -lean_inc(x_11); -lean_dec(x_10); -x_12 = l_Lean_Meta_Match_Extension_getMatcherInfo_x3f(x_11, x_1); -lean_ctor_set(x_8, 0, x_12); -return x_8; -} -else -{ -lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; -x_13 = lean_ctor_get(x_8, 0); -x_14 = lean_ctor_get(x_8, 1); -lean_inc(x_14); -lean_inc(x_13); -lean_dec(x_8); -x_15 = lean_ctor_get(x_13, 0); -lean_inc(x_15); -lean_dec(x_13); -x_16 = l_Lean_Meta_Match_Extension_getMatcherInfo_x3f(x_15, x_1); -x_17 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_17, 0, x_16); -lean_ctor_set(x_17, 1, x_14); -return x_17; -} -} -} -LEAN_EXPORT lean_object* l_Lean_Meta_matchMatcherApp_x3f___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { -_start: -{ -lean_object* x_8; -x_8 = l_Lean_Expr_getAppFn(x_1); -if (lean_obj_tag(x_8) == 4) -{ -lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; -x_9 = lean_ctor_get(x_8, 0); -lean_inc(x_9); -x_10 = lean_ctor_get(x_8, 1); -lean_inc(x_10); -lean_dec(x_8); -lean_inc(x_9); -x_11 = l_Lean_Meta_getMatcherInfo_x3f___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__2(x_9, x_2, x_3, x_4, x_5, x_6, x_7); +lean_object* x_11; lean_object* x_12; lean_object* x_13; +x_11 = lean_ctor_get(x_9, 0); x_12 = lean_ctor_get(x_11, 0); lean_inc(x_12); -if (lean_obj_tag(x_12) == 0) -{ -uint8_t x_13; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_1); -x_13 = !lean_is_exclusive(x_11); -if (x_13 == 0) -{ -lean_object* x_14; lean_object* x_15; -x_14 = lean_ctor_get(x_11, 0); -lean_dec(x_14); -x_15 = lean_box(0); -lean_ctor_set(x_11, 0, x_15); -return x_11; +lean_dec(x_11); +x_13 = l_Lean_Meta_Match_Extension_getMatcherInfo_x3f(x_12, x_1); +lean_ctor_set(x_9, 0, x_13); +return x_9; } else { -lean_object* x_16; lean_object* x_17; lean_object* x_18; -x_16 = lean_ctor_get(x_11, 1); +lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; +x_14 = lean_ctor_get(x_9, 0); +x_15 = lean_ctor_get(x_9, 1); +lean_inc(x_15); +lean_inc(x_14); +lean_dec(x_9); +x_16 = lean_ctor_get(x_14, 0); lean_inc(x_16); -lean_dec(x_11); -x_17 = lean_box(0); +lean_dec(x_14); +x_17 = l_Lean_Meta_Match_Extension_getMatcherInfo_x3f(x_16, x_1); x_18 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_18, 0, x_17); -lean_ctor_set(x_18, 1, x_16); +lean_ctor_set(x_18, 1, x_15); return x_18; } } +} +LEAN_EXPORT lean_object* l_Lean_Meta_getMatcherInfo_x3f___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__2(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Meta_getMatcherInfo_x3f___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__2___rarg___boxed), 8, 0); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_matchMatcherApp_x3f___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +_start: +{ +lean_object* x_10; +x_10 = l_Lean_Expr_getAppFn(x_2); +if (lean_obj_tag(x_10) == 4) +{ +lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; +x_11 = lean_ctor_get(x_10, 0); +lean_inc(x_11); +x_12 = lean_ctor_get(x_10, 1); +lean_inc(x_12); +lean_dec(x_10); +lean_inc(x_11); +x_13 = l_Lean_Meta_getMatcherInfo_x3f___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__2___rarg(x_11, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +x_14 = lean_ctor_get(x_13, 0); +lean_inc(x_14); +if (lean_obj_tag(x_14) == 0) +{ +uint8_t x_15; +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_2); +x_15 = !lean_is_exclusive(x_13); +if (x_15 == 0) +{ +lean_object* x_16; lean_object* x_17; +x_16 = lean_ctor_get(x_13, 0); +lean_dec(x_16); +x_17 = lean_box(0); +lean_ctor_set(x_13, 0, x_17); +return x_13; +} else { -uint8_t x_19; -x_19 = !lean_is_exclusive(x_11); -if (x_19 == 0) +lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_18 = lean_ctor_get(x_13, 1); +lean_inc(x_18); +lean_dec(x_13); +x_19 = lean_box(0); +x_20 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_20, 0, x_19); +lean_ctor_set(x_20, 1, x_18); +return x_20; +} +} +else { -lean_object* x_20; uint8_t x_21; -x_20 = lean_ctor_get(x_11, 0); -lean_dec(x_20); -x_21 = !lean_is_exclusive(x_12); +uint8_t x_21; +x_21 = !lean_is_exclusive(x_13); if (x_21 == 0) { -lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; uint8_t x_32; -x_22 = lean_ctor_get(x_12, 0); -x_23 = lean_unsigned_to_nat(0u); -x_24 = l_Lean_Expr_getAppNumArgsAux(x_1, x_23); -x_25 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___lambda__4___closed__1; -lean_inc(x_24); -x_26 = lean_mk_array(x_24, x_25); -x_27 = lean_unsigned_to_nat(1u); -x_28 = lean_nat_sub(x_24, x_27); -lean_dec(x_24); -x_29 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_26, x_28); -x_30 = lean_array_get_size(x_29); -x_31 = l_Lean_Meta_Match_MatcherInfo_arity(x_22); -x_32 = lean_nat_dec_lt(x_30, x_31); -lean_dec(x_31); -if (x_32 == 0) +lean_object* x_22; uint8_t x_23; +x_22 = lean_ctor_get(x_13, 0); +lean_dec(x_22); +x_23 = !lean_is_exclusive(x_14); +if (x_23 == 0) { -lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; -x_33 = l_List_redLength___rarg(x_10); -x_34 = lean_mk_empty_array_with_capacity(x_33); +lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; uint8_t x_34; +x_24 = lean_ctor_get(x_14, 0); +x_25 = lean_unsigned_to_nat(0u); +x_26 = l_Lean_Expr_getAppNumArgsAux(x_2, x_25); +x_27 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___lambda__4___closed__1; +lean_inc(x_26); +x_28 = lean_mk_array(x_26, x_27); +x_29 = lean_unsigned_to_nat(1u); +x_30 = lean_nat_sub(x_26, x_29); +lean_dec(x_26); +x_31 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_2, x_28, x_30); +x_32 = lean_array_get_size(x_31); +x_33 = l_Lean_Meta_Match_MatcherInfo_arity(x_24); +x_34 = lean_nat_dec_lt(x_32, x_33); lean_dec(x_33); -x_35 = l_List_toArrayAux___rarg(x_10, x_34); -x_36 = lean_ctor_get(x_22, 3); -lean_inc(x_36); -x_37 = lean_ctor_get(x_22, 0); -lean_inc(x_37); -lean_inc(x_37); -lean_inc(x_29); -x_38 = l_Array_extract___rarg(x_29, x_23, x_37); -x_39 = l_Lean_instInhabitedExpr; -x_40 = lean_array_get(x_39, x_29, x_37); -x_41 = lean_nat_add(x_37, x_27); -lean_dec(x_37); -x_42 = lean_ctor_get(x_22, 1); -lean_inc(x_42); -x_43 = lean_nat_add(x_41, x_42); -lean_dec(x_42); -lean_inc(x_43); -lean_inc(x_29); -x_44 = l_Array_toSubarray___rarg(x_29, x_41, x_43); -x_45 = l_Array_ofSubarray___rarg(x_44); -x_46 = lean_ctor_get(x_22, 2); -lean_inc(x_46); -x_47 = l_Lean_Meta_Match_MatcherInfo_numAlts(x_22); -lean_dec(x_22); -x_48 = lean_nat_add(x_43, x_47); -lean_dec(x_47); +if (x_34 == 0) +{ +lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; +x_35 = l_List_redLength___rarg(x_12); +x_36 = lean_mk_empty_array_with_capacity(x_35); +lean_dec(x_35); +x_37 = l_List_toArrayAux___rarg(x_12, x_36); +x_38 = lean_ctor_get(x_24, 3); +lean_inc(x_38); +x_39 = lean_ctor_get(x_24, 0); +lean_inc(x_39); +lean_inc(x_39); +lean_inc(x_31); +x_40 = l_Array_extract___rarg(x_31, x_25, x_39); +x_41 = l_Lean_instInhabitedExpr; +x_42 = lean_array_get(x_41, x_31, x_39); +x_43 = lean_nat_add(x_39, x_29); +lean_dec(x_39); +x_44 = lean_ctor_get(x_24, 1); +lean_inc(x_44); +x_45 = lean_nat_add(x_43, x_44); +lean_dec(x_44); +lean_inc(x_45); +lean_inc(x_31); +x_46 = l_Array_toSubarray___rarg(x_31, x_43, x_45); +x_47 = l_Array_ofSubarray___rarg(x_46); +x_48 = lean_ctor_get(x_24, 2); lean_inc(x_48); -lean_inc(x_29); -x_49 = l_Array_toSubarray___rarg(x_29, x_43, x_48); -x_50 = l_Array_ofSubarray___rarg(x_49); -x_51 = l_Array_toSubarray___rarg(x_29, x_48, x_30); +x_49 = l_Lean_Meta_Match_MatcherInfo_numAlts(x_24); +lean_dec(x_24); +x_50 = lean_nat_add(x_45, x_49); +lean_dec(x_49); +lean_inc(x_50); +lean_inc(x_31); +x_51 = l_Array_toSubarray___rarg(x_31, x_45, x_50); x_52 = l_Array_ofSubarray___rarg(x_51); -x_53 = lean_alloc_ctor(0, 9, 0); -lean_ctor_set(x_53, 0, x_9); -lean_ctor_set(x_53, 1, x_35); -lean_ctor_set(x_53, 2, x_36); -lean_ctor_set(x_53, 3, x_38); -lean_ctor_set(x_53, 4, x_40); -lean_ctor_set(x_53, 5, x_45); -lean_ctor_set(x_53, 6, x_46); -lean_ctor_set(x_53, 7, x_50); -lean_ctor_set(x_53, 8, x_52); -lean_ctor_set(x_12, 0, x_53); -return x_11; +x_53 = l_Array_toSubarray___rarg(x_31, x_50, x_32); +x_54 = l_Array_ofSubarray___rarg(x_53); +x_55 = lean_alloc_ctor(0, 9, 0); +lean_ctor_set(x_55, 0, x_11); +lean_ctor_set(x_55, 1, x_37); +lean_ctor_set(x_55, 2, x_38); +lean_ctor_set(x_55, 3, x_40); +lean_ctor_set(x_55, 4, x_42); +lean_ctor_set(x_55, 5, x_47); +lean_ctor_set(x_55, 6, x_48); +lean_ctor_set(x_55, 7, x_52); +lean_ctor_set(x_55, 8, x_54); +lean_ctor_set(x_14, 0, x_55); +return x_13; } else { -lean_object* x_54; -lean_dec(x_30); -lean_dec(x_29); -lean_free_object(x_12); -lean_dec(x_22); -lean_dec(x_10); -lean_dec(x_9); -x_54 = lean_box(0); -lean_ctor_set(x_11, 0, x_54); -return x_11; -} -} -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; uint8_t x_65; -x_55 = lean_ctor_get(x_12, 0); -lean_inc(x_55); +lean_object* x_56; +lean_dec(x_32); +lean_dec(x_31); +lean_free_object(x_14); +lean_dec(x_24); lean_dec(x_12); -x_56 = lean_unsigned_to_nat(0u); -x_57 = l_Lean_Expr_getAppNumArgsAux(x_1, x_56); -x_58 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___lambda__4___closed__1; -lean_inc(x_57); -x_59 = lean_mk_array(x_57, x_58); -x_60 = lean_unsigned_to_nat(1u); -x_61 = lean_nat_sub(x_57, x_60); -lean_dec(x_57); -x_62 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_59, x_61); -x_63 = lean_array_get_size(x_62); -x_64 = l_Lean_Meta_Match_MatcherInfo_arity(x_55); -x_65 = lean_nat_dec_lt(x_63, x_64); -lean_dec(x_64); -if (x_65 == 0) -{ -lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; 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_66 = l_List_redLength___rarg(x_10); -x_67 = lean_mk_empty_array_with_capacity(x_66); -lean_dec(x_66); -x_68 = l_List_toArrayAux___rarg(x_10, x_67); -x_69 = lean_ctor_get(x_55, 3); -lean_inc(x_69); -x_70 = lean_ctor_get(x_55, 0); -lean_inc(x_70); -lean_inc(x_70); -lean_inc(x_62); -x_71 = l_Array_extract___rarg(x_62, x_56, x_70); -x_72 = l_Lean_instInhabitedExpr; -x_73 = lean_array_get(x_72, x_62, x_70); -x_74 = lean_nat_add(x_70, x_60); -lean_dec(x_70); -x_75 = lean_ctor_get(x_55, 1); -lean_inc(x_75); -x_76 = lean_nat_add(x_74, x_75); -lean_dec(x_75); -lean_inc(x_76); -lean_inc(x_62); -x_77 = l_Array_toSubarray___rarg(x_62, x_74, x_76); -x_78 = l_Array_ofSubarray___rarg(x_77); -x_79 = lean_ctor_get(x_55, 2); -lean_inc(x_79); -x_80 = l_Lean_Meta_Match_MatcherInfo_numAlts(x_55); -lean_dec(x_55); -x_81 = lean_nat_add(x_76, x_80); -lean_dec(x_80); -lean_inc(x_81); -lean_inc(x_62); -x_82 = l_Array_toSubarray___rarg(x_62, x_76, x_81); -x_83 = l_Array_ofSubarray___rarg(x_82); -x_84 = l_Array_toSubarray___rarg(x_62, x_81, x_63); -x_85 = l_Array_ofSubarray___rarg(x_84); -x_86 = lean_alloc_ctor(0, 9, 0); -lean_ctor_set(x_86, 0, x_9); -lean_ctor_set(x_86, 1, x_68); -lean_ctor_set(x_86, 2, x_69); -lean_ctor_set(x_86, 3, x_71); -lean_ctor_set(x_86, 4, x_73); -lean_ctor_set(x_86, 5, x_78); -lean_ctor_set(x_86, 6, x_79); -lean_ctor_set(x_86, 7, x_83); -lean_ctor_set(x_86, 8, x_85); -x_87 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_87, 0, x_86); -lean_ctor_set(x_11, 0, x_87); -return x_11; -} -else -{ -lean_object* x_88; -lean_dec(x_63); -lean_dec(x_62); -lean_dec(x_55); -lean_dec(x_10); -lean_dec(x_9); -x_88 = lean_box(0); -lean_ctor_set(x_11, 0, x_88); -return x_11; -} -} -} -else -{ -lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; uint8_t x_101; -x_89 = lean_ctor_get(x_11, 1); -lean_inc(x_89); lean_dec(x_11); -x_90 = lean_ctor_get(x_12, 0); -lean_inc(x_90); -if (lean_is_exclusive(x_12)) { - lean_ctor_release(x_12, 0); - x_91 = x_12; -} else { - lean_dec_ref(x_12); - x_91 = lean_box(0); +x_56 = lean_box(0); +lean_ctor_set(x_13, 0, x_56); +return x_13; } -x_92 = lean_unsigned_to_nat(0u); -x_93 = l_Lean_Expr_getAppNumArgsAux(x_1, x_92); -x_94 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___lambda__4___closed__1; -lean_inc(x_93); -x_95 = lean_mk_array(x_93, x_94); -x_96 = lean_unsigned_to_nat(1u); -x_97 = lean_nat_sub(x_93, x_96); -lean_dec(x_93); -x_98 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_95, x_97); -x_99 = lean_array_get_size(x_98); -x_100 = l_Lean_Meta_Match_MatcherInfo_arity(x_90); -x_101 = lean_nat_dec_lt(x_99, 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_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; -x_102 = l_List_redLength___rarg(x_10); -x_103 = lean_mk_empty_array_with_capacity(x_102); -lean_dec(x_102); -x_104 = l_List_toArrayAux___rarg(x_10, x_103); -x_105 = lean_ctor_get(x_90, 3); -lean_inc(x_105); -x_106 = lean_ctor_get(x_90, 0); -lean_inc(x_106); -lean_inc(x_106); -lean_inc(x_98); -x_107 = l_Array_extract___rarg(x_98, x_92, x_106); -x_108 = l_Lean_instInhabitedExpr; -x_109 = lean_array_get(x_108, x_98, x_106); -x_110 = lean_nat_add(x_106, x_96); -lean_dec(x_106); -x_111 = lean_ctor_get(x_90, 1); -lean_inc(x_111); -x_112 = lean_nat_add(x_110, x_111); -lean_dec(x_111); -lean_inc(x_112); -lean_inc(x_98); -x_113 = l_Array_toSubarray___rarg(x_98, x_110, x_112); -x_114 = l_Array_ofSubarray___rarg(x_113); -x_115 = lean_ctor_get(x_90, 2); -lean_inc(x_115); -x_116 = l_Lean_Meta_Match_MatcherInfo_numAlts(x_90); -lean_dec(x_90); -x_117 = lean_nat_add(x_112, x_116); -lean_dec(x_116); -lean_inc(x_117); -lean_inc(x_98); -x_118 = l_Array_toSubarray___rarg(x_98, x_112, x_117); -x_119 = l_Array_ofSubarray___rarg(x_118); -x_120 = l_Array_toSubarray___rarg(x_98, x_117, x_99); -x_121 = l_Array_ofSubarray___rarg(x_120); -x_122 = lean_alloc_ctor(0, 9, 0); -lean_ctor_set(x_122, 0, x_9); -lean_ctor_set(x_122, 1, x_104); -lean_ctor_set(x_122, 2, x_105); -lean_ctor_set(x_122, 3, x_107); -lean_ctor_set(x_122, 4, x_109); -lean_ctor_set(x_122, 5, x_114); -lean_ctor_set(x_122, 6, x_115); -lean_ctor_set(x_122, 7, x_119); -lean_ctor_set(x_122, 8, x_121); -if (lean_is_scalar(x_91)) { - x_123 = lean_alloc_ctor(1, 1, 0); -} else { - x_123 = x_91; -} -lean_ctor_set(x_123, 0, x_122); -x_124 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_124, 0, x_123); -lean_ctor_set(x_124, 1, x_89); -return x_124; } else { -lean_object* x_125; lean_object* x_126; -lean_dec(x_99); -lean_dec(x_98); -lean_dec(x_91); -lean_dec(x_90); -lean_dec(x_10); -lean_dec(x_9); -x_125 = lean_box(0); +lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; uint8_t x_67; +x_57 = lean_ctor_get(x_14, 0); +lean_inc(x_57); +lean_dec(x_14); +x_58 = lean_unsigned_to_nat(0u); +x_59 = l_Lean_Expr_getAppNumArgsAux(x_2, x_58); +x_60 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___lambda__4___closed__1; +lean_inc(x_59); +x_61 = lean_mk_array(x_59, x_60); +x_62 = lean_unsigned_to_nat(1u); +x_63 = lean_nat_sub(x_59, x_62); +lean_dec(x_59); +x_64 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_2, x_61, x_63); +x_65 = lean_array_get_size(x_64); +x_66 = l_Lean_Meta_Match_MatcherInfo_arity(x_57); +x_67 = lean_nat_dec_lt(x_65, x_66); +lean_dec(x_66); +if (x_67 == 0) +{ +lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; +x_68 = l_List_redLength___rarg(x_12); +x_69 = lean_mk_empty_array_with_capacity(x_68); +lean_dec(x_68); +x_70 = l_List_toArrayAux___rarg(x_12, x_69); +x_71 = lean_ctor_get(x_57, 3); +lean_inc(x_71); +x_72 = lean_ctor_get(x_57, 0); +lean_inc(x_72); +lean_inc(x_72); +lean_inc(x_64); +x_73 = l_Array_extract___rarg(x_64, x_58, x_72); +x_74 = l_Lean_instInhabitedExpr; +x_75 = lean_array_get(x_74, x_64, x_72); +x_76 = lean_nat_add(x_72, x_62); +lean_dec(x_72); +x_77 = lean_ctor_get(x_57, 1); +lean_inc(x_77); +x_78 = lean_nat_add(x_76, x_77); +lean_dec(x_77); +lean_inc(x_78); +lean_inc(x_64); +x_79 = l_Array_toSubarray___rarg(x_64, x_76, x_78); +x_80 = l_Array_ofSubarray___rarg(x_79); +x_81 = lean_ctor_get(x_57, 2); +lean_inc(x_81); +x_82 = l_Lean_Meta_Match_MatcherInfo_numAlts(x_57); +lean_dec(x_57); +x_83 = lean_nat_add(x_78, x_82); +lean_dec(x_82); +lean_inc(x_83); +lean_inc(x_64); +x_84 = l_Array_toSubarray___rarg(x_64, x_78, x_83); +x_85 = l_Array_ofSubarray___rarg(x_84); +x_86 = l_Array_toSubarray___rarg(x_64, x_83, x_65); +x_87 = l_Array_ofSubarray___rarg(x_86); +x_88 = lean_alloc_ctor(0, 9, 0); +lean_ctor_set(x_88, 0, x_11); +lean_ctor_set(x_88, 1, x_70); +lean_ctor_set(x_88, 2, x_71); +lean_ctor_set(x_88, 3, x_73); +lean_ctor_set(x_88, 4, x_75); +lean_ctor_set(x_88, 5, x_80); +lean_ctor_set(x_88, 6, x_81); +lean_ctor_set(x_88, 7, x_85); +lean_ctor_set(x_88, 8, x_87); +x_89 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_89, 0, x_88); +lean_ctor_set(x_13, 0, x_89); +return x_13; +} +else +{ +lean_object* x_90; +lean_dec(x_65); +lean_dec(x_64); +lean_dec(x_57); +lean_dec(x_12); +lean_dec(x_11); +x_90 = lean_box(0); +lean_ctor_set(x_13, 0, x_90); +return x_13; +} +} +} +else +{ +lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; uint8_t x_103; +x_91 = lean_ctor_get(x_13, 1); +lean_inc(x_91); +lean_dec(x_13); +x_92 = lean_ctor_get(x_14, 0); +lean_inc(x_92); +if (lean_is_exclusive(x_14)) { + lean_ctor_release(x_14, 0); + x_93 = x_14; +} else { + lean_dec_ref(x_14); + x_93 = lean_box(0); +} +x_94 = lean_unsigned_to_nat(0u); +x_95 = l_Lean_Expr_getAppNumArgsAux(x_2, x_94); +x_96 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___lambda__4___closed__1; +lean_inc(x_95); +x_97 = lean_mk_array(x_95, x_96); +x_98 = lean_unsigned_to_nat(1u); +x_99 = lean_nat_sub(x_95, x_98); +lean_dec(x_95); +x_100 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_2, x_97, x_99); +x_101 = lean_array_get_size(x_100); +x_102 = l_Lean_Meta_Match_MatcherInfo_arity(x_92); +x_103 = lean_nat_dec_lt(x_101, x_102); +lean_dec(x_102); +if (x_103 == 0) +{ +lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; +x_104 = l_List_redLength___rarg(x_12); +x_105 = lean_mk_empty_array_with_capacity(x_104); +lean_dec(x_104); +x_106 = l_List_toArrayAux___rarg(x_12, x_105); +x_107 = lean_ctor_get(x_92, 3); +lean_inc(x_107); +x_108 = lean_ctor_get(x_92, 0); +lean_inc(x_108); +lean_inc(x_108); +lean_inc(x_100); +x_109 = l_Array_extract___rarg(x_100, x_94, x_108); +x_110 = l_Lean_instInhabitedExpr; +x_111 = lean_array_get(x_110, x_100, x_108); +x_112 = lean_nat_add(x_108, x_98); +lean_dec(x_108); +x_113 = lean_ctor_get(x_92, 1); +lean_inc(x_113); +x_114 = lean_nat_add(x_112, x_113); +lean_dec(x_113); +lean_inc(x_114); +lean_inc(x_100); +x_115 = l_Array_toSubarray___rarg(x_100, x_112, x_114); +x_116 = l_Array_ofSubarray___rarg(x_115); +x_117 = lean_ctor_get(x_92, 2); +lean_inc(x_117); +x_118 = l_Lean_Meta_Match_MatcherInfo_numAlts(x_92); +lean_dec(x_92); +x_119 = lean_nat_add(x_114, x_118); +lean_dec(x_118); +lean_inc(x_119); +lean_inc(x_100); +x_120 = l_Array_toSubarray___rarg(x_100, x_114, x_119); +x_121 = l_Array_ofSubarray___rarg(x_120); +x_122 = l_Array_toSubarray___rarg(x_100, x_119, x_101); +x_123 = l_Array_ofSubarray___rarg(x_122); +x_124 = lean_alloc_ctor(0, 9, 0); +lean_ctor_set(x_124, 0, x_11); +lean_ctor_set(x_124, 1, x_106); +lean_ctor_set(x_124, 2, x_107); +lean_ctor_set(x_124, 3, x_109); +lean_ctor_set(x_124, 4, x_111); +lean_ctor_set(x_124, 5, x_116); +lean_ctor_set(x_124, 6, x_117); +lean_ctor_set(x_124, 7, x_121); +lean_ctor_set(x_124, 8, x_123); +if (lean_is_scalar(x_93)) { + x_125 = lean_alloc_ctor(1, 1, 0); +} else { + x_125 = x_93; +} +lean_ctor_set(x_125, 0, x_124); x_126 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_126, 0, x_125); -lean_ctor_set(x_126, 1, x_89); +lean_ctor_set(x_126, 1, x_91); return x_126; } -} -} -} else { lean_object* x_127; lean_object* x_128; -lean_dec(x_8); -lean_dec(x_1); +lean_dec(x_101); +lean_dec(x_100); +lean_dec(x_93); +lean_dec(x_92); +lean_dec(x_12); +lean_dec(x_11); x_127 = lean_box(0); x_128 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_128, 0, x_127); -lean_ctor_set(x_128, 1, x_7); +lean_ctor_set(x_128, 1, x_91); return x_128; } } } -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___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, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +} +else +{ +lean_object* x_129; lean_object* x_130; +lean_dec(x_10); +lean_dec(x_2); +x_129 = lean_box(0); +x_130 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_130, 0, x_129); +lean_ctor_set(x_130, 1, x_9); +return x_130; +} +} +} +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, size_t x_5, size_t x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { _start: { -uint8_t x_13; -x_13 = lean_usize_dec_lt(x_5, x_4); -if (x_13 == 0) +uint8_t x_15; +x_15 = lean_usize_dec_lt(x_6, x_5); +if (x_15 == 0) { -lean_object* x_14; +lean_object* x_16; +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); -lean_dec(x_7); +lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_14 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_14, 0, x_6); -lean_ctor_set(x_14, 1, x_12); -return x_14; +x_16 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_16, 0, x_7); +lean_ctor_set(x_16, 1, x_14); +return x_16; } else { -lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; -x_15 = lean_array_uget(x_6, x_5); -x_16 = lean_unsigned_to_nat(0u); -x_17 = lean_array_uset(x_6, x_5, x_16); +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_17 = lean_array_uget(x_7, x_6); +x_18 = lean_unsigned_to_nat(0u); +x_19 = lean_array_uset(x_7, x_6, x_18); +lean_inc(x_13); +lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); -lean_inc(x_7); +lean_inc(x_4); lean_inc(x_3); lean_inc(x_2); lean_inc(x_1); -x_18 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop(x_1, x_2, x_3, x_15, x_7, x_8, x_9, x_10, x_11, x_12); -if (lean_obj_tag(x_18) == 0) +x_20 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop(x_1, x_2, x_3, x_4, x_17, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +if (lean_obj_tag(x_20) == 0) { -lean_object* x_19; lean_object* x_20; size_t x_21; size_t x_22; lean_object* x_23; -x_19 = lean_ctor_get(x_18, 0); -lean_inc(x_19); -x_20 = lean_ctor_get(x_18, 1); -lean_inc(x_20); -lean_dec(x_18); -x_21 = 1; -x_22 = lean_usize_add(x_5, x_21); -x_23 = lean_array_uset(x_17, x_5, x_19); -x_5 = x_22; -x_6 = x_23; -x_12 = x_20; +lean_object* x_21; lean_object* x_22; size_t x_23; size_t x_24; lean_object* x_25; +x_21 = lean_ctor_get(x_20, 0); +lean_inc(x_21); +x_22 = lean_ctor_get(x_20, 1); +lean_inc(x_22); +lean_dec(x_20); +x_23 = 1; +x_24 = lean_usize_add(x_6, x_23); +x_25 = lean_array_uset(x_19, x_6, x_21); +x_6 = x_24; +x_7 = x_25; +x_14 = x_22; goto _start; } else { -uint8_t x_25; -lean_dec(x_17); +uint8_t x_27; +lean_dec(x_19); +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); -lean_dec(x_7); +lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_25 = !lean_is_exclusive(x_18); -if (x_25 == 0) +x_27 = !lean_is_exclusive(x_20); +if (x_27 == 0) { -return x_18; +return x_20; } 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; +lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_28 = lean_ctor_get(x_20, 0); +x_29 = lean_ctor_get(x_20, 1); +lean_inc(x_29); +lean_inc(x_28); +lean_dec(x_20); +x_30 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_30, 0, x_28); +lean_ctor_set(x_30, 1, x_29); +return x_30; } } } } } -LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, 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_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, 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_8, x_7); -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_6, 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; uint8_t x_22; -x_20 = lean_unsigned_to_nat(1u); -x_21 = lean_nat_sub(x_6, x_20); +lean_object* x_21; lean_object* x_22; uint8_t x_23; +x_21 = lean_unsigned_to_nat(1u); +x_22 = lean_nat_sub(x_6, x_21); lean_dec(x_6); -x_22 = lean_nat_dec_eq(x_4, x_7); -if (x_22 == 0) +x_23 = lean_nat_dec_eq(x_4, x_7); +if (x_23 == 0) { -lean_object* x_23; uint8_t x_24; -x_23 = lean_ctor_get(x_2, 3); -lean_inc(x_23); -x_24 = l_Array_contains___at___private_Lean_Meta_FunInfo_0__Lean_Meta_collectDeps_visit___spec__2(x_23, x_7); -lean_dec(x_23); -if (x_24 == 0) +lean_object* x_24; uint8_t x_25; +x_24 = lean_ctor_get(x_2, 3); +lean_inc(x_24); +x_25 = l_Array_contains___at___private_Lean_Meta_FunInfo_0__Lean_Meta_collectDeps_visit___spec__2(x_24, x_7); +lean_dec(x_24); +if (x_25 == 0) { -lean_object* x_25; lean_object* x_26; lean_object* x_27; -x_25 = l_Lean_instInhabitedExpr; -x_26 = lean_array_get(x_25, x_5, x_7); +lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_26 = l_Lean_instInhabitedExpr; +x_27 = lean_array_get(x_26, x_5, x_7); +lean_inc(x_16); lean_inc(x_15); lean_inc(x_14); lean_inc(x_13); lean_inc(x_12); -lean_inc(x_11); lean_inc(x_3); lean_inc(x_2); lean_inc(x_1); -x_27 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop(x_1, x_2, x_3, x_26, x_11, x_12, x_13, x_14, x_15, x_16); -if (lean_obj_tag(x_27) == 0) +x_28 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps(x_1, x_2, x_3, x_27, x_12, x_13, x_14, x_15, x_16, x_17); +if (lean_obj_tag(x_28) == 0) { -lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; -x_28 = lean_ctor_get(x_27, 0); -lean_inc(x_28); -x_29 = lean_ctor_get(x_27, 1); +lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; +x_29 = lean_ctor_get(x_28, 0); lean_inc(x_29); -lean_dec(x_27); -x_30 = lean_array_push(x_10, x_28); -x_31 = lean_nat_add(x_7, x_9); +x_30 = lean_ctor_get(x_28, 1); +lean_inc(x_30); +lean_dec(x_28); +x_31 = lean_array_push(x_10, x_29); +x_32 = lean_nat_add(x_7, x_9); lean_dec(x_7); -x_6 = x_21; -x_7 = x_31; -x_10 = x_30; -x_16 = x_29; +x_6 = x_22; +x_7 = x_32; +x_10 = x_31; +x_17 = x_30; goto _start; } else { -uint8_t x_33; -lean_dec(x_21); +uint8_t x_34; +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_7); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_33 = !lean_is_exclusive(x_27); -if (x_33 == 0) +x_34 = !lean_is_exclusive(x_28); +if (x_34 == 0) { -return x_27; +return x_28; } else { -lean_object* x_34; lean_object* x_35; lean_object* x_36; -x_34 = lean_ctor_get(x_27, 0); -x_35 = lean_ctor_get(x_27, 1); +lean_object* x_35; lean_object* x_36; lean_object* x_37; +x_35 = lean_ctor_get(x_28, 0); +x_36 = lean_ctor_get(x_28, 1); +lean_inc(x_36); lean_inc(x_35); -lean_inc(x_34); -lean_dec(x_27); -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_28); +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; -x_37 = lean_nat_add(x_7, x_9); +lean_object* x_38; +x_38 = lean_nat_add(x_7, x_9); lean_dec(x_7); -x_6 = x_21; -x_7 = x_37; +x_6 = x_22; +x_7 = x_38; goto _start; } } else { -lean_object* x_39; -x_39 = lean_nat_add(x_7, x_9); +lean_object* x_40; +x_40 = lean_nat_add(x_7, x_9); lean_dec(x_7); -x_6 = x_21; -x_7 = x_39; +x_6 = x_22; +x_7 = x_40; goto _start; } } else { -lean_object* x_41; -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_3); -lean_dec(x_2); -lean_dec(x_1); -x_41 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_41, 0, x_10); -lean_ctor_set(x_41, 1, x_16); -return x_41; -} -} -else -{ lean_object* x_42; +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_3); @@ -3238,87 +3293,122 @@ lean_dec(x_2); lean_dec(x_1); x_42 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_42, 0, x_10); -lean_ctor_set(x_42, 1, x_16); +lean_ctor_set(x_42, 1, x_17); return x_42; } } +else +{ +lean_object* x_43; +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_43 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_43, 0, x_10); +lean_ctor_set(x_43, 1, x_17); +return x_43; } -LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__5(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +} +} +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__5___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { -lean_object* x_8; lean_object* x_9; uint8_t x_10; -x_8 = lean_ctor_get(x_5, 3); -x_9 = l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(x_1, x_3, x_4, x_5, x_6, x_7); -x_10 = !lean_is_exclusive(x_9); -if (x_10 == 0) +lean_object* x_9; lean_object* x_10; uint8_t x_11; +x_9 = lean_ctor_get(x_6, 3); +x_10 = l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(x_1, x_4, x_5, x_6, x_7, x_8); +x_11 = !lean_is_exclusive(x_10); +if (x_11 == 0) { -lean_object* x_11; lean_object* x_12; -x_11 = lean_ctor_get(x_9, 0); -lean_inc(x_8); -x_12 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_12, 0, x_8); -lean_ctor_set(x_12, 1, x_11); -lean_ctor_set_tag(x_9, 1); -lean_ctor_set(x_9, 0, x_12); -return x_9; +lean_object* x_12; lean_object* x_13; +x_12 = lean_ctor_get(x_10, 0); +lean_inc(x_9); +x_13 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_13, 0, x_9); +lean_ctor_set(x_13, 1, x_12); +lean_ctor_set_tag(x_10, 1); +lean_ctor_set(x_10, 0, x_13); +return x_10; } else { -lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; -x_13 = lean_ctor_get(x_9, 0); -x_14 = lean_ctor_get(x_9, 1); +lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; +x_14 = lean_ctor_get(x_10, 0); +x_15 = lean_ctor_get(x_10, 1); +lean_inc(x_15); lean_inc(x_14); -lean_inc(x_13); -lean_dec(x_9); -lean_inc(x_8); -x_15 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_15, 0, x_8); -lean_ctor_set(x_15, 1, x_13); -x_16 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_16, 0, x_15); +lean_dec(x_10); +lean_inc(x_9); +x_16 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_16, 0, x_9); lean_ctor_set(x_16, 1, x_14); -return x_16; +x_17 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_17, 0, x_16); +lean_ctor_set(x_17, 1, x_15); +return x_17; } } } -LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__6(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__5(lean_object* x_1) { _start: { -lean_object* x_8; lean_object* x_9; uint8_t x_10; -x_8 = lean_ctor_get(x_5, 3); -x_9 = l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(x_1, x_3, x_4, x_5, x_6, x_7); -x_10 = !lean_is_exclusive(x_9); -if (x_10 == 0) +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__5___rarg___boxed), 8, 0); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__6___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: { -lean_object* x_11; lean_object* x_12; -x_11 = lean_ctor_get(x_9, 0); -lean_inc(x_8); -x_12 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_12, 0, x_8); -lean_ctor_set(x_12, 1, x_11); -lean_ctor_set_tag(x_9, 1); -lean_ctor_set(x_9, 0, x_12); -return x_9; +lean_object* x_9; lean_object* x_10; uint8_t x_11; +x_9 = lean_ctor_get(x_6, 3); +x_10 = l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(x_1, x_4, x_5, x_6, x_7, x_8); +x_11 = !lean_is_exclusive(x_10); +if (x_11 == 0) +{ +lean_object* x_12; lean_object* x_13; +x_12 = lean_ctor_get(x_10, 0); +lean_inc(x_9); +x_13 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_13, 0, x_9); +lean_ctor_set(x_13, 1, x_12); +lean_ctor_set_tag(x_10, 1); +lean_ctor_set(x_10, 0, x_13); +return x_10; } else { -lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; -x_13 = lean_ctor_get(x_9, 0); -x_14 = lean_ctor_get(x_9, 1); +lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; +x_14 = lean_ctor_get(x_10, 0); +x_15 = lean_ctor_get(x_10, 1); +lean_inc(x_15); lean_inc(x_14); -lean_inc(x_13); -lean_dec(x_9); -lean_inc(x_8); -x_15 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_15, 0, x_8); -lean_ctor_set(x_15, 1, x_13); -x_16 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_16, 0, x_15); +lean_dec(x_10); +lean_inc(x_9); +x_16 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_16, 0, x_9); lean_ctor_set(x_16, 1, x_14); -return x_16; +x_17 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_17, 0, x_16); +lean_ctor_set(x_17, 1, x_15); +return x_17; } } } +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__6(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__6___rarg___boxed), 8, 0); +return x_2; +} +} static lean_object* _init_l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__7___lambda__1___closed__1() { _start: { @@ -3328,68 +3418,68 @@ x_2 = lean_mk_empty_array_with_capacity(x_1); return x_2; } } -LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__7___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, 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_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__7___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { _start: { -lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_14 = lean_array_get_size(x_1); -x_15 = l_Array_extract___rarg(x_1, x_2, x_14); -x_16 = lean_array_get_size(x_15); -x_17 = lean_unsigned_to_nat(0u); -x_18 = lean_unsigned_to_nat(1u); -x_19 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__7___lambda__1___closed__1; -lean_inc(x_16); -x_20 = l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__4(x_3, x_4, x_5, x_6, x_15, x_16, x_17, x_16, x_18, x_19, x_8, x_9, x_10, x_11, x_12, x_13); +lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_15 = lean_array_get_size(x_1); +x_16 = l_Array_extract___rarg(x_1, x_2, x_15); +x_17 = lean_array_get_size(x_16); +x_18 = lean_unsigned_to_nat(0u); +x_19 = lean_unsigned_to_nat(1u); +x_20 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__7___lambda__1___closed__1; +lean_inc(x_17); +x_21 = l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__4(x_3, x_4, x_5, x_6, x_16, x_17, x_18, x_17, x_19, x_20, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +lean_dec(x_17); lean_dec(x_16); -lean_dec(x_15); -if (lean_obj_tag(x_20) == 0) +if (lean_obj_tag(x_21) == 0) { -uint8_t x_21; -x_21 = !lean_is_exclusive(x_20); -if (x_21 == 0) +uint8_t x_22; +x_22 = !lean_is_exclusive(x_21); +if (x_22 == 0) { -lean_object* x_22; lean_object* x_23; -x_22 = lean_ctor_get(x_20, 0); -x_23 = l_Lean_mkAppN(x_7, x_22); -lean_ctor_set(x_20, 0, x_23); -return x_20; +lean_object* x_23; lean_object* x_24; +x_23 = lean_ctor_get(x_21, 0); +x_24 = l_Lean_mkAppN(x_7, x_23); +lean_ctor_set(x_21, 0, x_24); +return x_21; } else { -lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; -x_24 = lean_ctor_get(x_20, 0); -x_25 = lean_ctor_get(x_20, 1); +lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_25 = lean_ctor_get(x_21, 0); +x_26 = lean_ctor_get(x_21, 1); +lean_inc(x_26); lean_inc(x_25); -lean_inc(x_24); -lean_dec(x_20); -x_26 = l_Lean_mkAppN(x_7, x_24); -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; +lean_dec(x_21); +x_27 = l_Lean_mkAppN(x_7, x_25); +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 { -uint8_t x_28; +uint8_t x_29; lean_dec(x_7); -x_28 = !lean_is_exclusive(x_20); -if (x_28 == 0) +x_29 = !lean_is_exclusive(x_21); +if (x_29 == 0) { -return x_20; +return x_21; } else { -lean_object* x_29; lean_object* x_30; lean_object* x_31; -x_29 = lean_ctor_get(x_20, 0); -x_30 = lean_ctor_get(x_20, 1); +lean_object* x_30; lean_object* x_31; lean_object* x_32; +x_30 = lean_ctor_get(x_21, 0); +x_31 = lean_ctor_get(x_21, 1); +lean_inc(x_31); lean_inc(x_30); -lean_inc(x_29); -lean_dec(x_20); -x_31 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_31, 0, x_29); -lean_ctor_set(x_31, 1, x_30); -return x_31; +lean_dec(x_21); +x_32 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_32, 0, x_30); +lean_ctor_set(x_32, 1, x_31); +return x_32; } } } @@ -3411,133 +3501,137 @@ x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__7___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, 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_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__7___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, 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: { -lean_object* x_16; lean_object* x_17; lean_object* x_18; -lean_dec(x_9); -x_16 = l_Lean_instInhabitedExpr; -x_17 = lean_array_get(x_16, x_1, x_2); +lean_object* x_18; lean_object* x_19; lean_object* x_20; +lean_dec(x_10); +x_18 = l_Lean_instInhabitedExpr; +x_19 = lean_array_get(x_18, x_1, x_2); lean_dec(x_2); +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); -lean_inc(x_5); +lean_inc(x_6); lean_inc(x_4); lean_inc(x_3); -x_18 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop(x_3, x_4, x_5, x_17, x_10, x_11, x_12, x_13, x_14, x_15); -if (lean_obj_tag(x_18) == 0) +x_20 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop(x_3, x_4, x_5, x_6, x_19, x_11, x_12, x_13, x_14, x_15, x_16, x_17); +if (lean_obj_tag(x_20) == 0) { -lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; -x_19 = lean_ctor_get(x_18, 0); -lean_inc(x_19); -x_20 = lean_ctor_get(x_18, 1); -lean_inc(x_20); -lean_dec(x_18); -x_21 = lean_ctor_get(x_4, 6); +lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; +x_21 = lean_ctor_get(x_20, 0); lean_inc(x_21); -x_22 = lean_array_get_size(x_21); -lean_dec(x_21); +x_22 = lean_ctor_get(x_20, 1); +lean_inc(x_22); +lean_dec(x_20); +x_23 = lean_ctor_get(x_4, 6); +lean_inc(x_23); +x_24 = lean_array_get_size(x_23); +lean_dec(x_23); +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_23 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelow(x_5, x_22, x_19, x_11, x_12, x_13, x_14, x_20); -if (lean_obj_tag(x_23) == 0) +lean_inc(x_6); +x_25 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelow(x_6, x_24, x_21, x_13, x_14, x_15, x_16, x_22); +if (lean_obj_tag(x_25) == 0) { -lean_object* x_24; lean_object* x_25; lean_object* x_26; -lean_dec(x_8); -x_24 = lean_ctor_get(x_23, 0); -lean_inc(x_24); -x_25 = lean_ctor_get(x_23, 1); -lean_inc(x_25); -lean_dec(x_23); -x_26 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__7___lambda__1(x_1, x_6, x_3, x_4, x_5, x_7, x_24, x_10, x_11, x_12, x_13, x_14, x_25); -lean_dec(x_7); -return x_26; -} -else -{ -lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; uint8_t x_34; -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_1); -x_27 = lean_ctor_get(x_23, 1); +lean_object* x_26; lean_object* x_27; lean_object* x_28; +lean_dec(x_9); +x_26 = lean_ctor_get(x_25, 0); +lean_inc(x_26); +x_27 = lean_ctor_get(x_25, 1); lean_inc(x_27); -lean_dec(x_23); -x_28 = l_Lean_indentExpr(x_8); -x_29 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__7___lambda__2___closed__2; -x_30 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_30, 0, x_29); -lean_ctor_set(x_30, 1, x_28); -x_31 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___closed__12; -x_32 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_32, 0, x_30); -lean_ctor_set(x_32, 1, x_31); -x_33 = l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__5(x_32, x_10, x_11, x_12, x_13, x_14, x_27); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); +lean_dec(x_25); +x_28 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__7___lambda__1(x_1, x_7, x_3, x_4, x_6, x_8, x_26, x_11, x_12, x_13, x_14, x_15, x_16, x_27); lean_dec(x_11); -lean_dec(x_10); -x_34 = !lean_is_exclusive(x_33); -if (x_34 == 0) -{ -return x_33; +lean_dec(x_8); +return x_28; } else { -lean_object* x_35; lean_object* x_36; lean_object* x_37; -x_35 = lean_ctor_get(x_33, 0); -x_36 = lean_ctor_get(x_33, 1); -lean_inc(x_36); -lean_inc(x_35); -lean_dec(x_33); -x_37 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_37, 0, x_35); -lean_ctor_set(x_37, 1, x_36); -return x_37; -} -} -} -else -{ -uint8_t x_38; -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); +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_dec(x_8); lean_dec(x_7); lean_dec(x_6); -lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_1); -x_38 = !lean_is_exclusive(x_18); -if (x_38 == 0) +x_29 = lean_ctor_get(x_25, 1); +lean_inc(x_29); +lean_dec(x_25); +x_30 = l_Lean_indentExpr(x_9); +x_31 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__7___lambda__2___closed__2; +x_32 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_32, 0, x_31); +lean_ctor_set(x_32, 1, x_30); +x_33 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___closed__12; +x_34 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_34, 0, x_32); +lean_ctor_set(x_34, 1, x_33); +x_35 = l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__5___rarg(x_34, x_11, x_12, x_13, x_14, x_15, x_16, x_29); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +x_36 = !lean_is_exclusive(x_35); +if (x_36 == 0) { -return x_18; +return x_35; } else { -lean_object* x_39; lean_object* x_40; lean_object* x_41; -x_39 = lean_ctor_get(x_18, 0); -x_40 = lean_ctor_get(x_18, 1); -lean_inc(x_40); -lean_inc(x_39); -lean_dec(x_18); -x_41 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_41, 0, x_39); -lean_ctor_set(x_41, 1, x_40); -return x_41; +lean_object* x_37; lean_object* x_38; lean_object* x_39; +x_37 = lean_ctor_get(x_35, 0); +x_38 = lean_ctor_get(x_35, 1); +lean_inc(x_38); +lean_inc(x_37); +lean_dec(x_35); +x_39 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_39, 0, x_37); +lean_ctor_set(x_39, 1, x_38); +return x_39; +} +} +} +else +{ +uint8_t x_40; +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_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_1); +x_40 = !lean_is_exclusive(x_20); +if (x_40 == 0) +{ +return x_20; +} +else +{ +lean_object* x_41; lean_object* x_42; lean_object* x_43; +x_41 = lean_ctor_get(x_20, 0); +x_42 = lean_ctor_get(x_20, 1); +lean_inc(x_42); +lean_inc(x_41); +lean_dec(x_20); +x_43 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_43, 0, x_41); +lean_ctor_set(x_43, 1, x_42); +return x_43; } } } @@ -3559,597 +3653,389 @@ x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__7(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__7(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) { _start: { -if (lean_obj_tag(x_5) == 5) +if (lean_obj_tag(x_6) == 5) { -lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; -x_14 = lean_ctor_get(x_5, 0); -lean_inc(x_14); -x_15 = lean_ctor_get(x_5, 1); -lean_inc(x_15); -lean_dec(x_5); -x_16 = lean_array_set(x_6, x_7, x_15); -x_17 = lean_unsigned_to_nat(1u); -x_18 = lean_nat_sub(x_7, x_17); -lean_dec(x_7); -x_5 = x_14; +lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_16 = lean_ctor_get(x_6, 0); +lean_inc(x_16); +x_17 = lean_ctor_get(x_6, 1); +lean_inc(x_17); +lean_dec(x_6); +x_18 = lean_array_set(x_7, x_8, x_17); +x_19 = lean_unsigned_to_nat(1u); +x_20 = lean_nat_sub(x_8, x_19); +lean_dec(x_8); x_6 = x_16; x_7 = x_18; +x_8 = x_20; goto _start; } else { -uint8_t x_20; -lean_dec(x_7); -x_20 = l_Lean_Expr_isConstOf(x_5, x_1); -if (x_20 == 0) -{ -lean_object* x_21; -lean_dec(x_4); -lean_inc(x_12); -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_3); -lean_inc(x_2); -lean_inc(x_1); -x_21 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop(x_1, x_2, x_3, x_5, x_8, x_9, x_10, x_11, x_12, x_13); -if (lean_obj_tag(x_21) == 0) -{ -lean_object* x_22; lean_object* x_23; lean_object* x_24; size_t x_25; size_t x_26; lean_object* x_27; -x_22 = lean_ctor_get(x_21, 0); -lean_inc(x_22); -x_23 = lean_ctor_get(x_21, 1); -lean_inc(x_23); -lean_dec(x_21); -x_24 = lean_array_get_size(x_6); -x_25 = lean_usize_of_nat(x_24); -lean_dec(x_24); -x_26 = 0; -x_27 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__3(x_1, x_2, x_3, x_25, x_26, x_6, x_8, x_9, x_10, x_11, x_12, x_23); -if (lean_obj_tag(x_27) == 0) -{ -uint8_t x_28; -x_28 = !lean_is_exclusive(x_27); -if (x_28 == 0) -{ -lean_object* x_29; lean_object* x_30; -x_29 = lean_ctor_get(x_27, 0); -x_30 = l_Lean_mkAppN(x_22, x_29); -lean_ctor_set(x_27, 0, x_30); -return x_27; -} -else -{ -lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_31 = lean_ctor_get(x_27, 0); -x_32 = lean_ctor_get(x_27, 1); -lean_inc(x_32); -lean_inc(x_31); -lean_dec(x_27); -x_33 = l_Lean_mkAppN(x_22, x_31); -x_34 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_34, 0, x_33); -lean_ctor_set(x_34, 1, x_32); -return x_34; -} -} -else -{ -uint8_t x_35; -lean_dec(x_22); -x_35 = !lean_is_exclusive(x_27); -if (x_35 == 0) -{ -return x_27; -} -else -{ -lean_object* x_36; lean_object* x_37; lean_object* x_38; -x_36 = lean_ctor_get(x_27, 0); -x_37 = lean_ctor_get(x_27, 1); -lean_inc(x_37); -lean_inc(x_36); -lean_dec(x_27); -x_38 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_38, 0, x_36); -lean_ctor_set(x_38, 1, x_37); -return x_38; -} -} -} -else -{ -uint8_t x_39; -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); +uint8_t x_22; lean_dec(x_8); -lean_dec(x_6); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_39 = !lean_is_exclusive(x_21); -if (x_39 == 0) -{ -return x_21; -} -else -{ -lean_object* x_40; lean_object* x_41; lean_object* x_42; -x_40 = lean_ctor_get(x_21, 0); -x_41 = lean_ctor_get(x_21, 1); -lean_inc(x_41); -lean_inc(x_40); -lean_dec(x_21); -x_42 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_42, 0, x_40); -lean_ctor_set(x_42, 1, x_41); -return x_42; -} -} -} -else -{ -lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; uint8_t x_48; -lean_dec(x_5); -x_43 = lean_ctor_get(x_2, 0); -lean_inc(x_43); -x_44 = lean_array_get_size(x_43); -lean_dec(x_43); -x_45 = lean_ctor_get(x_2, 2); -lean_inc(x_45); -x_46 = lean_nat_add(x_44, x_45); -x_47 = lean_array_get_size(x_6); -x_48 = lean_nat_dec_le(x_47, x_46); -lean_dec(x_47); -if (x_48 == 0) -{ -lean_object* x_49; lean_object* x_50; -x_49 = lean_box(0); -x_50 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__7___lambda__2(x_6, x_46, x_1, x_2, x_3, x_44, x_45, x_4, x_49, x_8, x_9, x_10, x_11, x_12, x_13); -return x_50; -} -else -{ -lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; uint8_t x_57; -lean_dec(x_46); -lean_dec(x_45); -lean_dec(x_44); -lean_dec(x_6); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_51 = l_Lean_indentExpr(x_4); -x_52 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__7___closed__2; -x_53 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_53, 0, x_52); -lean_ctor_set(x_53, 1, x_51); -x_54 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___closed__12; -x_55 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_55, 0, x_53); -lean_ctor_set(x_55, 1, x_54); -x_56 = l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__6(x_55, x_8, x_9, x_10, x_11, x_12, x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -x_57 = !lean_is_exclusive(x_56); -if (x_57 == 0) -{ -return x_56; -} -else -{ -lean_object* x_58; lean_object* x_59; lean_object* x_60; -x_58 = lean_ctor_get(x_56, 0); -x_59 = lean_ctor_get(x_56, 1); -lean_inc(x_59); -lean_inc(x_58); -lean_dec(x_56); -x_60 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_60, 0, x_58); -lean_ctor_set(x_60, 1, x_59); -return x_60; -} -} -} -} -} -} -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__8(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { -_start: -{ -uint8_t x_13; -x_13 = lean_usize_dec_lt(x_5, x_4); -if (x_13 == 0) -{ -lean_object* x_14; -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_14 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_14, 0, x_6); -lean_ctor_set(x_14, 1, x_12); -return x_14; -} -else -{ -lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; -x_15 = lean_array_uget(x_6, x_5); -x_16 = lean_unsigned_to_nat(0u); -x_17 = lean_array_uset(x_6, x_5, x_16); -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_3); -lean_inc(x_2); -lean_inc(x_1); -x_18 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop(x_1, x_2, x_3, x_15, x_7, x_8, x_9, x_10, x_11, x_12); -if (lean_obj_tag(x_18) == 0) -{ -lean_object* x_19; lean_object* x_20; size_t x_21; size_t x_22; lean_object* x_23; -x_19 = lean_ctor_get(x_18, 0); -lean_inc(x_19); -x_20 = lean_ctor_get(x_18, 1); -lean_inc(x_20); -lean_dec(x_18); -x_21 = 1; -x_22 = lean_usize_add(x_5, x_21); -x_23 = lean_array_uset(x_17, x_5, x_19); -x_5 = x_22; -x_6 = x_23; -x_12 = x_20; -goto _start; -} -else -{ -uint8_t x_25; -lean_dec(x_17); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -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; -} -} -} -} -} -LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__9(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16) { -_start: -{ -uint8_t x_17; -x_17 = lean_nat_dec_le(x_8, x_7); -if (x_17 == 0) -{ -lean_object* x_18; uint8_t x_19; -x_18 = lean_unsigned_to_nat(0u); -x_19 = lean_nat_dec_eq(x_6, x_18); -if (x_19 == 0) -{ -lean_object* x_20; lean_object* x_21; uint8_t x_22; -x_20 = lean_unsigned_to_nat(1u); -x_21 = lean_nat_sub(x_6, x_20); -lean_dec(x_6); -x_22 = lean_nat_dec_eq(x_4, x_7); +x_22 = l_Lean_Expr_isConstOf(x_6, x_1); if (x_22 == 0) { -lean_object* x_23; uint8_t x_24; -x_23 = lean_ctor_get(x_2, 3); -lean_inc(x_23); -x_24 = l_Array_contains___at___private_Lean_Meta_FunInfo_0__Lean_Meta_collectDeps_visit___spec__2(x_23, x_7); -lean_dec(x_23); -if (x_24 == 0) -{ -lean_object* x_25; lean_object* x_26; lean_object* x_27; -x_25 = l_Lean_instInhabitedExpr; -x_26 = lean_array_get(x_25, x_5, x_7); -lean_inc(x_15); -lean_inc(x_14); -lean_inc(x_13); -lean_inc(x_12); -lean_inc(x_11); -lean_inc(x_3); -lean_inc(x_2); -lean_inc(x_1); -x_27 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop(x_1, x_2, x_3, x_26, x_11, x_12, x_13, x_14, x_15, x_16); -if (lean_obj_tag(x_27) == 0) -{ -lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; -x_28 = lean_ctor_get(x_27, 0); -lean_inc(x_28); -x_29 = lean_ctor_get(x_27, 1); -lean_inc(x_29); -lean_dec(x_27); -x_30 = lean_array_push(x_10, x_28); -x_31 = lean_nat_add(x_7, x_9); -lean_dec(x_7); -x_6 = x_21; -x_7 = x_31; -x_10 = x_30; -x_16 = x_29; -goto _start; -} -else -{ -uint8_t x_33; -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_7); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_33 = !lean_is_exclusive(x_27); -if (x_33 == 0) -{ -return x_27; -} -else -{ -lean_object* x_34; lean_object* x_35; lean_object* x_36; -x_34 = lean_ctor_get(x_27, 0); -x_35 = lean_ctor_get(x_27, 1); -lean_inc(x_35); -lean_inc(x_34); -lean_dec(x_27); -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 -{ -lean_object* x_37; -x_37 = lean_nat_add(x_7, x_9); -lean_dec(x_7); -x_6 = x_21; -x_7 = x_37; -goto _start; -} -} -else -{ -lean_object* x_39; -x_39 = lean_nat_add(x_7, x_9); -lean_dec(x_7); -x_6 = x_21; -x_7 = x_39; -goto _start; -} -} -else -{ -lean_object* x_41; -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_3); -lean_dec(x_2); -lean_dec(x_1); -x_41 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_41, 0, x_10); -lean_ctor_set(x_41, 1, x_16); -return x_41; -} -} -else -{ -lean_object* x_42; -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_3); -lean_dec(x_2); -lean_dec(x_1); -x_42 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_42, 0, x_10); -lean_ctor_set(x_42, 1, x_16); -return x_42; -} -} -} -LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__10___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { -_start: -{ -lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_14 = lean_array_get_size(x_1); -x_15 = l_Array_extract___rarg(x_1, x_2, x_14); -x_16 = lean_array_get_size(x_15); -x_17 = lean_unsigned_to_nat(0u); -x_18 = lean_unsigned_to_nat(1u); -x_19 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__7___lambda__1___closed__1; -lean_inc(x_16); -x_20 = l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__9(x_3, x_4, x_5, x_6, x_15, x_16, x_17, x_16, x_18, x_19, x_8, x_9, x_10, x_11, x_12, x_13); -lean_dec(x_16); -lean_dec(x_15); -if (lean_obj_tag(x_20) == 0) -{ -uint8_t x_21; -x_21 = !lean_is_exclusive(x_20); -if (x_21 == 0) -{ -lean_object* x_22; lean_object* x_23; -x_22 = lean_ctor_get(x_20, 0); -x_23 = l_Lean_mkAppN(x_7, x_22); -lean_ctor_set(x_20, 0, x_23); -return x_20; -} -else -{ -lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; -x_24 = lean_ctor_get(x_20, 0); -x_25 = lean_ctor_get(x_20, 1); -lean_inc(x_25); -lean_inc(x_24); -lean_dec(x_20); -x_26 = l_Lean_mkAppN(x_7, x_24); -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; -} -} -else -{ -uint8_t x_28; -lean_dec(x_7); -x_28 = !lean_is_exclusive(x_20); -if (x_28 == 0) -{ -return x_20; -} -else -{ -lean_object* x_29; lean_object* x_30; lean_object* x_31; -x_29 = lean_ctor_get(x_20, 0); -x_30 = lean_ctor_get(x_20, 1); -lean_inc(x_30); -lean_inc(x_29); -lean_dec(x_20); -x_31 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_31, 0, x_29); -lean_ctor_set(x_31, 1, x_30); -return x_31; -} -} -} -} -LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__10___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) { -_start: -{ -lean_object* x_16; lean_object* x_17; lean_object* x_18; -lean_dec(x_9); -x_16 = l_Lean_instInhabitedExpr; -x_17 = lean_array_get(x_16, x_1, x_2); -lean_dec(x_2); +lean_object* x_23; +lean_dec(x_5); lean_inc(x_14); lean_inc(x_13); lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); -lean_inc(x_5); +lean_inc(x_9); lean_inc(x_4); lean_inc(x_3); -x_18 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop(x_3, x_4, x_5, x_17, x_10, x_11, x_12, x_13, x_14, x_15); -if (lean_obj_tag(x_18) == 0) -{ -lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; -x_19 = lean_ctor_get(x_18, 0); -lean_inc(x_19); -x_20 = lean_ctor_get(x_18, 1); -lean_inc(x_20); -lean_dec(x_18); -x_21 = lean_ctor_get(x_4, 6); -lean_inc(x_21); -x_22 = lean_array_get_size(x_21); -lean_dec(x_21); -lean_inc(x_14); -lean_inc(x_13); -lean_inc(x_12); -lean_inc(x_11); -lean_inc(x_5); -x_23 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelow(x_5, x_22, x_19, x_11, x_12, x_13, x_14, x_20); +lean_inc(x_2); +lean_inc(x_1); +x_23 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop(x_1, x_2, x_3, x_4, x_6, x_9, x_10, x_11, x_12, x_13, x_14, x_15); if (lean_obj_tag(x_23) == 0) { -lean_object* x_24; lean_object* x_25; lean_object* x_26; -lean_dec(x_8); +lean_object* x_24; lean_object* x_25; lean_object* x_26; size_t x_27; size_t x_28; lean_object* x_29; x_24 = lean_ctor_get(x_23, 0); lean_inc(x_24); x_25 = lean_ctor_get(x_23, 1); lean_inc(x_25); lean_dec(x_23); -x_26 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__10___lambda__1(x_1, x_6, x_3, x_4, x_5, x_7, x_24, x_10, x_11, x_12, x_13, x_14, x_25); -lean_dec(x_7); -return x_26; +x_26 = lean_array_get_size(x_7); +x_27 = lean_usize_of_nat(x_26); +lean_dec(x_26); +x_28 = 0; +x_29 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__3(x_1, x_2, x_3, x_4, x_27, x_28, x_7, x_9, x_10, x_11, x_12, x_13, x_14, x_25); +if (lean_obj_tag(x_29) == 0) +{ +uint8_t x_30; +x_30 = !lean_is_exclusive(x_29); +if (x_30 == 0) +{ +lean_object* x_31; lean_object* x_32; +x_31 = lean_ctor_get(x_29, 0); +x_32 = l_Lean_mkAppN(x_24, x_31); +lean_ctor_set(x_29, 0, x_32); +return x_29; } else { -lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; uint8_t x_34; -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_1); -x_27 = lean_ctor_get(x_23, 1); -lean_inc(x_27); -lean_dec(x_23); -x_28 = l_Lean_indentExpr(x_8); -x_29 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__7___lambda__2___closed__2; -x_30 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_30, 0, x_29); -lean_ctor_set(x_30, 1, x_28); -x_31 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___closed__12; -x_32 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_32, 0, x_30); -lean_ctor_set(x_32, 1, x_31); -x_33 = l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__5(x_32, x_10, x_11, x_12, x_13, x_14, x_27); +lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; +x_33 = lean_ctor_get(x_29, 0); +x_34 = lean_ctor_get(x_29, 1); +lean_inc(x_34); +lean_inc(x_33); +lean_dec(x_29); +x_35 = l_Lean_mkAppN(x_24, x_33); +x_36 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_36, 0, x_35); +lean_ctor_set(x_36, 1, x_34); +return x_36; +} +} +else +{ +uint8_t x_37; +lean_dec(x_24); +x_37 = !lean_is_exclusive(x_29); +if (x_37 == 0) +{ +return x_29; +} +else +{ +lean_object* x_38; lean_object* x_39; lean_object* x_40; +x_38 = lean_ctor_get(x_29, 0); +x_39 = lean_ctor_get(x_29, 1); +lean_inc(x_39); +lean_inc(x_38); +lean_dec(x_29); +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_41; lean_dec(x_14); lean_dec(x_13); lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); -x_34 = !lean_is_exclusive(x_33); +lean_dec(x_9); +lean_dec(x_7); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_41 = !lean_is_exclusive(x_23); +if (x_41 == 0) +{ +return x_23; +} +else +{ +lean_object* x_42; lean_object* x_43; lean_object* x_44; +x_42 = lean_ctor_get(x_23, 0); +x_43 = lean_ctor_get(x_23, 1); +lean_inc(x_43); +lean_inc(x_42); +lean_dec(x_23); +x_44 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_44, 0, x_42); +lean_ctor_set(x_44, 1, x_43); +return x_44; +} +} +} +else +{ +lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; uint8_t x_50; +lean_dec(x_6); +x_45 = lean_ctor_get(x_2, 0); +lean_inc(x_45); +x_46 = lean_array_get_size(x_45); +lean_dec(x_45); +x_47 = lean_ctor_get(x_2, 2); +lean_inc(x_47); +x_48 = lean_nat_add(x_46, x_47); +x_49 = lean_array_get_size(x_7); +x_50 = lean_nat_dec_le(x_49, x_48); +lean_dec(x_49); +if (x_50 == 0) +{ +lean_object* x_51; lean_object* x_52; +x_51 = lean_box(0); +x_52 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__7___lambda__2(x_7, x_48, x_1, x_2, x_3, x_4, x_46, x_47, x_5, x_51, x_9, x_10, x_11, x_12, x_13, x_14, x_15); +return x_52; +} +else +{ +lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; uint8_t x_59; +lean_dec(x_48); +lean_dec(x_47); +lean_dec(x_46); +lean_dec(x_7); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_53 = l_Lean_indentExpr(x_5); +x_54 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__7___closed__2; +x_55 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_55, 0, x_54); +lean_ctor_set(x_55, 1, x_53); +x_56 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___closed__12; +x_57 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_57, 0, x_55); +lean_ctor_set(x_57, 1, x_56); +x_58 = l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__6___rarg(x_57, x_9, x_10, x_11, x_12, x_13, x_14, 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_9); +x_59 = !lean_is_exclusive(x_58); +if (x_59 == 0) +{ +return x_58; +} +else +{ +lean_object* x_60; lean_object* x_61; lean_object* x_62; +x_60 = lean_ctor_get(x_58, 0); +x_61 = lean_ctor_get(x_58, 1); +lean_inc(x_61); +lean_inc(x_60); +lean_dec(x_58); +x_62 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_62, 0, x_60); +lean_ctor_set(x_62, 1, x_61); +return x_62; +} +} +} +} +} +} +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__8(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, size_t x_5, size_t x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +_start: +{ +uint8_t x_15; +x_15 = lean_usize_dec_lt(x_6, x_5); +if (x_15 == 0) +{ +lean_object* x_16; +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_16 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_16, 0, x_7); +lean_ctor_set(x_16, 1, x_14); +return x_16; +} +else +{ +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_17 = lean_array_uget(x_7, x_6); +x_18 = lean_unsigned_to_nat(0u); +x_19 = lean_array_uset(x_7, x_6, x_18); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +lean_inc(x_1); +x_20 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop(x_1, x_2, x_3, x_4, x_17, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +if (lean_obj_tag(x_20) == 0) +{ +lean_object* x_21; lean_object* x_22; size_t x_23; size_t x_24; lean_object* x_25; +x_21 = lean_ctor_get(x_20, 0); +lean_inc(x_21); +x_22 = lean_ctor_get(x_20, 1); +lean_inc(x_22); +lean_dec(x_20); +x_23 = 1; +x_24 = lean_usize_add(x_6, x_23); +x_25 = lean_array_uset(x_19, x_6, x_21); +x_6 = x_24; +x_7 = x_25; +x_14 = x_22; +goto _start; +} +else +{ +uint8_t x_27; +lean_dec(x_19); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_27 = !lean_is_exclusive(x_20); +if (x_27 == 0) +{ +return x_20; +} +else +{ +lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_28 = lean_ctor_get(x_20, 0); +x_29 = lean_ctor_get(x_20, 1); +lean_inc(x_29); +lean_inc(x_28); +lean_dec(x_20); +x_30 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_30, 0, x_28); +lean_ctor_set(x_30, 1, x_29); +return x_30; +} +} +} +} +} +LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__9(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16, lean_object* x_17) { +_start: +{ +uint8_t x_18; +x_18 = lean_nat_dec_le(x_8, x_7); +if (x_18 == 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_21; lean_object* x_22; uint8_t x_23; +x_21 = lean_unsigned_to_nat(1u); +x_22 = lean_nat_sub(x_6, x_21); +lean_dec(x_6); +x_23 = lean_nat_dec_eq(x_4, x_7); +if (x_23 == 0) +{ +lean_object* x_24; uint8_t x_25; +x_24 = lean_ctor_get(x_2, 3); +lean_inc(x_24); +x_25 = l_Array_contains___at___private_Lean_Meta_FunInfo_0__Lean_Meta_collectDeps_visit___spec__2(x_24, x_7); +lean_dec(x_24); +if (x_25 == 0) +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_26 = l_Lean_instInhabitedExpr; +x_27 = lean_array_get(x_26, x_5, x_7); +lean_inc(x_16); +lean_inc(x_15); +lean_inc(x_14); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_3); +lean_inc(x_2); +lean_inc(x_1); +x_28 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps(x_1, x_2, x_3, x_27, x_12, x_13, x_14, x_15, x_16, x_17); +if (lean_obj_tag(x_28) == 0) +{ +lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; +x_29 = lean_ctor_get(x_28, 0); +lean_inc(x_29); +x_30 = lean_ctor_get(x_28, 1); +lean_inc(x_30); +lean_dec(x_28); +x_31 = lean_array_push(x_10, x_29); +x_32 = lean_nat_add(x_7, x_9); +lean_dec(x_7); +x_6 = x_22; +x_7 = x_32; +x_10 = x_31; +x_17 = x_30; +goto _start; +} +else +{ +uint8_t x_34; +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_10); +lean_dec(x_7); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_34 = !lean_is_exclusive(x_28); if (x_34 == 0) { -return x_33; +return x_28; } else { lean_object* x_35; lean_object* x_36; lean_object* x_37; -x_35 = lean_ctor_get(x_33, 0); -x_36 = lean_ctor_get(x_33, 1); +x_35 = lean_ctor_get(x_28, 0); +x_36 = lean_ctor_get(x_28, 1); lean_inc(x_36); lean_inc(x_35); -lean_dec(x_33); +lean_dec(x_28); x_37 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_37, 0, x_35); lean_ctor_set(x_37, 1, x_36); @@ -4159,465 +4045,32 @@ return x_37; } else { -uint8_t x_38; -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_8); +lean_object* x_38; +x_38 = lean_nat_add(x_7, x_9); lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_1); -x_38 = !lean_is_exclusive(x_18); -if (x_38 == 0) -{ -return x_18; -} -else -{ -lean_object* x_39; lean_object* x_40; lean_object* x_41; -x_39 = lean_ctor_get(x_18, 0); -x_40 = lean_ctor_get(x_18, 1); -lean_inc(x_40); -lean_inc(x_39); -lean_dec(x_18); -x_41 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_41, 0, x_39); -lean_ctor_set(x_41, 1, x_40); -return x_41; -} -} -} -} -LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__10(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { -_start: -{ -if (lean_obj_tag(x_5) == 5) -{ -lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; -x_14 = lean_ctor_get(x_5, 0); -lean_inc(x_14); -x_15 = lean_ctor_get(x_5, 1); -lean_inc(x_15); -lean_dec(x_5); -x_16 = lean_array_set(x_6, x_7, x_15); -x_17 = lean_unsigned_to_nat(1u); -x_18 = lean_nat_sub(x_7, x_17); -lean_dec(x_7); -x_5 = x_14; -x_6 = x_16; -x_7 = x_18; -goto _start; -} -else -{ -uint8_t x_20; -lean_dec(x_7); -x_20 = l_Lean_Expr_isConstOf(x_5, x_1); -if (x_20 == 0) -{ -lean_object* x_21; -lean_dec(x_4); -lean_inc(x_12); -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_3); -lean_inc(x_2); -lean_inc(x_1); -x_21 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop(x_1, x_2, x_3, x_5, x_8, x_9, x_10, x_11, x_12, x_13); -if (lean_obj_tag(x_21) == 0) -{ -lean_object* x_22; lean_object* x_23; lean_object* x_24; size_t x_25; size_t x_26; lean_object* x_27; -x_22 = lean_ctor_get(x_21, 0); -lean_inc(x_22); -x_23 = lean_ctor_get(x_21, 1); -lean_inc(x_23); -lean_dec(x_21); -x_24 = lean_array_get_size(x_6); -x_25 = lean_usize_of_nat(x_24); -lean_dec(x_24); -x_26 = 0; -x_27 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__8(x_1, x_2, x_3, x_25, x_26, x_6, x_8, x_9, x_10, x_11, x_12, x_23); -if (lean_obj_tag(x_27) == 0) -{ -uint8_t x_28; -x_28 = !lean_is_exclusive(x_27); -if (x_28 == 0) -{ -lean_object* x_29; lean_object* x_30; -x_29 = lean_ctor_get(x_27, 0); -x_30 = l_Lean_mkAppN(x_22, x_29); -lean_ctor_set(x_27, 0, x_30); -return x_27; -} -else -{ -lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_31 = lean_ctor_get(x_27, 0); -x_32 = lean_ctor_get(x_27, 1); -lean_inc(x_32); -lean_inc(x_31); -lean_dec(x_27); -x_33 = l_Lean_mkAppN(x_22, x_31); -x_34 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_34, 0, x_33); -lean_ctor_set(x_34, 1, x_32); -return x_34; -} -} -else -{ -uint8_t x_35; -lean_dec(x_22); -x_35 = !lean_is_exclusive(x_27); -if (x_35 == 0) -{ -return x_27; -} -else -{ -lean_object* x_36; lean_object* x_37; lean_object* x_38; -x_36 = lean_ctor_get(x_27, 0); -x_37 = lean_ctor_get(x_27, 1); -lean_inc(x_37); -lean_inc(x_36); -lean_dec(x_27); -x_38 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_38, 0, x_36); -lean_ctor_set(x_38, 1, x_37); -return x_38; -} -} -} -else -{ -uint8_t x_39; -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_6); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_39 = !lean_is_exclusive(x_21); -if (x_39 == 0) -{ -return x_21; -} -else -{ -lean_object* x_40; lean_object* x_41; lean_object* x_42; -x_40 = lean_ctor_get(x_21, 0); -x_41 = lean_ctor_get(x_21, 1); -lean_inc(x_41); -lean_inc(x_40); -lean_dec(x_21); -x_42 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_42, 0, x_40); -lean_ctor_set(x_42, 1, x_41); -return x_42; -} -} -} -else -{ -lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; uint8_t x_48; -lean_dec(x_5); -x_43 = lean_ctor_get(x_2, 0); -lean_inc(x_43); -x_44 = lean_array_get_size(x_43); -lean_dec(x_43); -x_45 = lean_ctor_get(x_2, 2); -lean_inc(x_45); -x_46 = lean_nat_add(x_44, x_45); -x_47 = lean_array_get_size(x_6); -x_48 = lean_nat_dec_le(x_47, x_46); -lean_dec(x_47); -if (x_48 == 0) -{ -lean_object* x_49; lean_object* x_50; -x_49 = lean_box(0); -x_50 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__10___lambda__2(x_6, x_46, x_1, x_2, x_3, x_44, x_45, x_4, x_49, x_8, x_9, x_10, x_11, x_12, x_13); -return x_50; -} -else -{ -lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; uint8_t x_57; -lean_dec(x_46); -lean_dec(x_45); -lean_dec(x_44); -lean_dec(x_6); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_51 = l_Lean_indentExpr(x_4); -x_52 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__7___closed__2; -x_53 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_53, 0, x_52); -lean_ctor_set(x_53, 1, x_51); -x_54 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___closed__12; -x_55 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_55, 0, x_53); -lean_ctor_set(x_55, 1, x_54); -x_56 = l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__6(x_55, x_8, x_9, x_10, x_11, x_12, x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -x_57 = !lean_is_exclusive(x_56); -if (x_57 == 0) -{ -return x_56; -} -else -{ -lean_object* x_58; lean_object* x_59; lean_object* x_60; -x_58 = lean_ctor_get(x_56, 0); -x_59 = lean_ctor_get(x_56, 1); -lean_inc(x_59); -lean_inc(x_58); -lean_dec(x_56); -x_60 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_60, 0, x_58); -lean_ctor_set(x_60, 1, x_59); -return x_60; -} -} -} -} -} -} -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__11(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { -_start: -{ -uint8_t x_13; -x_13 = lean_usize_dec_lt(x_5, x_4); -if (x_13 == 0) -{ -lean_object* x_14; -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_14 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_14, 0, x_6); -lean_ctor_set(x_14, 1, x_12); -return x_14; -} -else -{ -lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; -x_15 = lean_array_uget(x_6, x_5); -x_16 = lean_unsigned_to_nat(0u); -x_17 = lean_array_uset(x_6, x_5, x_16); -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_3); -lean_inc(x_2); -lean_inc(x_1); -x_18 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop(x_1, x_2, x_3, x_15, x_7, x_8, x_9, x_10, x_11, x_12); -if (lean_obj_tag(x_18) == 0) -{ -lean_object* x_19; lean_object* x_20; size_t x_21; size_t x_22; lean_object* x_23; -x_19 = lean_ctor_get(x_18, 0); -lean_inc(x_19); -x_20 = lean_ctor_get(x_18, 1); -lean_inc(x_20); -lean_dec(x_18); -x_21 = 1; -x_22 = lean_usize_add(x_5, x_21); -x_23 = lean_array_uset(x_17, x_5, x_19); -x_5 = x_22; -x_6 = x_23; -x_12 = x_20; -goto _start; -} -else -{ -uint8_t x_25; -lean_dec(x_17); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -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; -} -} -} -} -} -LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__12(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16) { -_start: -{ -uint8_t x_17; -x_17 = lean_nat_dec_le(x_8, x_7); -if (x_17 == 0) -{ -lean_object* x_18; uint8_t x_19; -x_18 = lean_unsigned_to_nat(0u); -x_19 = lean_nat_dec_eq(x_6, x_18); -if (x_19 == 0) -{ -lean_object* x_20; lean_object* x_21; uint8_t x_22; -x_20 = lean_unsigned_to_nat(1u); -x_21 = lean_nat_sub(x_6, x_20); -lean_dec(x_6); -x_22 = lean_nat_dec_eq(x_4, x_7); -if (x_22 == 0) -{ -lean_object* x_23; uint8_t x_24; -x_23 = lean_ctor_get(x_2, 3); -lean_inc(x_23); -x_24 = l_Array_contains___at___private_Lean_Meta_FunInfo_0__Lean_Meta_collectDeps_visit___spec__2(x_23, x_7); -lean_dec(x_23); -if (x_24 == 0) -{ -lean_object* x_25; lean_object* x_26; lean_object* x_27; -x_25 = l_Lean_instInhabitedExpr; -x_26 = lean_array_get(x_25, x_5, x_7); -lean_inc(x_15); -lean_inc(x_14); -lean_inc(x_13); -lean_inc(x_12); -lean_inc(x_11); -lean_inc(x_3); -lean_inc(x_2); -lean_inc(x_1); -x_27 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop(x_1, x_2, x_3, x_26, x_11, x_12, x_13, x_14, x_15, x_16); -if (lean_obj_tag(x_27) == 0) -{ -lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; -x_28 = lean_ctor_get(x_27, 0); -lean_inc(x_28); -x_29 = lean_ctor_get(x_27, 1); -lean_inc(x_29); -lean_dec(x_27); -x_30 = lean_array_push(x_10, x_28); -x_31 = lean_nat_add(x_7, x_9); -lean_dec(x_7); -x_6 = x_21; -x_7 = x_31; -x_10 = x_30; -x_16 = x_29; -goto _start; -} -else -{ -uint8_t x_33; -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_7); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_33 = !lean_is_exclusive(x_27); -if (x_33 == 0) -{ -return x_27; -} -else -{ -lean_object* x_34; lean_object* x_35; lean_object* x_36; -x_34 = lean_ctor_get(x_27, 0); -x_35 = lean_ctor_get(x_27, 1); -lean_inc(x_35); -lean_inc(x_34); -lean_dec(x_27); -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 -{ -lean_object* x_37; -x_37 = lean_nat_add(x_7, x_9); -lean_dec(x_7); -x_6 = x_21; -x_7 = x_37; +x_6 = x_22; +x_7 = x_38; goto _start; } } else { -lean_object* x_39; -x_39 = lean_nat_add(x_7, x_9); +lean_object* x_40; +x_40 = lean_nat_add(x_7, x_9); lean_dec(x_7); -x_6 = x_21; -x_7 = x_39; +x_6 = x_22; +x_7 = x_40; goto _start; } } else { -lean_object* x_41; -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_3); -lean_dec(x_2); -lean_dec(x_1); -x_41 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_41, 0, x_10); -lean_ctor_set(x_41, 1, x_16); -return x_41; -} -} -else -{ lean_object* x_42; +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_3); @@ -4625,165 +4078,706 @@ lean_dec(x_2); lean_dec(x_1); x_42 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_42, 0, x_10); -lean_ctor_set(x_42, 1, x_16); +lean_ctor_set(x_42, 1, x_17); return x_42; } } -} -LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__13___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { -_start: +else { -lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_14 = lean_array_get_size(x_1); -x_15 = l_Array_extract___rarg(x_1, x_2, x_14); -x_16 = lean_array_get_size(x_15); -x_17 = lean_unsigned_to_nat(0u); -x_18 = lean_unsigned_to_nat(1u); -x_19 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__7___lambda__1___closed__1; -lean_inc(x_16); -x_20 = l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__12(x_3, x_4, x_5, x_6, x_15, x_16, x_17, x_16, x_18, x_19, x_8, x_9, x_10, x_11, x_12, x_13); +lean_object* x_43; lean_dec(x_16); lean_dec(x_15); -if (lean_obj_tag(x_20) == 0) -{ -uint8_t x_21; -x_21 = !lean_is_exclusive(x_20); -if (x_21 == 0) -{ -lean_object* x_22; lean_object* x_23; -x_22 = lean_ctor_get(x_20, 0); -x_23 = l_Lean_mkAppN(x_7, x_22); -lean_ctor_set(x_20, 0, x_23); -return x_20; -} -else -{ -lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; -x_24 = lean_ctor_get(x_20, 0); -x_25 = lean_ctor_get(x_20, 1); -lean_inc(x_25); -lean_inc(x_24); -lean_dec(x_20); -x_26 = l_Lean_mkAppN(x_7, x_24); -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; -} -} -else -{ -uint8_t x_28; +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_7); -x_28 = !lean_is_exclusive(x_20); -if (x_28 == 0) -{ -return x_20; -} -else -{ -lean_object* x_29; lean_object* x_30; lean_object* x_31; -x_29 = lean_ctor_get(x_20, 0); -x_30 = lean_ctor_get(x_20, 1); -lean_inc(x_30); -lean_inc(x_29); -lean_dec(x_20); -x_31 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_31, 0, x_29); -lean_ctor_set(x_31, 1, x_30); -return x_31; +lean_dec(x_6); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_43 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_43, 0, x_10); +lean_ctor_set(x_43, 1, x_17); +return x_43; } } } -} -LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__13___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) { +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__10___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { -lean_object* x_16; lean_object* x_17; lean_object* x_18; -lean_dec(x_9); -x_16 = l_Lean_instInhabitedExpr; -x_17 = lean_array_get(x_16, x_1, x_2); +lean_object* x_9; lean_object* x_10; uint8_t x_11; +x_9 = lean_ctor_get(x_6, 3); +x_10 = l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(x_1, x_4, x_5, x_6, x_7, x_8); +x_11 = !lean_is_exclusive(x_10); +if (x_11 == 0) +{ +lean_object* x_12; lean_object* x_13; +x_12 = lean_ctor_get(x_10, 0); +lean_inc(x_9); +x_13 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_13, 0, x_9); +lean_ctor_set(x_13, 1, x_12); +lean_ctor_set_tag(x_10, 1); +lean_ctor_set(x_10, 0, x_13); +return x_10; +} +else +{ +lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; +x_14 = lean_ctor_get(x_10, 0); +x_15 = lean_ctor_get(x_10, 1); +lean_inc(x_15); +lean_inc(x_14); +lean_dec(x_10); +lean_inc(x_9); +x_16 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_16, 0, x_9); +lean_ctor_set(x_16, 1, x_14); +x_17 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_17, 0, x_16); +lean_ctor_set(x_17, 1, x_15); +return x_17; +} +} +} +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__10(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__10___rarg___boxed), 8, 0); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__11___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +lean_object* x_9; lean_object* x_10; uint8_t x_11; +x_9 = lean_ctor_get(x_6, 3); +x_10 = l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(x_1, x_4, x_5, x_6, x_7, x_8); +x_11 = !lean_is_exclusive(x_10); +if (x_11 == 0) +{ +lean_object* x_12; lean_object* x_13; +x_12 = lean_ctor_get(x_10, 0); +lean_inc(x_9); +x_13 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_13, 0, x_9); +lean_ctor_set(x_13, 1, x_12); +lean_ctor_set_tag(x_10, 1); +lean_ctor_set(x_10, 0, x_13); +return x_10; +} +else +{ +lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; +x_14 = lean_ctor_get(x_10, 0); +x_15 = lean_ctor_get(x_10, 1); +lean_inc(x_15); +lean_inc(x_14); +lean_dec(x_10); +lean_inc(x_9); +x_16 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_16, 0, x_9); +lean_ctor_set(x_16, 1, x_14); +x_17 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_17, 0, x_16); +lean_ctor_set(x_17, 1, x_15); +return x_17; +} +} +} +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__11(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__11___rarg___boxed), 8, 0); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__12___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +_start: +{ +lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_15 = lean_array_get_size(x_1); +x_16 = l_Array_extract___rarg(x_1, x_2, x_15); +x_17 = lean_array_get_size(x_16); +x_18 = lean_unsigned_to_nat(0u); +x_19 = lean_unsigned_to_nat(1u); +x_20 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__7___lambda__1___closed__1; +lean_inc(x_17); +x_21 = l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__9(x_3, x_4, x_5, x_6, x_16, x_17, x_18, x_17, x_19, x_20, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +lean_dec(x_17); +lean_dec(x_16); +if (lean_obj_tag(x_21) == 0) +{ +uint8_t x_22; +x_22 = !lean_is_exclusive(x_21); +if (x_22 == 0) +{ +lean_object* x_23; lean_object* x_24; +x_23 = lean_ctor_get(x_21, 0); +x_24 = l_Lean_mkAppN(x_7, x_23); +lean_ctor_set(x_21, 0, x_24); +return x_21; +} +else +{ +lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_25 = lean_ctor_get(x_21, 0); +x_26 = lean_ctor_get(x_21, 1); +lean_inc(x_26); +lean_inc(x_25); +lean_dec(x_21); +x_27 = l_Lean_mkAppN(x_7, x_25); +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 +{ +uint8_t x_29; +lean_dec(x_7); +x_29 = !lean_is_exclusive(x_21); +if (x_29 == 0) +{ +return x_21; +} +else +{ +lean_object* x_30; lean_object* x_31; lean_object* x_32; +x_30 = lean_ctor_get(x_21, 0); +x_31 = lean_ctor_get(x_21, 1); +lean_inc(x_31); +lean_inc(x_30); +lean_dec(x_21); +x_32 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_32, 0, x_30); +lean_ctor_set(x_32, 1, x_31); +return x_32; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__12___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16, lean_object* x_17) { +_start: +{ +lean_object* x_18; lean_object* x_19; lean_object* x_20; +lean_dec(x_10); +x_18 = l_Lean_instInhabitedExpr; +x_19 = lean_array_get(x_18, x_1, x_2); lean_dec(x_2); +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_6); +lean_inc(x_4); +lean_inc(x_3); +x_20 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop(x_3, x_4, x_5, x_6, x_19, x_11, x_12, x_13, x_14, x_15, x_16, x_17); +if (lean_obj_tag(x_20) == 0) +{ +lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; +x_21 = lean_ctor_get(x_20, 0); +lean_inc(x_21); +x_22 = lean_ctor_get(x_20, 1); +lean_inc(x_22); +lean_dec(x_20); +x_23 = lean_ctor_get(x_4, 6); +lean_inc(x_23); +x_24 = lean_array_get_size(x_23); +lean_dec(x_23); +lean_inc(x_16); +lean_inc(x_15); +lean_inc(x_14); +lean_inc(x_13); +lean_inc(x_6); +x_25 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelow(x_6, x_24, x_21, x_13, x_14, x_15, x_16, x_22); +if (lean_obj_tag(x_25) == 0) +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; +lean_dec(x_9); +x_26 = lean_ctor_get(x_25, 0); +lean_inc(x_26); +x_27 = lean_ctor_get(x_25, 1); +lean_inc(x_27); +lean_dec(x_25); +x_28 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__12___lambda__1(x_1, x_7, x_3, x_4, x_6, x_8, x_26, x_11, x_12, x_13, x_14, x_15, x_16, x_27); +lean_dec(x_11); +lean_dec(x_8); +return x_28; +} +else +{ +lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; uint8_t x_36; +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_1); +x_29 = lean_ctor_get(x_25, 1); +lean_inc(x_29); +lean_dec(x_25); +x_30 = l_Lean_indentExpr(x_9); +x_31 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__7___lambda__2___closed__2; +x_32 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_32, 0, x_31); +lean_ctor_set(x_32, 1, x_30); +x_33 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___closed__12; +x_34 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_34, 0, x_32); +lean_ctor_set(x_34, 1, x_33); +x_35 = l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__10___rarg(x_34, x_11, x_12, x_13, x_14, x_15, x_16, x_29); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +x_36 = !lean_is_exclusive(x_35); +if (x_36 == 0) +{ +return x_35; +} +else +{ +lean_object* x_37; lean_object* x_38; lean_object* x_39; +x_37 = lean_ctor_get(x_35, 0); +x_38 = lean_ctor_get(x_35, 1); +lean_inc(x_38); +lean_inc(x_37); +lean_dec(x_35); +x_39 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_39, 0, x_37); +lean_ctor_set(x_39, 1, x_38); +return x_39; +} +} +} +else +{ +uint8_t x_40; +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_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_1); +x_40 = !lean_is_exclusive(x_20); +if (x_40 == 0) +{ +return x_20; +} +else +{ +lean_object* x_41; lean_object* x_42; lean_object* x_43; +x_41 = lean_ctor_get(x_20, 0); +x_42 = lean_ctor_get(x_20, 1); +lean_inc(x_42); +lean_inc(x_41); +lean_dec(x_20); +x_43 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_43, 0, x_41); +lean_ctor_set(x_43, 1, x_42); +return x_43; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__12(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) { +_start: +{ +if (lean_obj_tag(x_6) == 5) +{ +lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_16 = lean_ctor_get(x_6, 0); +lean_inc(x_16); +x_17 = lean_ctor_get(x_6, 1); +lean_inc(x_17); +lean_dec(x_6); +x_18 = lean_array_set(x_7, x_8, x_17); +x_19 = lean_unsigned_to_nat(1u); +x_20 = lean_nat_sub(x_8, x_19); +lean_dec(x_8); +x_6 = x_16; +x_7 = x_18; +x_8 = x_20; +goto _start; +} +else +{ +uint8_t x_22; +lean_dec(x_8); +x_22 = l_Lean_Expr_isConstOf(x_6, x_1); +if (x_22 == 0) +{ +lean_object* x_23; +lean_dec(x_5); lean_inc(x_14); lean_inc(x_13); lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); -lean_inc(x_5); +lean_inc(x_9); lean_inc(x_4); lean_inc(x_3); -x_18 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop(x_3, x_4, x_5, x_17, x_10, x_11, x_12, x_13, x_14, x_15); -if (lean_obj_tag(x_18) == 0) -{ -lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; -x_19 = lean_ctor_get(x_18, 0); -lean_inc(x_19); -x_20 = lean_ctor_get(x_18, 1); -lean_inc(x_20); -lean_dec(x_18); -x_21 = lean_ctor_get(x_4, 6); -lean_inc(x_21); -x_22 = lean_array_get_size(x_21); -lean_dec(x_21); -lean_inc(x_14); -lean_inc(x_13); -lean_inc(x_12); -lean_inc(x_11); -lean_inc(x_5); -x_23 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelow(x_5, x_22, x_19, x_11, x_12, x_13, x_14, x_20); +lean_inc(x_2); +lean_inc(x_1); +x_23 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop(x_1, x_2, x_3, x_4, x_6, x_9, x_10, x_11, x_12, x_13, x_14, x_15); if (lean_obj_tag(x_23) == 0) { -lean_object* x_24; lean_object* x_25; lean_object* x_26; -lean_dec(x_8); +lean_object* x_24; lean_object* x_25; lean_object* x_26; size_t x_27; size_t x_28; lean_object* x_29; x_24 = lean_ctor_get(x_23, 0); lean_inc(x_24); x_25 = lean_ctor_get(x_23, 1); lean_inc(x_25); lean_dec(x_23); -x_26 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__13___lambda__1(x_1, x_6, x_3, x_4, x_5, x_7, x_24, x_10, x_11, x_12, x_13, x_14, x_25); -lean_dec(x_7); -return x_26; +x_26 = lean_array_get_size(x_7); +x_27 = lean_usize_of_nat(x_26); +lean_dec(x_26); +x_28 = 0; +x_29 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__8(x_1, x_2, x_3, x_4, x_27, x_28, x_7, x_9, x_10, x_11, x_12, x_13, x_14, x_25); +if (lean_obj_tag(x_29) == 0) +{ +uint8_t x_30; +x_30 = !lean_is_exclusive(x_29); +if (x_30 == 0) +{ +lean_object* x_31; lean_object* x_32; +x_31 = lean_ctor_get(x_29, 0); +x_32 = l_Lean_mkAppN(x_24, x_31); +lean_ctor_set(x_29, 0, x_32); +return x_29; } else { -lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; uint8_t x_34; -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_1); -x_27 = lean_ctor_get(x_23, 1); -lean_inc(x_27); -lean_dec(x_23); -x_28 = l_Lean_indentExpr(x_8); -x_29 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__7___lambda__2___closed__2; -x_30 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_30, 0, x_29); -lean_ctor_set(x_30, 1, x_28); -x_31 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___closed__12; -x_32 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_32, 0, x_30); -lean_ctor_set(x_32, 1, x_31); -x_33 = l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__5(x_32, x_10, x_11, x_12, x_13, x_14, x_27); +lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; +x_33 = lean_ctor_get(x_29, 0); +x_34 = lean_ctor_get(x_29, 1); +lean_inc(x_34); +lean_inc(x_33); +lean_dec(x_29); +x_35 = l_Lean_mkAppN(x_24, x_33); +x_36 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_36, 0, x_35); +lean_ctor_set(x_36, 1, x_34); +return x_36; +} +} +else +{ +uint8_t x_37; +lean_dec(x_24); +x_37 = !lean_is_exclusive(x_29); +if (x_37 == 0) +{ +return x_29; +} +else +{ +lean_object* x_38; lean_object* x_39; lean_object* x_40; +x_38 = lean_ctor_get(x_29, 0); +x_39 = lean_ctor_get(x_29, 1); +lean_inc(x_39); +lean_inc(x_38); +lean_dec(x_29); +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_41; lean_dec(x_14); lean_dec(x_13); lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); -x_34 = !lean_is_exclusive(x_33); +lean_dec(x_9); +lean_dec(x_7); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_41 = !lean_is_exclusive(x_23); +if (x_41 == 0) +{ +return x_23; +} +else +{ +lean_object* x_42; lean_object* x_43; lean_object* x_44; +x_42 = lean_ctor_get(x_23, 0); +x_43 = lean_ctor_get(x_23, 1); +lean_inc(x_43); +lean_inc(x_42); +lean_dec(x_23); +x_44 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_44, 0, x_42); +lean_ctor_set(x_44, 1, x_43); +return x_44; +} +} +} +else +{ +lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; uint8_t x_50; +lean_dec(x_6); +x_45 = lean_ctor_get(x_2, 0); +lean_inc(x_45); +x_46 = lean_array_get_size(x_45); +lean_dec(x_45); +x_47 = lean_ctor_get(x_2, 2); +lean_inc(x_47); +x_48 = lean_nat_add(x_46, x_47); +x_49 = lean_array_get_size(x_7); +x_50 = lean_nat_dec_le(x_49, x_48); +lean_dec(x_49); +if (x_50 == 0) +{ +lean_object* x_51; lean_object* x_52; +x_51 = lean_box(0); +x_52 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__12___lambda__2(x_7, x_48, x_1, x_2, x_3, x_4, x_46, x_47, x_5, x_51, x_9, x_10, x_11, x_12, x_13, x_14, x_15); +return x_52; +} +else +{ +lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; uint8_t x_59; +lean_dec(x_48); +lean_dec(x_47); +lean_dec(x_46); +lean_dec(x_7); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_53 = l_Lean_indentExpr(x_5); +x_54 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__7___closed__2; +x_55 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_55, 0, x_54); +lean_ctor_set(x_55, 1, x_53); +x_56 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___closed__12; +x_57 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_57, 0, x_55); +lean_ctor_set(x_57, 1, x_56); +x_58 = l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__11___rarg(x_57, x_9, x_10, x_11, x_12, x_13, x_14, 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_9); +x_59 = !lean_is_exclusive(x_58); +if (x_59 == 0) +{ +return x_58; +} +else +{ +lean_object* x_60; lean_object* x_61; lean_object* x_62; +x_60 = lean_ctor_get(x_58, 0); +x_61 = lean_ctor_get(x_58, 1); +lean_inc(x_61); +lean_inc(x_60); +lean_dec(x_58); +x_62 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_62, 0, x_60); +lean_ctor_set(x_62, 1, x_61); +return x_62; +} +} +} +} +} +} +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__13(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, size_t x_5, size_t x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +_start: +{ +uint8_t x_15; +x_15 = lean_usize_dec_lt(x_6, x_5); +if (x_15 == 0) +{ +lean_object* x_16; +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_16 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_16, 0, x_7); +lean_ctor_set(x_16, 1, x_14); +return x_16; +} +else +{ +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_17 = lean_array_uget(x_7, x_6); +x_18 = lean_unsigned_to_nat(0u); +x_19 = lean_array_uset(x_7, x_6, x_18); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +lean_inc(x_1); +x_20 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop(x_1, x_2, x_3, x_4, x_17, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +if (lean_obj_tag(x_20) == 0) +{ +lean_object* x_21; lean_object* x_22; size_t x_23; size_t x_24; lean_object* x_25; +x_21 = lean_ctor_get(x_20, 0); +lean_inc(x_21); +x_22 = lean_ctor_get(x_20, 1); +lean_inc(x_22); +lean_dec(x_20); +x_23 = 1; +x_24 = lean_usize_add(x_6, x_23); +x_25 = lean_array_uset(x_19, x_6, x_21); +x_6 = x_24; +x_7 = x_25; +x_14 = x_22; +goto _start; +} +else +{ +uint8_t x_27; +lean_dec(x_19); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_27 = !lean_is_exclusive(x_20); +if (x_27 == 0) +{ +return x_20; +} +else +{ +lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_28 = lean_ctor_get(x_20, 0); +x_29 = lean_ctor_get(x_20, 1); +lean_inc(x_29); +lean_inc(x_28); +lean_dec(x_20); +x_30 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_30, 0, x_28); +lean_ctor_set(x_30, 1, x_29); +return x_30; +} +} +} +} +} +LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16, lean_object* x_17) { +_start: +{ +uint8_t x_18; +x_18 = lean_nat_dec_le(x_8, x_7); +if (x_18 == 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_21; lean_object* x_22; uint8_t x_23; +x_21 = lean_unsigned_to_nat(1u); +x_22 = lean_nat_sub(x_6, x_21); +lean_dec(x_6); +x_23 = lean_nat_dec_eq(x_4, x_7); +if (x_23 == 0) +{ +lean_object* x_24; uint8_t x_25; +x_24 = lean_ctor_get(x_2, 3); +lean_inc(x_24); +x_25 = l_Array_contains___at___private_Lean_Meta_FunInfo_0__Lean_Meta_collectDeps_visit___spec__2(x_24, x_7); +lean_dec(x_24); +if (x_25 == 0) +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_26 = l_Lean_instInhabitedExpr; +x_27 = lean_array_get(x_26, x_5, x_7); +lean_inc(x_16); +lean_inc(x_15); +lean_inc(x_14); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_3); +lean_inc(x_2); +lean_inc(x_1); +x_28 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps(x_1, x_2, x_3, x_27, x_12, x_13, x_14, x_15, x_16, x_17); +if (lean_obj_tag(x_28) == 0) +{ +lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; +x_29 = lean_ctor_get(x_28, 0); +lean_inc(x_29); +x_30 = lean_ctor_get(x_28, 1); +lean_inc(x_30); +lean_dec(x_28); +x_31 = lean_array_push(x_10, x_29); +x_32 = lean_nat_add(x_7, x_9); +lean_dec(x_7); +x_6 = x_22; +x_7 = x_32; +x_10 = x_31; +x_17 = x_30; +goto _start; +} +else +{ +uint8_t x_34; +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_10); +lean_dec(x_7); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_34 = !lean_is_exclusive(x_28); if (x_34 == 0) { -return x_33; +return x_28; } else { lean_object* x_35; lean_object* x_36; lean_object* x_37; -x_35 = lean_ctor_get(x_33, 0); -x_36 = lean_ctor_get(x_33, 1); +x_35 = lean_ctor_get(x_28, 0); +x_36 = lean_ctor_get(x_28, 1); lean_inc(x_36); lean_inc(x_35); -lean_dec(x_33); +lean_dec(x_28); x_37 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_37, 0, x_35); lean_ctor_set(x_37, 1, x_36); @@ -4793,244 +4787,612 @@ return x_37; } else { -uint8_t x_38; +lean_object* x_38; +x_38 = lean_nat_add(x_7, x_9); +lean_dec(x_7); +x_6 = x_22; +x_7 = x_38; +goto _start; +} +} +else +{ +lean_object* x_40; +x_40 = lean_nat_add(x_7, x_9); +lean_dec(x_7); +x_6 = x_22; +x_7 = x_40; +goto _start; +} +} +else +{ +lean_object* x_42; +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_8); lean_dec(x_7); lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_1); -x_38 = !lean_is_exclusive(x_18); -if (x_38 == 0) -{ -return x_18; -} -else -{ -lean_object* x_39; lean_object* x_40; lean_object* x_41; -x_39 = lean_ctor_get(x_18, 0); -x_40 = lean_ctor_get(x_18, 1); -lean_inc(x_40); -lean_inc(x_39); -lean_dec(x_18); -x_41 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_41, 0, x_39); -lean_ctor_set(x_41, 1, x_40); -return x_41; -} -} -} -} -LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__13(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { -_start: -{ -if (lean_obj_tag(x_5) == 5) -{ -lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; -x_14 = lean_ctor_get(x_5, 0); -lean_inc(x_14); -x_15 = lean_ctor_get(x_5, 1); -lean_inc(x_15); -lean_dec(x_5); -x_16 = lean_array_set(x_6, x_7, x_15); -x_17 = lean_unsigned_to_nat(1u); -x_18 = lean_nat_sub(x_7, x_17); -lean_dec(x_7); -x_5 = x_14; -x_6 = x_16; -x_7 = x_18; -goto _start; -} -else -{ -uint8_t x_20; -lean_dec(x_7); -x_20 = l_Lean_Expr_isConstOf(x_5, x_1); -if (x_20 == 0) -{ -lean_object* x_21; -lean_dec(x_4); -lean_inc(x_12); -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_3); -lean_inc(x_2); -lean_inc(x_1); -x_21 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop(x_1, x_2, x_3, x_5, x_8, x_9, x_10, x_11, x_12, x_13); -if (lean_obj_tag(x_21) == 0) -{ -lean_object* x_22; lean_object* x_23; lean_object* x_24; size_t x_25; size_t x_26; lean_object* x_27; -x_22 = lean_ctor_get(x_21, 0); -lean_inc(x_22); -x_23 = lean_ctor_get(x_21, 1); -lean_inc(x_23); -lean_dec(x_21); -x_24 = lean_array_get_size(x_6); -x_25 = lean_usize_of_nat(x_24); -lean_dec(x_24); -x_26 = 0; -x_27 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__11(x_1, x_2, x_3, x_25, x_26, x_6, x_8, x_9, x_10, x_11, x_12, x_23); -if (lean_obj_tag(x_27) == 0) -{ -uint8_t x_28; -x_28 = !lean_is_exclusive(x_27); -if (x_28 == 0) -{ -lean_object* x_29; lean_object* x_30; -x_29 = lean_ctor_get(x_27, 0); -x_30 = l_Lean_mkAppN(x_22, x_29); -lean_ctor_set(x_27, 0, x_30); -return x_27; -} -else -{ -lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_31 = lean_ctor_get(x_27, 0); -x_32 = lean_ctor_get(x_27, 1); -lean_inc(x_32); -lean_inc(x_31); -lean_dec(x_27); -x_33 = l_Lean_mkAppN(x_22, x_31); -x_34 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_34, 0, x_33); -lean_ctor_set(x_34, 1, x_32); -return x_34; -} -} -else -{ -uint8_t x_35; -lean_dec(x_22); -x_35 = !lean_is_exclusive(x_27); -if (x_35 == 0) -{ -return x_27; -} -else -{ -lean_object* x_36; lean_object* x_37; lean_object* x_38; -x_36 = lean_ctor_get(x_27, 0); -x_37 = lean_ctor_get(x_27, 1); -lean_inc(x_37); -lean_inc(x_36); -lean_dec(x_27); -x_38 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_38, 0, x_36); -lean_ctor_set(x_38, 1, x_37); -return x_38; -} -} -} -else -{ -uint8_t x_39; -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_6); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_39 = !lean_is_exclusive(x_21); -if (x_39 == 0) +x_42 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_42, 0, x_10); +lean_ctor_set(x_42, 1, x_17); +return x_42; +} +} +else +{ +lean_object* x_43; +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_43 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_43, 0, x_10); +lean_ctor_set(x_43, 1, x_17); +return x_43; +} +} +} +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__15___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +lean_object* x_9; lean_object* x_10; uint8_t x_11; +x_9 = lean_ctor_get(x_6, 3); +x_10 = l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(x_1, x_4, x_5, x_6, x_7, x_8); +x_11 = !lean_is_exclusive(x_10); +if (x_11 == 0) +{ +lean_object* x_12; lean_object* x_13; +x_12 = lean_ctor_get(x_10, 0); +lean_inc(x_9); +x_13 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_13, 0, x_9); +lean_ctor_set(x_13, 1, x_12); +lean_ctor_set_tag(x_10, 1); +lean_ctor_set(x_10, 0, x_13); +return x_10; +} +else +{ +lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; +x_14 = lean_ctor_get(x_10, 0); +x_15 = lean_ctor_get(x_10, 1); +lean_inc(x_15); +lean_inc(x_14); +lean_dec(x_10); +lean_inc(x_9); +x_16 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_16, 0, x_9); +lean_ctor_set(x_16, 1, x_14); +x_17 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_17, 0, x_16); +lean_ctor_set(x_17, 1, x_15); +return x_17; +} +} +} +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__15(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__15___rarg___boxed), 8, 0); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__16___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +lean_object* x_9; lean_object* x_10; uint8_t x_11; +x_9 = lean_ctor_get(x_6, 3); +x_10 = l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(x_1, x_4, x_5, x_6, x_7, x_8); +x_11 = !lean_is_exclusive(x_10); +if (x_11 == 0) +{ +lean_object* x_12; lean_object* x_13; +x_12 = lean_ctor_get(x_10, 0); +lean_inc(x_9); +x_13 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_13, 0, x_9); +lean_ctor_set(x_13, 1, x_12); +lean_ctor_set_tag(x_10, 1); +lean_ctor_set(x_10, 0, x_13); +return x_10; +} +else +{ +lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; +x_14 = lean_ctor_get(x_10, 0); +x_15 = lean_ctor_get(x_10, 1); +lean_inc(x_15); +lean_inc(x_14); +lean_dec(x_10); +lean_inc(x_9); +x_16 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_16, 0, x_9); +lean_ctor_set(x_16, 1, x_14); +x_17 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_17, 0, x_16); +lean_ctor_set(x_17, 1, x_15); +return x_17; +} +} +} +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__16(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__16___rarg___boxed), 8, 0); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +_start: +{ +lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_15 = lean_array_get_size(x_1); +x_16 = l_Array_extract___rarg(x_1, x_2, x_15); +x_17 = lean_array_get_size(x_16); +x_18 = lean_unsigned_to_nat(0u); +x_19 = lean_unsigned_to_nat(1u); +x_20 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__7___lambda__1___closed__1; +lean_inc(x_17); +x_21 = l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14(x_3, x_4, x_5, x_6, x_16, x_17, x_18, x_17, x_19, x_20, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +lean_dec(x_17); +lean_dec(x_16); +if (lean_obj_tag(x_21) == 0) +{ +uint8_t x_22; +x_22 = !lean_is_exclusive(x_21); +if (x_22 == 0) +{ +lean_object* x_23; lean_object* x_24; +x_23 = lean_ctor_get(x_21, 0); +x_24 = l_Lean_mkAppN(x_7, x_23); +lean_ctor_set(x_21, 0, x_24); +return x_21; +} +else +{ +lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_25 = lean_ctor_get(x_21, 0); +x_26 = lean_ctor_get(x_21, 1); +lean_inc(x_26); +lean_inc(x_25); +lean_dec(x_21); +x_27 = l_Lean_mkAppN(x_7, x_25); +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 +{ +uint8_t x_29; +lean_dec(x_7); +x_29 = !lean_is_exclusive(x_21); +if (x_29 == 0) { return x_21; } else { -lean_object* x_40; lean_object* x_41; lean_object* x_42; -x_40 = lean_ctor_get(x_21, 0); -x_41 = lean_ctor_get(x_21, 1); -lean_inc(x_41); -lean_inc(x_40); +lean_object* x_30; lean_object* x_31; lean_object* x_32; +x_30 = lean_ctor_get(x_21, 0); +x_31 = lean_ctor_get(x_21, 1); +lean_inc(x_31); +lean_inc(x_30); lean_dec(x_21); -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; +x_32 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_32, 0, x_30); +lean_ctor_set(x_32, 1, x_31); +return x_32; } } } -else +} +LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16, lean_object* x_17) { +_start: { -lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; uint8_t x_48; -lean_dec(x_5); -x_43 = lean_ctor_get(x_2, 0); -lean_inc(x_43); -x_44 = lean_array_get_size(x_43); -lean_dec(x_43); -x_45 = lean_ctor_get(x_2, 2); -lean_inc(x_45); -x_46 = lean_nat_add(x_44, x_45); -x_47 = lean_array_get_size(x_6); -x_48 = lean_nat_dec_le(x_47, x_46); -lean_dec(x_47); -if (x_48 == 0) -{ -lean_object* x_49; lean_object* x_50; -x_49 = lean_box(0); -x_50 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__13___lambda__2(x_6, x_46, x_1, x_2, x_3, x_44, x_45, x_4, x_49, x_8, x_9, x_10, x_11, x_12, x_13); -return x_50; -} -else -{ -lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; uint8_t x_57; -lean_dec(x_46); -lean_dec(x_45); -lean_dec(x_44); -lean_dec(x_6); -lean_dec(x_3); +lean_object* x_18; lean_object* x_19; lean_object* x_20; +lean_dec(x_10); +x_18 = l_Lean_instInhabitedExpr; +x_19 = lean_array_get(x_18, x_1, x_2); lean_dec(x_2); +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_6); +lean_inc(x_4); +lean_inc(x_3); +x_20 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop(x_3, x_4, x_5, x_6, x_19, x_11, x_12, x_13, x_14, x_15, x_16, x_17); +if (lean_obj_tag(x_20) == 0) +{ +lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; +x_21 = lean_ctor_get(x_20, 0); +lean_inc(x_21); +x_22 = lean_ctor_get(x_20, 1); +lean_inc(x_22); +lean_dec(x_20); +x_23 = lean_ctor_get(x_4, 6); +lean_inc(x_23); +x_24 = lean_array_get_size(x_23); +lean_dec(x_23); +lean_inc(x_16); +lean_inc(x_15); +lean_inc(x_14); +lean_inc(x_13); +lean_inc(x_6); +x_25 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelow(x_6, x_24, x_21, x_13, x_14, x_15, x_16, x_22); +if (lean_obj_tag(x_25) == 0) +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; +lean_dec(x_9); +x_26 = lean_ctor_get(x_25, 0); +lean_inc(x_26); +x_27 = lean_ctor_get(x_25, 1); +lean_inc(x_27); +lean_dec(x_25); +x_28 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__1(x_1, x_7, x_3, x_4, x_6, x_8, x_26, x_11, x_12, x_13, x_14, x_15, x_16, x_27); +lean_dec(x_11); +lean_dec(x_8); +return x_28; +} +else +{ +lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; uint8_t x_36; +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_3); lean_dec(x_1); -x_51 = l_Lean_indentExpr(x_4); -x_52 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__7___closed__2; -x_53 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_53, 0, x_52); -lean_ctor_set(x_53, 1, x_51); -x_54 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___closed__12; -x_55 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_55, 0, x_53); -lean_ctor_set(x_55, 1, x_54); -x_56 = l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__6(x_55, x_8, x_9, x_10, x_11, x_12, x_13); +x_29 = lean_ctor_get(x_25, 1); +lean_inc(x_29); +lean_dec(x_25); +x_30 = l_Lean_indentExpr(x_9); +x_31 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__7___lambda__2___closed__2; +x_32 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_32, 0, x_31); +lean_ctor_set(x_32, 1, x_30); +x_33 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___closed__12; +x_34 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_34, 0, x_32); +lean_ctor_set(x_34, 1, x_33); +x_35 = l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__15___rarg(x_34, x_11, x_12, x_13, x_14, x_15, x_16, x_29); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +x_36 = !lean_is_exclusive(x_35); +if (x_36 == 0) +{ +return x_35; +} +else +{ +lean_object* x_37; lean_object* x_38; lean_object* x_39; +x_37 = lean_ctor_get(x_35, 0); +x_38 = lean_ctor_get(x_35, 1); +lean_inc(x_38); +lean_inc(x_37); +lean_dec(x_35); +x_39 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_39, 0, x_37); +lean_ctor_set(x_39, 1, x_38); +return x_39; +} +} +} +else +{ +uint8_t x_40; +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_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_1); +x_40 = !lean_is_exclusive(x_20); +if (x_40 == 0) +{ +return x_20; +} +else +{ +lean_object* x_41; lean_object* x_42; lean_object* x_43; +x_41 = lean_ctor_get(x_20, 0); +x_42 = lean_ctor_get(x_20, 1); +lean_inc(x_42); +lean_inc(x_41); +lean_dec(x_20); +x_43 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_43, 0, x_41); +lean_ctor_set(x_43, 1, x_42); +return x_43; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) { +_start: +{ +if (lean_obj_tag(x_6) == 5) +{ +lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_16 = lean_ctor_get(x_6, 0); +lean_inc(x_16); +x_17 = lean_ctor_get(x_6, 1); +lean_inc(x_17); +lean_dec(x_6); +x_18 = lean_array_set(x_7, x_8, x_17); +x_19 = lean_unsigned_to_nat(1u); +x_20 = lean_nat_sub(x_8, x_19); +lean_dec(x_8); +x_6 = x_16; +x_7 = x_18; +x_8 = x_20; +goto _start; +} +else +{ +uint8_t x_22; +lean_dec(x_8); +x_22 = l_Lean_Expr_isConstOf(x_6, x_1); +if (x_22 == 0) +{ +lean_object* x_23; +lean_dec(x_5); +lean_inc(x_14); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +lean_inc(x_1); +x_23 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop(x_1, x_2, x_3, x_4, x_6, x_9, x_10, x_11, x_12, x_13, x_14, x_15); +if (lean_obj_tag(x_23) == 0) +{ +lean_object* x_24; lean_object* x_25; lean_object* x_26; size_t x_27; size_t x_28; lean_object* x_29; +x_24 = lean_ctor_get(x_23, 0); +lean_inc(x_24); +x_25 = lean_ctor_get(x_23, 1); +lean_inc(x_25); +lean_dec(x_23); +x_26 = lean_array_get_size(x_7); +x_27 = lean_usize_of_nat(x_26); +lean_dec(x_26); +x_28 = 0; +x_29 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__13(x_1, x_2, x_3, x_4, x_27, x_28, x_7, x_9, x_10, x_11, x_12, x_13, x_14, x_25); +if (lean_obj_tag(x_29) == 0) +{ +uint8_t x_30; +x_30 = !lean_is_exclusive(x_29); +if (x_30 == 0) +{ +lean_object* x_31; lean_object* x_32; +x_31 = lean_ctor_get(x_29, 0); +x_32 = l_Lean_mkAppN(x_24, x_31); +lean_ctor_set(x_29, 0, x_32); +return x_29; +} +else +{ +lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; +x_33 = lean_ctor_get(x_29, 0); +x_34 = lean_ctor_get(x_29, 1); +lean_inc(x_34); +lean_inc(x_33); +lean_dec(x_29); +x_35 = l_Lean_mkAppN(x_24, x_33); +x_36 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_36, 0, x_35); +lean_ctor_set(x_36, 1, x_34); +return x_36; +} +} +else +{ +uint8_t x_37; +lean_dec(x_24); +x_37 = !lean_is_exclusive(x_29); +if (x_37 == 0) +{ +return x_29; +} +else +{ +lean_object* x_38; lean_object* x_39; lean_object* x_40; +x_38 = lean_ctor_get(x_29, 0); +x_39 = lean_ctor_get(x_29, 1); +lean_inc(x_39); +lean_inc(x_38); +lean_dec(x_29); +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_41; +lean_dec(x_14); +lean_dec(x_13); lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); -lean_dec(x_8); -x_57 = !lean_is_exclusive(x_56); -if (x_57 == 0) +lean_dec(x_7); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_41 = !lean_is_exclusive(x_23); +if (x_41 == 0) { -return x_56; +return x_23; } else { -lean_object* x_58; lean_object* x_59; lean_object* x_60; -x_58 = lean_ctor_get(x_56, 0); -x_59 = lean_ctor_get(x_56, 1); -lean_inc(x_59); -lean_inc(x_58); -lean_dec(x_56); -x_60 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_60, 0, x_58); -lean_ctor_set(x_60, 1, x_59); -return x_60; +lean_object* x_42; lean_object* x_43; lean_object* x_44; +x_42 = lean_ctor_get(x_23, 0); +x_43 = lean_ctor_get(x_23, 1); +lean_inc(x_43); +lean_inc(x_42); +lean_dec(x_23); +x_44 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_44, 0, x_42); +lean_ctor_set(x_44, 1, x_43); +return x_44; +} +} +} +else +{ +lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; uint8_t x_50; +lean_dec(x_6); +x_45 = lean_ctor_get(x_2, 0); +lean_inc(x_45); +x_46 = lean_array_get_size(x_45); +lean_dec(x_45); +x_47 = lean_ctor_get(x_2, 2); +lean_inc(x_47); +x_48 = lean_nat_add(x_46, x_47); +x_49 = lean_array_get_size(x_7); +x_50 = lean_nat_dec_le(x_49, x_48); +lean_dec(x_49); +if (x_50 == 0) +{ +lean_object* x_51; lean_object* x_52; +x_51 = lean_box(0); +x_52 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__2(x_7, x_48, x_1, x_2, x_3, x_4, x_46, x_47, x_5, x_51, x_9, x_10, x_11, x_12, x_13, x_14, x_15); +return x_52; +} +else +{ +lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; uint8_t x_59; +lean_dec(x_48); +lean_dec(x_47); +lean_dec(x_46); +lean_dec(x_7); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_53 = l_Lean_indentExpr(x_5); +x_54 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__7___closed__2; +x_55 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_55, 0, x_54); +lean_ctor_set(x_55, 1, x_53); +x_56 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___closed__12; +x_57 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_57, 0, x_55); +lean_ctor_set(x_57, 1, x_56); +x_58 = l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__16___rarg(x_57, x_9, x_10, x_11, x_12, x_13, x_14, 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_9); +x_59 = !lean_is_exclusive(x_58); +if (x_59 == 0) +{ +return x_58; +} +else +{ +lean_object* x_60; lean_object* x_61; lean_object* x_62; +x_60 = lean_ctor_get(x_58, 0); +x_61 = lean_ctor_get(x_58, 1); +lean_inc(x_61); +lean_inc(x_60); +lean_dec(x_58); +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; } } } } } } -static lean_object* _init_l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14___closed__1() { +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__18___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +lean_object* x_9; lean_object* x_10; uint8_t x_11; +x_9 = lean_ctor_get(x_6, 3); +x_10 = l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(x_1, x_4, x_5, x_6, x_7, x_8); +x_11 = !lean_is_exclusive(x_10); +if (x_11 == 0) +{ +lean_object* x_12; lean_object* x_13; +x_12 = lean_ctor_get(x_10, 0); +lean_inc(x_9); +x_13 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_13, 0, x_9); +lean_ctor_set(x_13, 1, x_12); +lean_ctor_set_tag(x_10, 1); +lean_ctor_set(x_10, 0, x_13); +return x_10; +} +else +{ +lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; +x_14 = lean_ctor_get(x_10, 0); +x_15 = lean_ctor_get(x_10, 1); +lean_inc(x_15); +lean_inc(x_14); +lean_dec(x_10); +lean_inc(x_9); +x_16 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_16, 0, x_9); +lean_ctor_set(x_16, 1, x_14); +x_17 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_17, 0, x_16); +lean_ctor_set(x_17, 1, x_15); +return x_17; +} +} +} +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__18(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__18___rarg___boxed), 8, 0); +return x_2; +} +} +static lean_object* _init_l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___closed__1() { _start: { lean_object* x_1; @@ -5038,17 +5400,17 @@ x_1 = lean_mk_string("_traceMsg"); return x_1; } } -static lean_object* _init_l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14___closed__2() { +static lean_object* _init_l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14___closed__1; +x_2 = l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___closed__1; x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14___closed__3() { +static lean_object* _init_l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___closed__3() { _start: { lean_object* x_1; @@ -5056,16 +5418,16 @@ x_1 = lean_mk_string("["); return x_1; } } -static lean_object* _init_l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14___closed__4() { +static lean_object* _init_l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___closed__4() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14___closed__3; +x_1 = l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___closed__3; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -static lean_object* _init_l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14___closed__5() { +static lean_object* _init_l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___closed__5() { _start: { lean_object* x_1; @@ -5073,16 +5435,3352 @@ x_1 = lean_mk_string("] "); return x_1; } } -static lean_object* _init_l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14___closed__6() { +static lean_object* _init_l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___closed__6() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14___closed__5; +x_1 = l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___closed__5; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -LEAN_EXPORT lean_object* l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +LEAN_EXPORT lean_object* l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +_start: +{ +lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; uint8_t x_19; +x_10 = lean_ctor_get(x_7, 3); +x_11 = l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(x_2, x_5, x_6, x_7, x_8, x_9); +x_12 = lean_ctor_get(x_11, 0); +lean_inc(x_12); +x_13 = lean_ctor_get(x_11, 1); +lean_inc(x_13); +lean_dec(x_11); +x_14 = l___private_Lean_Util_Trace_0__Lean_addTraceOptions(x_12); +x_15 = lean_st_ref_take(x_8, x_13); +x_16 = lean_ctor_get(x_15, 0); +lean_inc(x_16); +x_17 = lean_ctor_get(x_16, 3); +lean_inc(x_17); +x_18 = lean_ctor_get(x_15, 1); +lean_inc(x_18); +lean_dec(x_15); +x_19 = !lean_is_exclusive(x_16); +if (x_19 == 0) +{ +lean_object* x_20; uint8_t x_21; +x_20 = lean_ctor_get(x_16, 3); +lean_dec(x_20); +x_21 = !lean_is_exclusive(x_17); +if (x_21 == 0) +{ +lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; uint8_t x_37; +x_22 = lean_ctor_get(x_17, 0); +x_23 = l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___closed__2; +x_24 = l_Lean_Name_append(x_1, x_23); +x_25 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_25, 0, x_1); +x_26 = l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___closed__4; +x_27 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_27, 0, x_26); +lean_ctor_set(x_27, 1, x_25); +x_28 = l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___closed__6; +x_29 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_29, 0, x_27); +lean_ctor_set(x_29, 1, x_28); +x_30 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_30, 0, x_29); +lean_ctor_set(x_30, 1, x_14); +x_31 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___closed__12; +x_32 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_32, 0, x_30); +lean_ctor_set(x_32, 1, x_31); +x_33 = lean_alloc_ctor(11, 2, 0); +lean_ctor_set(x_33, 0, x_24); +lean_ctor_set(x_33, 1, x_32); +lean_inc(x_10); +x_34 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_34, 0, x_10); +lean_ctor_set(x_34, 1, x_33); +x_35 = l_Std_PersistentArray_push___rarg(x_22, x_34); +lean_ctor_set(x_17, 0, x_35); +x_36 = lean_st_ref_set(x_8, x_16, x_18); +x_37 = !lean_is_exclusive(x_36); +if (x_37 == 0) +{ +lean_object* x_38; lean_object* x_39; +x_38 = lean_ctor_get(x_36, 0); +lean_dec(x_38); +x_39 = lean_box(0); +lean_ctor_set(x_36, 0, x_39); +return x_36; +} +else +{ +lean_object* x_40; lean_object* x_41; lean_object* x_42; +x_40 = lean_ctor_get(x_36, 1); +lean_inc(x_40); +lean_dec(x_36); +x_41 = lean_box(0); +x_42 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_42, 0, x_41); +lean_ctor_set(x_42, 1, x_40); +return x_42; +} +} +else +{ +uint8_t x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; +x_43 = lean_ctor_get_uint8(x_17, sizeof(void*)*1); +x_44 = lean_ctor_get(x_17, 0); +lean_inc(x_44); +lean_dec(x_17); +x_45 = l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___closed__2; +x_46 = l_Lean_Name_append(x_1, x_45); +x_47 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_47, 0, x_1); +x_48 = l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___closed__4; +x_49 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_49, 0, x_48); +lean_ctor_set(x_49, 1, x_47); +x_50 = l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___closed__6; +x_51 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_51, 0, x_49); +lean_ctor_set(x_51, 1, x_50); +x_52 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_52, 0, x_51); +lean_ctor_set(x_52, 1, x_14); +x_53 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___closed__12; +x_54 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_54, 0, x_52); +lean_ctor_set(x_54, 1, x_53); +x_55 = lean_alloc_ctor(11, 2, 0); +lean_ctor_set(x_55, 0, x_46); +lean_ctor_set(x_55, 1, x_54); +lean_inc(x_10); +x_56 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_56, 0, x_10); +lean_ctor_set(x_56, 1, x_55); +x_57 = l_Std_PersistentArray_push___rarg(x_44, x_56); +x_58 = lean_alloc_ctor(0, 1, 1); +lean_ctor_set(x_58, 0, x_57); +lean_ctor_set_uint8(x_58, sizeof(void*)*1, x_43); +lean_ctor_set(x_16, 3, x_58); +x_59 = lean_st_ref_set(x_8, x_16, x_18); +x_60 = lean_ctor_get(x_59, 1); +lean_inc(x_60); +if (lean_is_exclusive(x_59)) { + lean_ctor_release(x_59, 0); + lean_ctor_release(x_59, 1); + x_61 = x_59; +} else { + lean_dec_ref(x_59); + x_61 = lean_box(0); +} +x_62 = lean_box(0); +if (lean_is_scalar(x_61)) { + x_63 = lean_alloc_ctor(0, 2, 0); +} else { + x_63 = x_61; +} +lean_ctor_set(x_63, 0, x_62); +lean_ctor_set(x_63, 1, x_60); +return x_63; +} +} +else +{ +lean_object* x_64; lean_object* x_65; lean_object* x_66; uint8_t x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; +x_64 = lean_ctor_get(x_16, 0); +x_65 = lean_ctor_get(x_16, 1); +x_66 = lean_ctor_get(x_16, 2); +lean_inc(x_66); +lean_inc(x_65); +lean_inc(x_64); +lean_dec(x_16); +x_67 = lean_ctor_get_uint8(x_17, sizeof(void*)*1); +x_68 = lean_ctor_get(x_17, 0); +lean_inc(x_68); +if (lean_is_exclusive(x_17)) { + lean_ctor_release(x_17, 0); + x_69 = x_17; +} else { + lean_dec_ref(x_17); + x_69 = lean_box(0); +} +x_70 = l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___closed__2; +x_71 = l_Lean_Name_append(x_1, x_70); +x_72 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_72, 0, x_1); +x_73 = l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___closed__4; +x_74 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_74, 0, x_73); +lean_ctor_set(x_74, 1, x_72); +x_75 = l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___closed__6; +x_76 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_76, 0, x_74); +lean_ctor_set(x_76, 1, x_75); +x_77 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_77, 0, x_76); +lean_ctor_set(x_77, 1, x_14); +x_78 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___closed__12; +x_79 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_79, 0, x_77); +lean_ctor_set(x_79, 1, x_78); +x_80 = lean_alloc_ctor(11, 2, 0); +lean_ctor_set(x_80, 0, x_71); +lean_ctor_set(x_80, 1, x_79); +lean_inc(x_10); +x_81 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_81, 0, x_10); +lean_ctor_set(x_81, 1, x_80); +x_82 = l_Std_PersistentArray_push___rarg(x_68, x_81); +if (lean_is_scalar(x_69)) { + x_83 = lean_alloc_ctor(0, 1, 1); +} else { + x_83 = x_69; +} +lean_ctor_set(x_83, 0, x_82); +lean_ctor_set_uint8(x_83, sizeof(void*)*1, x_67); +x_84 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_84, 0, x_64); +lean_ctor_set(x_84, 1, x_65); +lean_ctor_set(x_84, 2, x_66); +lean_ctor_set(x_84, 3, x_83); +x_85 = lean_st_ref_set(x_8, x_84, x_18); +x_86 = lean_ctor_get(x_85, 1); +lean_inc(x_86); +if (lean_is_exclusive(x_85)) { + lean_ctor_release(x_85, 0); + lean_ctor_release(x_85, 1); + x_87 = x_85; +} else { + lean_dec_ref(x_85); + x_87 = lean_box(0); +} +x_88 = lean_box(0); +if (lean_is_scalar(x_87)) { + x_89 = lean_alloc_ctor(0, 2, 0); +} else { + x_89 = x_87; +} +lean_ctor_set(x_89, 0, x_88); +lean_ctor_set(x_89, 1, x_86); +return x_89; +} +} +} +LEAN_EXPORT lean_object* l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___boxed), 9, 0); +return x_2; +} +} +LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__20___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +lean_object* x_9; uint8_t x_10; lean_object* x_11; lean_object* x_12; +x_9 = lean_ctor_get(x_6, 0); +x_10 = l_Lean_checkTraceOption(x_9, x_1); +x_11 = lean_box(x_10); +x_12 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_12, 0, x_11); +lean_ctor_set(x_12, 1, x_8); +return x_12; +} +} +LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__20(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__20___rarg___boxed), 8, 0); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__21___rarg___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +_start: +{ +lean_object* x_11; +x_11 = lean_apply_9(x_1, x_4, x_5, x_2, x_3, x_6, x_7, x_8, x_9, x_10); +return x_11; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__21___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +_start: +{ +lean_object* x_10; uint8_t x_11; lean_object* x_12; +x_10 = lean_alloc_closure((void*)(l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__21___rarg___lambda__1), 10, 3); +lean_closure_set(x_10, 0, x_2); +lean_closure_set(x_10, 1, x_3); +lean_closure_set(x_10, 2, x_4); +x_11 = 0; +x_12 = l___private_Lean_Meta_Basic_0__Lean_Meta_lambdaTelescopeImp___rarg(x_1, x_11, x_10, x_5, x_6, x_7, x_8, x_9); +if (lean_obj_tag(x_12) == 0) +{ +uint8_t x_13; +x_13 = !lean_is_exclusive(x_12); +if (x_13 == 0) +{ +return x_12; +} +else +{ +lean_object* x_14; lean_object* x_15; lean_object* x_16; +x_14 = lean_ctor_get(x_12, 0); +x_15 = lean_ctor_get(x_12, 1); +lean_inc(x_15); +lean_inc(x_14); +lean_dec(x_12); +x_16 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_16, 0, x_14); +lean_ctor_set(x_16, 1, x_15); +return x_16; +} +} +else +{ +uint8_t x_17; +x_17 = !lean_is_exclusive(x_12); +if (x_17 == 0) +{ +return x_12; +} +else +{ +lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_18 = lean_ctor_get(x_12, 0); +x_19 = lean_ctor_get(x_12, 1); +lean_inc(x_19); +lean_inc(x_18); +lean_dec(x_12); +x_20 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_20, 0, x_18); +lean_ctor_set(x_20, 1, x_19); +return x_20; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__21(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = lean_alloc_closure((void*)(l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__21___rarg), 9, 0); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +_start: +{ +lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; +x_15 = lean_unsigned_to_nat(1u); +x_16 = lean_nat_sub(x_1, x_15); +x_17 = l_Lean_instInhabitedExpr; +x_18 = lean_array_get(x_17, x_2, x_16); +lean_dec(x_16); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +x_19 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop(x_3, x_4, x_5, x_18, x_6, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +if (lean_obj_tag(x_19) == 0) +{ +lean_object* x_20; lean_object* x_21; uint8_t x_22; uint8_t x_23; uint8_t x_24; lean_object* x_25; +x_20 = lean_ctor_get(x_19, 0); +lean_inc(x_20); +x_21 = lean_ctor_get(x_19, 1); +lean_inc(x_21); +lean_dec(x_19); +x_22 = 0; +x_23 = 1; +x_24 = 1; +x_25 = l_Lean_Meta_mkLambdaFVars(x_2, x_20, x_22, x_23, x_24, x_10, x_11, x_12, x_13, x_21); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +return x_25; +} +else +{ +uint8_t x_26; +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_2); +x_26 = !lean_is_exclusive(x_19); +if (x_26 == 0) +{ +return x_19; +} +else +{ +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_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; +} +} +} +} +static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___lambda__2___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("unexpected matcher application alternative"); +return x_1; +} +} +static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___lambda__2___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___lambda__2___closed__1; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} +static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___lambda__2___closed__3() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("\nat application"); +return x_1; +} +} +static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___lambda__2___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___lambda__2___closed__3; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16) { +_start: +{ +lean_object* x_17; uint8_t x_18; +lean_dec(x_9); +x_17 = lean_array_get_size(x_2); +x_18 = lean_nat_dec_le(x_1, x_17); +lean_dec(x_17); +if (x_18 == 0) +{ +lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; uint8_t x_29; +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_19 = l_Lean_indentExpr(x_7); +x_20 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___lambda__2___closed__2; +x_21 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_21, 0, x_20); +lean_ctor_set(x_21, 1, x_19); +x_22 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___lambda__2___closed__4; +x_23 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_23, 0, x_21); +lean_ctor_set(x_23, 1, x_22); +x_24 = l_Lean_indentExpr(x_8); +x_25 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_25, 0, x_23); +lean_ctor_set(x_25, 1, x_24); +x_26 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___closed__12; +x_27 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_27, 0, x_25); +lean_ctor_set(x_27, 1, x_26); +x_28 = l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__18___rarg(x_27, x_10, x_11, x_12, x_13, x_14, x_15, 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); +x_29 = !lean_is_exclusive(x_28); +if (x_29 == 0) +{ +return x_28; +} +else +{ +lean_object* x_30; lean_object* x_31; lean_object* x_32; +x_30 = lean_ctor_get(x_28, 0); +x_31 = lean_ctor_get(x_28, 1); +lean_inc(x_31); +lean_inc(x_30); +lean_dec(x_28); +x_32 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_32, 0, x_30); +lean_ctor_set(x_32, 1, x_31); +return x_32; +} +} +else +{ +lean_object* x_33; lean_object* x_34; +lean_dec(x_8); +lean_dec(x_7); +x_33 = lean_box(0); +x_34 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_33, x_10, x_11, x_12, x_13, x_14, x_15, x_16); +return x_34; +} +} +} +static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___lambda__3___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("altNumParams: "); +return x_1; +} +} +static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___lambda__3___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___lambda__3___closed__1; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} +static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___lambda__3___closed__3() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string(", xs: "); +return x_1; +} +} +static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___lambda__3___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___lambda__3___closed__3; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___lambda__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16) { +_start: +{ +uint8_t x_17; lean_object* x_18; lean_object* x_40; lean_object* x_41; lean_object* x_42; uint8_t x_43; +x_40 = lean_st_ref_get(x_15, x_16); +x_41 = lean_ctor_get(x_40, 0); +lean_inc(x_41); +x_42 = lean_ctor_get(x_41, 3); +lean_inc(x_42); +lean_dec(x_41); +x_43 = lean_ctor_get_uint8(x_42, sizeof(void*)*1); +lean_dec(x_42); +if (x_43 == 0) +{ +lean_object* x_44; uint8_t x_45; +x_44 = lean_ctor_get(x_40, 1); +lean_inc(x_44); +lean_dec(x_40); +x_45 = 0; +x_17 = x_45; +x_18 = x_44; +goto block_39; +} +else +{ +lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; uint8_t x_50; +x_46 = lean_ctor_get(x_40, 1); +lean_inc(x_46); +lean_dec(x_40); +lean_inc(x_7); +x_47 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__20___rarg(x_7, x_10, x_11, x_12, x_13, x_14, x_15, x_46); +x_48 = lean_ctor_get(x_47, 0); +lean_inc(x_48); +x_49 = lean_ctor_get(x_47, 1); +lean_inc(x_49); +lean_dec(x_47); +x_50 = lean_unbox(x_48); +lean_dec(x_48); +x_17 = x_50; +x_18 = x_49; +goto block_39; +} +block_39: +{ +if (x_17 == 0) +{ +lean_object* x_19; lean_object* x_20; +lean_dec(x_7); +x_19 = lean_box(0); +x_20 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___lambda__2(x_1, x_8, x_2, x_3, x_4, x_9, x_5, x_6, x_19, x_10, x_11, x_12, x_13, x_14, x_15, x_18); +lean_dec(x_1); +return x_20; +} +else +{ +lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; +lean_inc(x_1); +x_21 = l_Nat_repr(x_1); +x_22 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_22, 0, x_21); +x_23 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_23, 0, x_22); +x_24 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___lambda__3___closed__2; +x_25 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_25, 0, x_24); +lean_ctor_set(x_25, 1, x_23); +x_26 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___lambda__3___closed__4; +x_27 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_27, 0, x_25); +lean_ctor_set(x_27, 1, x_26); +lean_inc(x_8); +x_28 = lean_array_to_list(lean_box(0), x_8); +x_29 = lean_box(0); +x_30 = l_List_mapTRAux___at_Lean_MessageData_instCoeListExprMessageData___spec__1(x_28, x_29); +x_31 = l_Lean_MessageData_ofList(x_30); +lean_dec(x_30); +x_32 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_32, 0, x_27); +lean_ctor_set(x_32, 1, x_31); +x_33 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___closed__12; +x_34 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_34, 0, x_32); +lean_ctor_set(x_34, 1, x_33); +x_35 = l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg(x_7, x_34, x_10, x_11, x_12, x_13, x_14, x_15, x_18); +x_36 = lean_ctor_get(x_35, 0); +lean_inc(x_36); +x_37 = lean_ctor_get(x_35, 1); +lean_inc(x_37); +lean_dec(x_35); +x_38 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___lambda__2(x_1, x_8, x_2, x_3, x_4, x_9, x_5, x_6, x_36, x_10, x_11, x_12, x_13, x_14, x_15, x_37); +lean_dec(x_1); +return x_38; +} +} +} +} +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, size_t x_6, size_t x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) { +_start: +{ +uint8_t x_16; +x_16 = lean_usize_dec_lt(x_7, x_6); +if (x_16 == 0) +{ +lean_object* x_17; +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_17 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_17, 0, x_8); +lean_ctor_set(x_17, 1, x_15); +return x_17; +} +else +{ +lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_18 = lean_array_uget(x_8, x_7); +x_19 = lean_unsigned_to_nat(0u); +x_20 = lean_array_uset(x_8, x_7, x_19); +x_21 = lean_ctor_get(x_18, 0); +lean_inc(x_21); +x_22 = lean_ctor_get(x_18, 1); +lean_inc(x_22); +lean_dec(x_18); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_21); +lean_inc(x_3); +lean_inc(x_2); +lean_inc(x_1); +x_23 = lean_alloc_closure((void*)(l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___lambda__3), 16, 7); +lean_closure_set(x_23, 0, x_22); +lean_closure_set(x_23, 1, x_1); +lean_closure_set(x_23, 2, x_2); +lean_closure_set(x_23, 3, x_3); +lean_closure_set(x_23, 4, x_21); +lean_closure_set(x_23, 5, x_4); +lean_closure_set(x_23, 6, x_5); +lean_inc(x_14); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +x_24 = l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__21___rarg(x_21, x_23, x_9, x_10, x_11, x_12, x_13, x_14, x_15); +if (lean_obj_tag(x_24) == 0) +{ +lean_object* x_25; lean_object* x_26; size_t x_27; size_t x_28; lean_object* x_29; +x_25 = lean_ctor_get(x_24, 0); +lean_inc(x_25); +x_26 = lean_ctor_get(x_24, 1); +lean_inc(x_26); +lean_dec(x_24); +x_27 = 1; +x_28 = lean_usize_add(x_7, x_27); +x_29 = lean_array_uset(x_20, x_7, x_25); +x_7 = x_28; +x_8 = x_29; +x_15 = x_26; +goto _start; +} +else +{ +uint8_t x_31; +lean_dec(x_20); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_31 = !lean_is_exclusive(x_24); +if (x_31 == 0) +{ +return x_24; +} +else +{ +lean_object* x_32; lean_object* x_33; lean_object* x_34; +x_32 = lean_ctor_get(x_24, 0); +x_33 = lean_ctor_get(x_24, 1); +lean_inc(x_33); +lean_inc(x_32); +lean_dec(x_24); +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_EXPORT lean_object* l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__23___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +_start: +{ +lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; uint8_t x_19; +x_10 = lean_ctor_get(x_7, 3); +x_11 = l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(x_2, x_5, x_6, x_7, x_8, x_9); +x_12 = lean_ctor_get(x_11, 0); +lean_inc(x_12); +x_13 = lean_ctor_get(x_11, 1); +lean_inc(x_13); +lean_dec(x_11); +x_14 = l___private_Lean_Util_Trace_0__Lean_addTraceOptions(x_12); +x_15 = lean_st_ref_take(x_8, x_13); +x_16 = lean_ctor_get(x_15, 0); +lean_inc(x_16); +x_17 = lean_ctor_get(x_16, 3); +lean_inc(x_17); +x_18 = lean_ctor_get(x_15, 1); +lean_inc(x_18); +lean_dec(x_15); +x_19 = !lean_is_exclusive(x_16); +if (x_19 == 0) +{ +lean_object* x_20; uint8_t x_21; +x_20 = lean_ctor_get(x_16, 3); +lean_dec(x_20); +x_21 = !lean_is_exclusive(x_17); +if (x_21 == 0) +{ +lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; uint8_t x_37; +x_22 = lean_ctor_get(x_17, 0); +x_23 = l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___closed__2; +x_24 = l_Lean_Name_append(x_1, x_23); +x_25 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_25, 0, x_1); +x_26 = l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___closed__4; +x_27 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_27, 0, x_26); +lean_ctor_set(x_27, 1, x_25); +x_28 = l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___closed__6; +x_29 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_29, 0, x_27); +lean_ctor_set(x_29, 1, x_28); +x_30 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_30, 0, x_29); +lean_ctor_set(x_30, 1, x_14); +x_31 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___closed__12; +x_32 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_32, 0, x_30); +lean_ctor_set(x_32, 1, x_31); +x_33 = lean_alloc_ctor(11, 2, 0); +lean_ctor_set(x_33, 0, x_24); +lean_ctor_set(x_33, 1, x_32); +lean_inc(x_10); +x_34 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_34, 0, x_10); +lean_ctor_set(x_34, 1, x_33); +x_35 = l_Std_PersistentArray_push___rarg(x_22, x_34); +lean_ctor_set(x_17, 0, x_35); +x_36 = lean_st_ref_set(x_8, x_16, x_18); +x_37 = !lean_is_exclusive(x_36); +if (x_37 == 0) +{ +lean_object* x_38; lean_object* x_39; +x_38 = lean_ctor_get(x_36, 0); +lean_dec(x_38); +x_39 = lean_box(0); +lean_ctor_set(x_36, 0, x_39); +return x_36; +} +else +{ +lean_object* x_40; lean_object* x_41; lean_object* x_42; +x_40 = lean_ctor_get(x_36, 1); +lean_inc(x_40); +lean_dec(x_36); +x_41 = lean_box(0); +x_42 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_42, 0, x_41); +lean_ctor_set(x_42, 1, x_40); +return x_42; +} +} +else +{ +uint8_t x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; +x_43 = lean_ctor_get_uint8(x_17, sizeof(void*)*1); +x_44 = lean_ctor_get(x_17, 0); +lean_inc(x_44); +lean_dec(x_17); +x_45 = l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___closed__2; +x_46 = l_Lean_Name_append(x_1, x_45); +x_47 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_47, 0, x_1); +x_48 = l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___closed__4; +x_49 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_49, 0, x_48); +lean_ctor_set(x_49, 1, x_47); +x_50 = l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___closed__6; +x_51 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_51, 0, x_49); +lean_ctor_set(x_51, 1, x_50); +x_52 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_52, 0, x_51); +lean_ctor_set(x_52, 1, x_14); +x_53 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___closed__12; +x_54 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_54, 0, x_52); +lean_ctor_set(x_54, 1, x_53); +x_55 = lean_alloc_ctor(11, 2, 0); +lean_ctor_set(x_55, 0, x_46); +lean_ctor_set(x_55, 1, x_54); +lean_inc(x_10); +x_56 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_56, 0, x_10); +lean_ctor_set(x_56, 1, x_55); +x_57 = l_Std_PersistentArray_push___rarg(x_44, x_56); +x_58 = lean_alloc_ctor(0, 1, 1); +lean_ctor_set(x_58, 0, x_57); +lean_ctor_set_uint8(x_58, sizeof(void*)*1, x_43); +lean_ctor_set(x_16, 3, x_58); +x_59 = lean_st_ref_set(x_8, x_16, x_18); +x_60 = lean_ctor_get(x_59, 1); +lean_inc(x_60); +if (lean_is_exclusive(x_59)) { + lean_ctor_release(x_59, 0); + lean_ctor_release(x_59, 1); + x_61 = x_59; +} else { + lean_dec_ref(x_59); + x_61 = lean_box(0); +} +x_62 = lean_box(0); +if (lean_is_scalar(x_61)) { + x_63 = lean_alloc_ctor(0, 2, 0); +} else { + x_63 = x_61; +} +lean_ctor_set(x_63, 0, x_62); +lean_ctor_set(x_63, 1, x_60); +return x_63; +} +} +else +{ +lean_object* x_64; lean_object* x_65; lean_object* x_66; uint8_t x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; +x_64 = lean_ctor_get(x_16, 0); +x_65 = lean_ctor_get(x_16, 1); +x_66 = lean_ctor_get(x_16, 2); +lean_inc(x_66); +lean_inc(x_65); +lean_inc(x_64); +lean_dec(x_16); +x_67 = lean_ctor_get_uint8(x_17, sizeof(void*)*1); +x_68 = lean_ctor_get(x_17, 0); +lean_inc(x_68); +if (lean_is_exclusive(x_17)) { + lean_ctor_release(x_17, 0); + x_69 = x_17; +} else { + lean_dec_ref(x_17); + x_69 = lean_box(0); +} +x_70 = l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___closed__2; +x_71 = l_Lean_Name_append(x_1, x_70); +x_72 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_72, 0, x_1); +x_73 = l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___closed__4; +x_74 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_74, 0, x_73); +lean_ctor_set(x_74, 1, x_72); +x_75 = l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___closed__6; +x_76 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_76, 0, x_74); +lean_ctor_set(x_76, 1, x_75); +x_77 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_77, 0, x_76); +lean_ctor_set(x_77, 1, x_14); +x_78 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___closed__12; +x_79 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_79, 0, x_77); +lean_ctor_set(x_79, 1, x_78); +x_80 = lean_alloc_ctor(11, 2, 0); +lean_ctor_set(x_80, 0, x_71); +lean_ctor_set(x_80, 1, x_79); +lean_inc(x_10); +x_81 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_81, 0, x_10); +lean_ctor_set(x_81, 1, x_80); +x_82 = l_Std_PersistentArray_push___rarg(x_68, x_81); +if (lean_is_scalar(x_69)) { + x_83 = lean_alloc_ctor(0, 1, 1); +} else { + x_83 = x_69; +} +lean_ctor_set(x_83, 0, x_82); +lean_ctor_set_uint8(x_83, sizeof(void*)*1, x_67); +x_84 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_84, 0, x_64); +lean_ctor_set(x_84, 1, x_65); +lean_ctor_set(x_84, 2, x_66); +lean_ctor_set(x_84, 3, x_83); +x_85 = lean_st_ref_set(x_8, x_84, x_18); +x_86 = lean_ctor_get(x_85, 1); +lean_inc(x_86); +if (lean_is_exclusive(x_85)) { + lean_ctor_release(x_85, 0); + lean_ctor_release(x_85, 1); + x_87 = x_85; +} else { + lean_dec_ref(x_85); + x_87 = lean_box(0); +} +x_88 = lean_box(0); +if (lean_is_scalar(x_87)) { + x_89 = lean_alloc_ctor(0, 2, 0); +} else { + x_89 = x_87; +} +lean_ctor_set(x_89, 0, x_88); +lean_ctor_set(x_89, 1, x_86); +return x_89; +} +} +} +LEAN_EXPORT lean_object* l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__23(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__23___rarg___boxed), 9, 0); +return x_2; +} +} +LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__24___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +lean_object* x_9; uint8_t x_10; lean_object* x_11; lean_object* x_12; +x_9 = lean_ctor_get(x_6, 0); +x_10 = l_Lean_checkTraceOption(x_9, x_1); +x_11 = lean_box(x_10); +x_12 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_12, 0, x_11); +lean_ctor_set(x_12, 1, x_8); +return x_12; +} +} +LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__24(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__24___rarg___boxed), 8, 0); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__25___rarg___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +_start: +{ +lean_object* x_10; +x_10 = lean_apply_8(x_1, x_4, x_2, x_3, x_5, x_6, x_7, x_8, x_9); +return x_10; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__25___rarg(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) { +_start: +{ +lean_object* x_12; lean_object* x_13; +x_12 = lean_alloc_closure((void*)(l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__25___rarg___lambda__1), 9, 3); +lean_closure_set(x_12, 0, x_4); +lean_closure_set(x_12, 1, x_5); +lean_closure_set(x_12, 2, x_6); +x_13 = l___private_Lean_Meta_Basic_0__Lean_Meta_withLocalDeclImp___rarg(x_1, x_2, x_3, x_12, x_7, x_8, x_9, x_10, x_11); +if (lean_obj_tag(x_13) == 0) +{ +uint8_t x_14; +x_14 = !lean_is_exclusive(x_13); +if (x_14 == 0) +{ +return x_13; +} +else +{ +lean_object* x_15; lean_object* x_16; lean_object* x_17; +x_15 = lean_ctor_get(x_13, 0); +x_16 = lean_ctor_get(x_13, 1); +lean_inc(x_16); +lean_inc(x_15); +lean_dec(x_13); +x_17 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_17, 0, x_15); +lean_ctor_set(x_17, 1, x_16); +return x_17; +} +} +else +{ +uint8_t x_18; +x_18 = !lean_is_exclusive(x_13); +if (x_18 == 0) +{ +return x_13; +} +else +{ +lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_19 = lean_ctor_get(x_13, 0); +x_20 = lean_ctor_get(x_13, 1); +lean_inc(x_20); +lean_inc(x_19); +lean_dec(x_13); +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_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__25(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = lean_alloc_closure((void*)(l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__25___rarg___boxed), 11, 0); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__26___rarg(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) { +_start: +{ +lean_object* x_12; lean_object* x_13; +x_12 = lean_alloc_closure((void*)(l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__25___rarg___lambda__1), 9, 3); +lean_closure_set(x_12, 0, x_4); +lean_closure_set(x_12, 1, x_5); +lean_closure_set(x_12, 2, x_6); +x_13 = l___private_Lean_Meta_Basic_0__Lean_Meta_withLocalDeclImp___rarg(x_1, x_2, x_3, x_12, x_7, x_8, x_9, x_10, x_11); +if (lean_obj_tag(x_13) == 0) +{ +uint8_t x_14; +x_14 = !lean_is_exclusive(x_13); +if (x_14 == 0) +{ +return x_13; +} +else +{ +lean_object* x_15; lean_object* x_16; lean_object* x_17; +x_15 = lean_ctor_get(x_13, 0); +x_16 = lean_ctor_get(x_13, 1); +lean_inc(x_16); +lean_inc(x_15); +lean_dec(x_13); +x_17 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_17, 0, x_15); +lean_ctor_set(x_17, 1, x_16); +return x_17; +} +} +else +{ +uint8_t x_18; +x_18 = !lean_is_exclusive(x_13); +if (x_18 == 0) +{ +return x_13; +} +else +{ +lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_19 = lean_ctor_get(x_13, 0); +x_20 = lean_ctor_get(x_13, 1); +lean_inc(x_20); +lean_inc(x_19); +lean_dec(x_13); +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_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__26(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = lean_alloc_closure((void*)(l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__26___rarg___boxed), 11, 0); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_withLetDecl___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__27___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +_start: +{ +lean_object* x_12; lean_object* x_13; +x_12 = lean_alloc_closure((void*)(l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__25___rarg___lambda__1), 9, 3); +lean_closure_set(x_12, 0, x_4); +lean_closure_set(x_12, 1, x_5); +lean_closure_set(x_12, 2, x_6); +x_13 = l___private_Lean_Meta_Basic_0__Lean_Meta_withLetDeclImp___rarg(x_1, x_2, x_3, x_12, x_7, x_8, x_9, x_10, x_11); +if (lean_obj_tag(x_13) == 0) +{ +uint8_t x_14; +x_14 = !lean_is_exclusive(x_13); +if (x_14 == 0) +{ +return x_13; +} +else +{ +lean_object* x_15; lean_object* x_16; lean_object* x_17; +x_15 = lean_ctor_get(x_13, 0); +x_16 = lean_ctor_get(x_13, 1); +lean_inc(x_16); +lean_inc(x_15); +lean_dec(x_13); +x_17 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_17, 0, x_15); +lean_ctor_set(x_17, 1, x_16); +return x_17; +} +} +else +{ +uint8_t x_18; +x_18 = !lean_is_exclusive(x_13); +if (x_18 == 0) +{ +return x_13; +} +else +{ +lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_19 = lean_ctor_get(x_13, 0); +x_20 = lean_ctor_get(x_13, 1); +lean_inc(x_20); +lean_inc(x_19); +lean_dec(x_13); +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_EXPORT lean_object* l_Lean_Meta_withLetDecl___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__27(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = lean_alloc_closure((void*)(l_Lean_Meta_withLetDecl___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__27___rarg), 11, 0); +return x_3; +} +} +static lean_object* _init_l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__1___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("failed to add `below` argument to 'matcher' application"); +return x_1; +} +} +static lean_object* _init_l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__1___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__1___closed__1; +x_2 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__1___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__1___closed__2; +x_2 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_2 = l_Lean_indentD(x_1); +x_3 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__1___closed__3; +x_4 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_4, 0, x_3); +lean_ctor_set(x_4, 1, x_2); +return x_4; +} +} +static lean_object* _init_l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__2___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__1), 1, 0); +return x_1; +} +} +LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) { +_start: +{ +lean_object* x_16; lean_object* x_17; lean_object* x_18; +lean_dec(x_8); +lean_inc(x_2); +x_16 = lean_alloc_closure((void*)(l_Lean_Meta_MatcherApp_addArg), 7, 2); +lean_closure_set(x_16, 0, x_1); +lean_closure_set(x_16, 1, x_2); +x_17 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__2___closed__1; +lean_inc(x_14); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +x_18 = l_Lean_Meta_mapErrorImp___rarg(x_16, x_17, x_11, x_12, x_13, x_14, x_15); +if (lean_obj_tag(x_18) == 0) +{ +lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_19 = lean_ctor_get(x_18, 0); +lean_inc(x_19); +x_20 = lean_ctor_get(x_18, 1); +lean_inc(x_20); +lean_dec(x_18); +lean_inc(x_14); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_2); +lean_inc(x_19); +x_21 = l_Lean_Elab_Structural_refinedArgType(x_19, x_2, x_11, x_12, x_13, x_14, x_20); +if (lean_obj_tag(x_21) == 0) +{ +lean_object* x_22; uint8_t x_23; +x_22 = lean_ctor_get(x_21, 0); +lean_inc(x_22); +x_23 = lean_unbox(x_22); +lean_dec(x_22); +if (x_23 == 0) +{ +lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; +lean_dec(x_19); +lean_dec(x_7); +x_24 = lean_ctor_get(x_21, 1); +lean_inc(x_24); +lean_dec(x_21); +x_25 = lean_unsigned_to_nat(0u); +x_26 = l_Lean_Expr_getAppNumArgsAux(x_3, x_25); +x_27 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___lambda__4___closed__1; +lean_inc(x_26); +x_28 = lean_mk_array(x_26, x_27); +x_29 = lean_unsigned_to_nat(1u); +x_30 = lean_nat_sub(x_26, x_29); +lean_dec(x_26); +lean_inc(x_3); +x_31 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17(x_4, x_5, x_6, x_2, x_3, x_3, x_28, x_30, x_9, x_10, x_11, x_12, x_13, x_14, x_24); +return x_31; +} +else +{ +lean_object* x_32; uint8_t x_33; +lean_dec(x_2); +x_32 = lean_ctor_get(x_21, 1); +lean_inc(x_32); +lean_dec(x_21); +x_33 = !lean_is_exclusive(x_19); +if (x_33 == 0) +{ +lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; size_t x_45; size_t x_46; lean_object* x_47; +x_34 = lean_ctor_get(x_19, 0); +x_35 = lean_ctor_get(x_19, 1); +x_36 = lean_ctor_get(x_19, 2); +x_37 = lean_ctor_get(x_19, 3); +x_38 = lean_ctor_get(x_19, 4); +x_39 = lean_ctor_get(x_19, 5); +x_40 = lean_ctor_get(x_19, 6); +x_41 = lean_ctor_get(x_19, 7); +x_42 = lean_ctor_get(x_19, 8); +x_43 = l_Array_zip___rarg(x_41, x_40); +lean_dec(x_41); +x_44 = lean_array_get_size(x_43); +x_45 = lean_usize_of_nat(x_44); +lean_dec(x_44); +x_46 = 0; +x_47 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22(x_4, x_5, x_6, x_3, x_7, x_45, x_46, x_43, x_9, x_10, x_11, x_12, x_13, x_14, x_32); +if (lean_obj_tag(x_47) == 0) +{ +uint8_t x_48; +x_48 = !lean_is_exclusive(x_47); +if (x_48 == 0) +{ +lean_object* x_49; lean_object* x_50; +x_49 = lean_ctor_get(x_47, 0); +lean_ctor_set(x_19, 7, x_49); +x_50 = l_Lean_Meta_MatcherApp_toExpr(x_19); +lean_ctor_set(x_47, 0, x_50); +return x_47; +} +else +{ +lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; +x_51 = lean_ctor_get(x_47, 0); +x_52 = lean_ctor_get(x_47, 1); +lean_inc(x_52); +lean_inc(x_51); +lean_dec(x_47); +lean_ctor_set(x_19, 7, x_51); +x_53 = l_Lean_Meta_MatcherApp_toExpr(x_19); +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 +{ +uint8_t x_55; +lean_free_object(x_19); +lean_dec(x_42); +lean_dec(x_40); +lean_dec(x_39); +lean_dec(x_38); +lean_dec(x_37); +lean_dec(x_36); +lean_dec(x_35); +lean_dec(x_34); +x_55 = !lean_is_exclusive(x_47); +if (x_55 == 0) +{ +return x_47; +} +else +{ +lean_object* x_56; lean_object* x_57; lean_object* x_58; +x_56 = lean_ctor_get(x_47, 0); +x_57 = lean_ctor_get(x_47, 1); +lean_inc(x_57); +lean_inc(x_56); +lean_dec(x_47); +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 +{ +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; size_t x_70; size_t x_71; lean_object* x_72; +x_59 = lean_ctor_get(x_19, 0); +x_60 = lean_ctor_get(x_19, 1); +x_61 = lean_ctor_get(x_19, 2); +x_62 = lean_ctor_get(x_19, 3); +x_63 = lean_ctor_get(x_19, 4); +x_64 = lean_ctor_get(x_19, 5); +x_65 = lean_ctor_get(x_19, 6); +x_66 = lean_ctor_get(x_19, 7); +x_67 = lean_ctor_get(x_19, 8); +lean_inc(x_67); +lean_inc(x_66); +lean_inc(x_65); +lean_inc(x_64); +lean_inc(x_63); +lean_inc(x_62); +lean_inc(x_61); +lean_inc(x_60); +lean_inc(x_59); +lean_dec(x_19); +x_68 = l_Array_zip___rarg(x_66, x_65); +lean_dec(x_66); +x_69 = lean_array_get_size(x_68); +x_70 = lean_usize_of_nat(x_69); +lean_dec(x_69); +x_71 = 0; +x_72 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22(x_4, x_5, x_6, x_3, x_7, x_70, x_71, x_68, x_9, x_10, x_11, x_12, x_13, x_14, x_32); +if (lean_obj_tag(x_72) == 0) +{ +lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; +x_73 = lean_ctor_get(x_72, 0); +lean_inc(x_73); +x_74 = lean_ctor_get(x_72, 1); +lean_inc(x_74); +if (lean_is_exclusive(x_72)) { + lean_ctor_release(x_72, 0); + lean_ctor_release(x_72, 1); + x_75 = x_72; +} else { + lean_dec_ref(x_72); + x_75 = lean_box(0); +} +x_76 = lean_alloc_ctor(0, 9, 0); +lean_ctor_set(x_76, 0, x_59); +lean_ctor_set(x_76, 1, x_60); +lean_ctor_set(x_76, 2, x_61); +lean_ctor_set(x_76, 3, x_62); +lean_ctor_set(x_76, 4, x_63); +lean_ctor_set(x_76, 5, x_64); +lean_ctor_set(x_76, 6, x_65); +lean_ctor_set(x_76, 7, x_73); +lean_ctor_set(x_76, 8, x_67); +x_77 = l_Lean_Meta_MatcherApp_toExpr(x_76); +if (lean_is_scalar(x_75)) { + x_78 = lean_alloc_ctor(0, 2, 0); +} else { + x_78 = x_75; +} +lean_ctor_set(x_78, 0, x_77); +lean_ctor_set(x_78, 1, x_74); +return x_78; +} +else +{ +lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; +lean_dec(x_67); +lean_dec(x_65); +lean_dec(x_64); +lean_dec(x_63); +lean_dec(x_62); +lean_dec(x_61); +lean_dec(x_60); +lean_dec(x_59); +x_79 = lean_ctor_get(x_72, 0); +lean_inc(x_79); +x_80 = lean_ctor_get(x_72, 1); +lean_inc(x_80); +if (lean_is_exclusive(x_72)) { + lean_ctor_release(x_72, 0); + lean_ctor_release(x_72, 1); + x_81 = x_72; +} else { + lean_dec_ref(x_72); + x_81 = lean_box(0); +} +if (lean_is_scalar(x_81)) { + x_82 = lean_alloc_ctor(1, 2, 0); +} else { + x_82 = x_81; +} +lean_ctor_set(x_82, 0, x_79); +lean_ctor_set(x_82, 1, x_80); +return x_82; +} +} +} +} +else +{ +uint8_t x_83; +lean_dec(x_19); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_83 = !lean_is_exclusive(x_21); +if (x_83 == 0) +{ +return x_21; +} +else +{ +lean_object* x_84; lean_object* x_85; lean_object* x_86; +x_84 = lean_ctor_get(x_21, 0); +x_85 = lean_ctor_get(x_21, 1); +lean_inc(x_85); +lean_inc(x_84); +lean_dec(x_21); +x_86 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_86, 0, x_84); +lean_ctor_set(x_86, 1, x_85); +return x_86; +} +} +} +else +{ +uint8_t x_87; +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_87 = !lean_is_exclusive(x_18); +if (x_87 == 0) +{ +return x_18; +} +else +{ +lean_object* x_88; lean_object* x_89; lean_object* x_90; +x_88 = lean_ctor_get(x_18, 0); +x_89 = lean_ctor_get(x_18, 1); +lean_inc(x_89); +lean_inc(x_88); +lean_dec(x_18); +x_90 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_90, 0, x_88); +lean_ctor_set(x_90, 1, x_89); +return x_90; +} +} +} +} +LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +_start: +{ +lean_object* x_14; lean_object* x_15; +x_14 = lean_expr_instantiate1(x_1, x_6); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +x_15 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop(x_2, x_3, x_4, x_5, x_14, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +if (lean_obj_tag(x_15) == 0) +{ +lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t 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 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___lambda__5___closed__6; +x_19 = lean_array_push(x_18, x_6); +x_20 = 0; +x_21 = 1; +x_22 = 1; +x_23 = l_Lean_Meta_mkLambdaFVars(x_19, x_16, x_20, x_21, x_22, x_9, x_10, x_11, x_12, x_17); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +return x_23; +} +else +{ +uint8_t x_24; +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_6); +x_24 = !lean_is_exclusive(x_15); +if (x_24 == 0) +{ +return x_15; +} +else +{ +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_27 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_27, 0, x_25); +lean_ctor_set(x_27, 1, x_26); +return x_27; +} +} +} +} +LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +_start: +{ +lean_object* x_14; lean_object* x_15; +x_14 = lean_expr_instantiate1(x_1, x_6); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +x_15 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop(x_2, x_3, x_4, x_5, x_14, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +if (lean_obj_tag(x_15) == 0) +{ +lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t 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 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___lambda__5___closed__6; +x_19 = lean_array_push(x_18, x_6); +x_20 = 0; +x_21 = 1; +x_22 = 1; +x_23 = l_Lean_Meta_mkForallFVars(x_19, x_16, x_20, x_21, x_22, x_9, x_10, x_11, x_12, x_17); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +return x_23; +} +else +{ +uint8_t x_24; +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_6); +x_24 = !lean_is_exclusive(x_15); +if (x_24 == 0) +{ +return x_15; +} +else +{ +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_27 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_27, 0, x_25); +lean_ctor_set(x_27, 1, x_26); +return x_27; +} +} +} +} +LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__5(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +_start: +{ +lean_object* x_14; lean_object* x_15; +x_14 = lean_expr_instantiate1(x_1, x_6); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +x_15 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop(x_2, x_3, x_4, x_5, x_14, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +if (lean_obj_tag(x_15) == 0) +{ +lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t x_20; uint8_t x_21; lean_object* x_22; +x_16 = lean_ctor_get(x_15, 0); +lean_inc(x_16); +x_17 = lean_ctor_get(x_15, 1); +lean_inc(x_17); +lean_dec(x_15); +x_18 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___lambda__5___closed__6; +x_19 = lean_array_push(x_18, x_6); +x_20 = 0; +x_21 = 1; +x_22 = l_Lean_Meta_mkLambdaFVars(x_19, x_16, x_20, x_20, x_21, x_9, x_10, x_11, x_12, x_17); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +return x_22; +} +else +{ +uint8_t x_23; +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_6); +x_23 = !lean_is_exclusive(x_15); +if (x_23 == 0) +{ +return x_15; +} +else +{ +lean_object* x_24; lean_object* x_25; lean_object* x_26; +x_24 = lean_ctor_get(x_15, 0); +x_25 = lean_ctor_get(x_15, 1); +lean_inc(x_25); +lean_inc(x_24); +lean_dec(x_15); +x_26 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_26, 0, x_24); +lean_ctor_set(x_26, 1, x_25); +return x_26; +} +} +} +} +static lean_object* _init_l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__6___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("below before matcherApp.addArg: "); +return x_1; +} +} +static lean_object* _init_l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__6___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__6___closed__1; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} +static lean_object* _init_l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__6___closed__3() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string(" : "); +return x_1; +} +} +static lean_object* _init_l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__6___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__6___closed__3; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__6(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +_start: +{ +lean_dec(x_6); +switch (lean_obj_tag(x_1)) { +case 5: +{ +lean_object* x_14; lean_object* x_15; +lean_inc(x_1); +x_14 = l_Lean_Meta_matchMatcherApp_x3f___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__1(x_2, x_1, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +x_15 = lean_ctor_get(x_14, 0); +lean_inc(x_15); +if (lean_obj_tag(x_15) == 0) +{ +lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; +x_16 = lean_ctor_get(x_14, 1); +lean_inc(x_16); +lean_dec(x_14); +x_17 = lean_unsigned_to_nat(0u); +x_18 = l_Lean_Expr_getAppNumArgsAux(x_1, x_17); +x_19 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___lambda__4___closed__1; +lean_inc(x_18); +x_20 = lean_mk_array(x_18, x_19); +x_21 = lean_unsigned_to_nat(1u); +x_22 = lean_nat_sub(x_18, x_21); +lean_dec(x_18); +lean_inc(x_1); +x_23 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__7(x_2, x_3, x_4, x_5, x_1, x_1, x_20, x_22, x_7, x_8, x_9, x_10, x_11, x_12, x_16); +return x_23; +} +else +{ +lean_object* x_24; lean_object* x_25; lean_object* x_26; uint8_t x_27; +x_24 = lean_ctor_get(x_14, 1); +lean_inc(x_24); +lean_dec(x_14); +x_25 = lean_ctor_get(x_15, 0); +lean_inc(x_25); +lean_dec(x_15); +x_26 = l_Lean_Elab_Structural_RecArgInfo_recArgPos(x_3); +lean_inc(x_1); +lean_inc(x_2); +x_27 = l_Lean_Elab_Structural_recArgHasLooseBVarsAt(x_2, x_26, x_1); +if (x_27 == 0) +{ +lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; +lean_dec(x_25); +x_28 = lean_unsigned_to_nat(0u); +x_29 = l_Lean_Expr_getAppNumArgsAux(x_1, x_28); +x_30 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___lambda__4___closed__1; +lean_inc(x_29); +x_31 = lean_mk_array(x_29, x_30); +x_32 = lean_unsigned_to_nat(1u); +x_33 = lean_nat_sub(x_29, x_32); +lean_dec(x_29); +lean_inc(x_1); +x_34 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__12(x_2, x_3, x_4, x_5, x_1, x_1, x_31, x_33, x_7, x_8, x_9, x_10, x_11, x_12, x_24); +return x_34; +} +else +{ +lean_object* x_35; uint8_t x_36; lean_object* x_37; lean_object* x_61; lean_object* x_62; lean_object* x_63; uint8_t x_64; +x_35 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___closed__6; +x_61 = lean_st_ref_get(x_12, x_24); +x_62 = lean_ctor_get(x_61, 0); +lean_inc(x_62); +x_63 = lean_ctor_get(x_62, 3); +lean_inc(x_63); +lean_dec(x_62); +x_64 = lean_ctor_get_uint8(x_63, sizeof(void*)*1); +lean_dec(x_63); +if (x_64 == 0) +{ +lean_object* x_65; uint8_t x_66; +x_65 = lean_ctor_get(x_61, 1); +lean_inc(x_65); +lean_dec(x_61); +x_66 = 0; +x_36 = x_66; +x_37 = x_65; +goto block_60; +} +else +{ +lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; uint8_t x_71; +x_67 = lean_ctor_get(x_61, 1); +lean_inc(x_67); +lean_dec(x_61); +x_68 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__24___rarg(x_35, x_7, x_8, x_9, x_10, x_11, x_12, x_67); +x_69 = lean_ctor_get(x_68, 0); +lean_inc(x_69); +x_70 = lean_ctor_get(x_68, 1); +lean_inc(x_70); +lean_dec(x_68); +x_71 = lean_unbox(x_69); +lean_dec(x_69); +x_36 = x_71; +x_37 = x_70; +goto block_60; +} +block_60: +{ +if (x_36 == 0) +{ +lean_object* x_38; lean_object* x_39; +x_38 = lean_box(0); +x_39 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__2(x_25, x_5, x_1, x_2, x_3, x_4, x_35, x_38, x_7, x_8, x_9, x_10, x_11, x_12, x_37); +return x_39; +} +else +{ +lean_object* x_40; +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_5); +x_40 = lean_infer_type(x_5, x_9, x_10, x_11, x_12, x_37); +if (lean_obj_tag(x_40) == 0) +{ +lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; +x_41 = lean_ctor_get(x_40, 0); +lean_inc(x_41); +x_42 = lean_ctor_get(x_40, 1); +lean_inc(x_42); +lean_dec(x_40); +lean_inc(x_5); +x_43 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_43, 0, x_5); +x_44 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__6___closed__2; +x_45 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_45, 0, x_44); +lean_ctor_set(x_45, 1, x_43); +x_46 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__6___closed__4; +x_47 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_47, 0, x_45); +lean_ctor_set(x_47, 1, x_46); +x_48 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_48, 0, x_41); +x_49 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_49, 0, x_47); +lean_ctor_set(x_49, 1, x_48); +x_50 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___closed__12; +x_51 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_51, 0, x_49); +lean_ctor_set(x_51, 1, x_50); +x_52 = l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__23___rarg(x_35, x_51, x_7, x_8, x_9, x_10, x_11, x_12, x_42); +x_53 = lean_ctor_get(x_52, 0); +lean_inc(x_53); +x_54 = lean_ctor_get(x_52, 1); +lean_inc(x_54); +lean_dec(x_52); +x_55 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__2(x_25, x_5, x_1, x_2, x_3, x_4, x_35, x_53, x_7, x_8, x_9, x_10, x_11, x_12, x_54); +return x_55; +} +else +{ +uint8_t x_56; +lean_dec(x_25); +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); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_56 = !lean_is_exclusive(x_40); +if (x_56 == 0) +{ +return x_40; +} +else +{ +lean_object* x_57; lean_object* x_58; lean_object* x_59; +x_57 = lean_ctor_get(x_40, 0); +x_58 = lean_ctor_get(x_40, 1); +lean_inc(x_58); +lean_inc(x_57); +lean_dec(x_40); +x_59 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_59, 0, x_57); +lean_ctor_set(x_59, 1, x_58); +return x_59; +} +} +} +} +} +} +} +case 6: +{ +lean_object* x_72; lean_object* x_73; lean_object* x_74; uint64_t x_75; lean_object* x_76; +x_72 = lean_ctor_get(x_1, 0); +lean_inc(x_72); +x_73 = lean_ctor_get(x_1, 1); +lean_inc(x_73); +x_74 = lean_ctor_get(x_1, 2); +lean_inc(x_74); +x_75 = lean_ctor_get_uint64(x_1, sizeof(void*)*3); +lean_dec(x_1); +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_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_76 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop(x_2, x_3, x_4, x_5, x_73, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +if (lean_obj_tag(x_76) == 0) +{ +lean_object* x_77; lean_object* x_78; uint8_t x_79; lean_object* x_80; lean_object* x_81; +x_77 = lean_ctor_get(x_76, 0); +lean_inc(x_77); +x_78 = lean_ctor_get(x_76, 1); +lean_inc(x_78); +lean_dec(x_76); +x_79 = (uint8_t)((x_75 << 24) >> 61); +x_80 = lean_alloc_closure((void*)(l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__3___boxed), 13, 5); +lean_closure_set(x_80, 0, x_74); +lean_closure_set(x_80, 1, x_2); +lean_closure_set(x_80, 2, x_3); +lean_closure_set(x_80, 3, x_4); +lean_closure_set(x_80, 4, x_5); +x_81 = l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__25___rarg(x_72, x_79, x_77, x_80, x_7, x_8, x_9, x_10, x_11, x_12, x_78); +return x_81; +} +else +{ +uint8_t x_82; +lean_dec(x_74); +lean_dec(x_72); +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); +lean_dec(x_3); +lean_dec(x_2); +x_82 = !lean_is_exclusive(x_76); +if (x_82 == 0) +{ +return x_76; +} +else +{ +lean_object* x_83; lean_object* x_84; lean_object* x_85; +x_83 = lean_ctor_get(x_76, 0); +x_84 = lean_ctor_get(x_76, 1); +lean_inc(x_84); +lean_inc(x_83); +lean_dec(x_76); +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; +} +} +} +case 7: +{ +lean_object* x_86; lean_object* x_87; lean_object* x_88; uint64_t x_89; lean_object* x_90; +x_86 = lean_ctor_get(x_1, 0); +lean_inc(x_86); +x_87 = lean_ctor_get(x_1, 1); +lean_inc(x_87); +x_88 = lean_ctor_get(x_1, 2); +lean_inc(x_88); +x_89 = lean_ctor_get_uint64(x_1, sizeof(void*)*3); +lean_dec(x_1); +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_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_90 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop(x_2, x_3, x_4, x_5, x_87, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +if (lean_obj_tag(x_90) == 0) +{ +lean_object* x_91; lean_object* x_92; uint8_t x_93; lean_object* x_94; lean_object* x_95; +x_91 = lean_ctor_get(x_90, 0); +lean_inc(x_91); +x_92 = lean_ctor_get(x_90, 1); +lean_inc(x_92); +lean_dec(x_90); +x_93 = (uint8_t)((x_89 << 24) >> 61); +x_94 = lean_alloc_closure((void*)(l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__4___boxed), 13, 5); +lean_closure_set(x_94, 0, x_88); +lean_closure_set(x_94, 1, x_2); +lean_closure_set(x_94, 2, x_3); +lean_closure_set(x_94, 3, x_4); +lean_closure_set(x_94, 4, x_5); +x_95 = l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__26___rarg(x_86, x_93, x_91, x_94, x_7, x_8, x_9, x_10, x_11, x_12, x_92); +return x_95; +} +else +{ +uint8_t x_96; +lean_dec(x_88); +lean_dec(x_86); +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); +lean_dec(x_3); +lean_dec(x_2); +x_96 = !lean_is_exclusive(x_90); +if (x_96 == 0) +{ +return x_90; +} +else +{ +lean_object* x_97; lean_object* x_98; lean_object* x_99; +x_97 = lean_ctor_get(x_90, 0); +x_98 = lean_ctor_get(x_90, 1); +lean_inc(x_98); +lean_inc(x_97); +lean_dec(x_90); +x_99 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_99, 0, x_97); +lean_ctor_set(x_99, 1, x_98); +return x_99; +} +} +} +case 8: +{ +lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; +x_100 = lean_ctor_get(x_1, 0); +lean_inc(x_100); +x_101 = lean_ctor_get(x_1, 1); +lean_inc(x_101); +x_102 = lean_ctor_get(x_1, 2); +lean_inc(x_102); +x_103 = lean_ctor_get(x_1, 3); +lean_inc(x_103); +lean_dec(x_1); +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_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_104 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop(x_2, x_3, x_4, x_5, x_101, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +if (lean_obj_tag(x_104) == 0) +{ +lean_object* x_105; lean_object* x_106; lean_object* x_107; +x_105 = lean_ctor_get(x_104, 0); +lean_inc(x_105); +x_106 = lean_ctor_get(x_104, 1); +lean_inc(x_106); +lean_dec(x_104); +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_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_107 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop(x_2, x_3, x_4, x_5, x_102, x_7, x_8, x_9, x_10, x_11, x_12, x_106); +if (lean_obj_tag(x_107) == 0) +{ +lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; +x_108 = lean_ctor_get(x_107, 0); +lean_inc(x_108); +x_109 = lean_ctor_get(x_107, 1); +lean_inc(x_109); +lean_dec(x_107); +x_110 = lean_alloc_closure((void*)(l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__5___boxed), 13, 5); +lean_closure_set(x_110, 0, x_103); +lean_closure_set(x_110, 1, x_2); +lean_closure_set(x_110, 2, x_3); +lean_closure_set(x_110, 3, x_4); +lean_closure_set(x_110, 4, x_5); +x_111 = l_Lean_Meta_withLetDecl___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__27___rarg(x_100, x_105, x_108, x_110, x_7, x_8, x_9, x_10, x_11, x_12, x_109); +return x_111; +} +else +{ +uint8_t x_112; +lean_dec(x_105); +lean_dec(x_103); +lean_dec(x_100); +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); +lean_dec(x_3); +lean_dec(x_2); +x_112 = !lean_is_exclusive(x_107); +if (x_112 == 0) +{ +return x_107; +} +else +{ +lean_object* x_113; lean_object* x_114; lean_object* x_115; +x_113 = lean_ctor_get(x_107, 0); +x_114 = lean_ctor_get(x_107, 1); +lean_inc(x_114); +lean_inc(x_113); +lean_dec(x_107); +x_115 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_115, 0, x_113); +lean_ctor_set(x_115, 1, x_114); +return x_115; +} +} +} +else +{ +uint8_t x_116; +lean_dec(x_103); +lean_dec(x_102); +lean_dec(x_100); +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); +lean_dec(x_3); +lean_dec(x_2); +x_116 = !lean_is_exclusive(x_104); +if (x_116 == 0) +{ +return x_104; +} +else +{ +lean_object* x_117; lean_object* x_118; lean_object* x_119; +x_117 = lean_ctor_get(x_104, 0); +x_118 = lean_ctor_get(x_104, 1); +lean_inc(x_118); +lean_inc(x_117); +lean_dec(x_104); +x_119 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_119, 0, x_117); +lean_ctor_set(x_119, 1, x_118); +return x_119; +} +} +} +case 10: +{ +lean_object* x_120; lean_object* x_121; lean_object* x_122; +x_120 = lean_ctor_get(x_1, 0); +lean_inc(x_120); +x_121 = lean_ctor_get(x_1, 1); +lean_inc(x_121); +x_122 = l_Lean_getRecAppSyntax_x3f(x_1); +lean_dec(x_1); +if (lean_obj_tag(x_122) == 0) +{ +lean_object* x_123; +x_123 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop(x_2, x_3, x_4, x_5, x_121, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +if (lean_obj_tag(x_123) == 0) +{ +uint8_t x_124; +x_124 = !lean_is_exclusive(x_123); +if (x_124 == 0) +{ +lean_object* x_125; lean_object* x_126; +x_125 = lean_ctor_get(x_123, 0); +x_126 = l_Lean_mkMData(x_120, x_125); +lean_ctor_set(x_123, 0, x_126); +return x_123; +} +else +{ +lean_object* x_127; lean_object* x_128; lean_object* x_129; lean_object* x_130; +x_127 = lean_ctor_get(x_123, 0); +x_128 = lean_ctor_get(x_123, 1); +lean_inc(x_128); +lean_inc(x_127); +lean_dec(x_123); +x_129 = l_Lean_mkMData(x_120, x_127); +x_130 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_130, 0, x_129); +lean_ctor_set(x_130, 1, x_128); +return x_130; +} +} +else +{ +uint8_t x_131; +lean_dec(x_120); +x_131 = !lean_is_exclusive(x_123); +if (x_131 == 0) +{ +return x_123; +} +else +{ +lean_object* x_132; lean_object* x_133; lean_object* x_134; +x_132 = lean_ctor_get(x_123, 0); +x_133 = lean_ctor_get(x_123, 1); +lean_inc(x_133); +lean_inc(x_132); +lean_dec(x_123); +x_134 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_134, 0, x_132); +lean_ctor_set(x_134, 1, x_133); +return x_134; +} +} +} +else +{ +lean_object* x_135; +lean_dec(x_122); +lean_dec(x_120); +x_135 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop(x_2, x_3, x_4, x_5, x_121, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +return x_135; +} +} +case 11: +{ +lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; +x_136 = lean_ctor_get(x_1, 0); +lean_inc(x_136); +x_137 = lean_ctor_get(x_1, 1); +lean_inc(x_137); +x_138 = lean_ctor_get(x_1, 2); +lean_inc(x_138); +lean_dec(x_1); +x_139 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop(x_2, x_3, x_4, x_5, x_138, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +if (lean_obj_tag(x_139) == 0) +{ +uint8_t x_140; +x_140 = !lean_is_exclusive(x_139); +if (x_140 == 0) +{ +lean_object* x_141; lean_object* x_142; +x_141 = lean_ctor_get(x_139, 0); +x_142 = l_Lean_mkProj(x_136, x_137, x_141); +lean_ctor_set(x_139, 0, x_142); +return x_139; +} +else +{ +lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; +x_143 = lean_ctor_get(x_139, 0); +x_144 = lean_ctor_get(x_139, 1); +lean_inc(x_144); +lean_inc(x_143); +lean_dec(x_139); +x_145 = l_Lean_mkProj(x_136, x_137, x_143); +x_146 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_146, 0, x_145); +lean_ctor_set(x_146, 1, x_144); +return x_146; +} +} +else +{ +uint8_t x_147; +lean_dec(x_137); +lean_dec(x_136); +x_147 = !lean_is_exclusive(x_139); +if (x_147 == 0) +{ +return x_139; +} +else +{ +lean_object* x_148; lean_object* x_149; lean_object* x_150; +x_148 = lean_ctor_get(x_139, 0); +x_149 = lean_ctor_get(x_139, 1); +lean_inc(x_149); +lean_inc(x_148); +lean_dec(x_139); +x_150 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_150, 0, x_148); +lean_ctor_set(x_150, 1, x_149); +return x_150; +} +} +} +default: +{ +lean_object* x_151; +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_151 = l_Lean_Elab_ensureNoRecFn(x_2, x_1, x_9, x_10, x_11, x_12, x_13); +return x_151; +} +} +} +} +LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +_start: +{ +lean_object* x_13; +lean_inc(x_3); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +x_13 = lean_apply_8(x_3, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +if (lean_obj_tag(x_13) == 0) +{ +lean_object* x_14; uint8_t x_15; +x_14 = lean_ctor_get(x_13, 0); +lean_inc(x_14); +x_15 = lean_unbox(x_14); +lean_dec(x_14); +if (x_15 == 0) +{ +uint8_t x_16; +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_16 = !lean_is_exclusive(x_13); +if (x_16 == 0) +{ +lean_object* x_17; +x_17 = lean_ctor_get(x_13, 0); +lean_dec(x_17); +lean_ctor_set(x_13, 0, x_5); +return x_13; +} +else +{ +lean_object* x_18; lean_object* x_19; +x_18 = lean_ctor_get(x_13, 1); +lean_inc(x_18); +lean_dec(x_13); +x_19 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_19, 0, x_5); +lean_ctor_set(x_19, 1, x_18); +return x_19; +} +} +else +{ +lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_20 = lean_ctor_get(x_13, 1); +lean_inc(x_20); +lean_dec(x_13); +x_21 = lean_box(0); +x_22 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__6(x_5, x_1, x_2, x_3, x_4, x_21, x_6, x_7, x_8, x_9, x_10, x_11, x_20); +return x_22; +} +} +else +{ +uint8_t x_23; +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_23 = !lean_is_exclusive(x_13); +if (x_23 == 0) +{ +return x_13; +} +else +{ +lean_object* x_24; lean_object* x_25; lean_object* x_26; +x_24 = lean_ctor_get(x_13, 0); +x_25 = lean_ctor_get(x_13, 1); +lean_inc(x_25); +lean_inc(x_24); +lean_dec(x_13); +x_26 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_26, 0, x_24); +lean_ctor_set(x_26, 1, x_25); +return x_26; +} +} +} +} +LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps___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) { +_start: +{ +lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; uint8_t x_19; +x_10 = lean_st_ref_get(x_8, x_9); +x_11 = lean_ctor_get(x_10, 1); +lean_inc(x_11); +lean_dec(x_10); +x_12 = lean_st_ref_take(x_3, x_11); +x_13 = lean_ctor_get(x_12, 0); +lean_inc(x_13); +x_14 = lean_ctor_get(x_12, 1); +lean_inc(x_14); +lean_dec(x_12); +x_15 = l_Lean_HasConstCache_containsUnsafe(x_1, x_2, x_13); +x_16 = lean_ctor_get(x_15, 0); +lean_inc(x_16); +x_17 = lean_ctor_get(x_15, 1); +lean_inc(x_17); +lean_dec(x_15); +x_18 = lean_st_ref_set(x_3, x_17, x_14); +x_19 = !lean_is_exclusive(x_18); +if (x_19 == 0) +{ +lean_object* x_20; +x_20 = lean_ctor_get(x_18, 0); +lean_dec(x_20); +lean_ctor_set(x_18, 0, x_16); +return x_18; +} +else +{ +lean_object* x_21; lean_object* x_22; +x_21 = lean_ctor_get(x_18, 1); +lean_inc(x_21); +lean_dec(x_18); +x_22 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_22, 0, x_16); +lean_ctor_set(x_22, 1, x_21); +return x_22; +} +} +} +static lean_object* _init_l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = lean_unsigned_to_nat(0u); +x_2 = l_Std_mkHashMapImp___rarg(x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +_start: +{ +lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; +lean_inc(x_1); +x_11 = lean_alloc_closure((void*)(l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps___lambda__1___boxed), 9, 1); +lean_closure_set(x_11, 0, x_1); +x_12 = lean_st_ref_get(x_9, x_10); +x_13 = lean_ctor_get(x_12, 1); +lean_inc(x_13); +lean_dec(x_12); +x_14 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps___closed__1; +x_15 = lean_st_mk_ref(x_14, x_13); +x_16 = lean_ctor_get(x_15, 0); +lean_inc(x_16); +x_17 = lean_ctor_get(x_15, 1); +lean_inc(x_17); +lean_dec(x_15); +lean_inc(x_9); +lean_inc(x_16); +x_18 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop(x_1, x_2, x_11, x_3, x_4, x_16, x_5, x_6, x_7, x_8, x_9, x_17); +if (lean_obj_tag(x_18) == 0) +{ +lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; +x_19 = lean_ctor_get(x_18, 0); +lean_inc(x_19); +x_20 = lean_ctor_get(x_18, 1); +lean_inc(x_20); +lean_dec(x_18); +x_21 = lean_st_ref_get(x_9, x_20); +lean_dec(x_9); +x_22 = lean_ctor_get(x_21, 1); +lean_inc(x_22); +lean_dec(x_21); +x_23 = lean_st_ref_get(x_16, x_22); +lean_dec(x_16); +x_24 = !lean_is_exclusive(x_23); +if (x_24 == 0) +{ +lean_object* x_25; +x_25 = lean_ctor_get(x_23, 0); +lean_dec(x_25); +lean_ctor_set(x_23, 0, x_19); +return x_23; +} +else +{ +lean_object* x_26; lean_object* x_27; +x_26 = lean_ctor_get(x_23, 1); +lean_inc(x_26); +lean_dec(x_23); +x_27 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_27, 0, x_19); +lean_ctor_set(x_27, 1, x_26); +return x_27; +} +} +else +{ +uint8_t x_28; +lean_dec(x_16); +lean_dec(x_9); +x_28 = !lean_is_exclusive(x_18); +if (x_28 == 0) +{ +return x_18; +} +else +{ +lean_object* x_29; lean_object* x_30; lean_object* x_31; +x_29 = lean_ctor_get(x_18, 0); +x_30 = lean_ctor_get(x_18, 1); +lean_inc(x_30); +lean_inc(x_29); +lean_dec(x_18); +x_31 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_31, 0, x_29); +lean_ctor_set(x_31, 1, x_30); +return x_31; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_getMatcherInfo_x3f___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__2___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +lean_object* x_9; +x_9 = l_Lean_Meta_getMatcherInfo_x3f___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__2___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_9; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_getMatcherInfo_x3f___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__2___boxed(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = l_Lean_Meta_getMatcherInfo_x3f___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__2(x_1); +lean_dec(x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_matchMatcherApp_x3f___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +_start: +{ +lean_object* x_10; +x_10 = l_Lean_Meta_matchMatcherApp_x3f___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_1); +return x_10; +} +} +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +_start: +{ +size_t x_15; size_t x_16; lean_object* x_17; +x_15 = lean_unbox_usize(x_5); +lean_dec(x_5); +x_16 = lean_unbox_usize(x_6); +lean_dec(x_6); +x_17 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__3(x_1, x_2, x_3, x_4, x_15, x_16, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +return x_17; +} +} +LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__4___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_18; +x_18 = l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__4(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16, x_17); +lean_dec(x_11); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_5); +lean_dec(x_4); +return x_18; +} +} +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__5___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +lean_object* x_9; +x_9 = l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__5___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_9; +} +} +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__5___boxed(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__5(x_1); +lean_dec(x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__6___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +lean_object* x_9; +x_9 = l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__6___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_9; +} +} +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__6___boxed(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__6(x_1); +lean_dec(x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__7___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +_start: +{ +lean_object* x_15; +x_15 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__7___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +lean_dec(x_8); +lean_dec(x_6); +return x_15; +} +} +LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__7___lambda__2___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_18; +x_18 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__7___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16, x_17); +return x_18; +} +} +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__8___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +_start: +{ +size_t x_15; size_t x_16; lean_object* x_17; +x_15 = lean_unbox_usize(x_5); +lean_dec(x_5); +x_16 = lean_unbox_usize(x_6); +lean_dec(x_6); +x_17 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__8(x_1, x_2, x_3, x_4, x_15, x_16, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +return x_17; +} +} +LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__9___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_18; +x_18 = l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__9(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16, x_17); +lean_dec(x_11); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_5); +lean_dec(x_4); +return x_18; +} +} +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__10___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +lean_object* x_9; +x_9 = l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__10___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_9; +} +} +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__10___boxed(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__10(x_1); +lean_dec(x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__11___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +lean_object* x_9; +x_9 = l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__11___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_9; +} +} +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__11___boxed(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__11(x_1); +lean_dec(x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__12___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +_start: +{ +lean_object* x_15; +x_15 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__12___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +lean_dec(x_8); +lean_dec(x_6); +return x_15; +} +} +LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__12___lambda__2___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_18; +x_18 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__12___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16, x_17); +return x_18; +} +} +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__13___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +_start: +{ +size_t x_15; size_t x_16; lean_object* x_17; +x_15 = lean_unbox_usize(x_5); +lean_dec(x_5); +x_16 = lean_unbox_usize(x_6); +lean_dec(x_6); +x_17 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__13(x_1, x_2, x_3, x_4, x_15, x_16, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +return x_17; +} +} +LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14___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_18; +x_18 = l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14(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_11); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_5); +lean_dec(x_4); +return x_18; +} +} +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__15___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +lean_object* x_9; +x_9 = l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__15___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_9; +} +} +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__15___boxed(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__15(x_1); +lean_dec(x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__16___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +lean_object* x_9; +x_9 = l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__16___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_9; +} +} +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__16___boxed(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__16(x_1); +lean_dec(x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +_start: +{ +lean_object* x_15; +x_15 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +lean_dec(x_8); +lean_dec(x_6); +return x_15; +} +} +LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__2___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_18; +x_18 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16, x_17); +return x_18; +} +} +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__18___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +lean_object* x_9; +x_9 = l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__18___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_9; +} +} +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__18___boxed(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__18(x_1); +lean_dec(x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +_start: +{ +lean_object* x_10; +x_10 = l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +return x_10; +} +} +LEAN_EXPORT lean_object* l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___boxed(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19(x_1); +lean_dec(x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__20___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +lean_object* x_9; +x_9 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__20___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_9; +} +} +LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__20___boxed(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__20(x_1); +lean_dec(x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__21___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__21(x_1, x_2); +lean_dec(x_1); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +_start: +{ +lean_object* x_15; +x_15 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +lean_dec(x_7); +lean_dec(x_1); +return x_15; +} +} +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___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: +{ +lean_object* x_17; +x_17 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16); +lean_dec(x_1); +return x_17; +} +} +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) { +_start: +{ +size_t x_16; size_t x_17; lean_object* x_18; +x_16 = lean_unbox_usize(x_6); +lean_dec(x_6); +x_17 = lean_unbox_usize(x_7); +lean_dec(x_7); +x_18 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22(x_1, x_2, x_3, x_4, x_5, x_16, x_17, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15); +return x_18; +} +} +LEAN_EXPORT lean_object* l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__23___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +_start: +{ +lean_object* x_10; +x_10 = l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__23___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +return x_10; +} +} +LEAN_EXPORT lean_object* l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__23___boxed(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__23(x_1); +lean_dec(x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__24___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +lean_object* x_9; +x_9 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__24___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_9; +} +} +LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__24___boxed(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__24(x_1); +lean_dec(x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__25___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +_start: +{ +uint8_t x_12; lean_object* x_13; +x_12 = lean_unbox(x_2); +lean_dec(x_2); +x_13 = l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__25___rarg(x_1, x_12, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +return x_13; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__25___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__25(x_1, x_2); +lean_dec(x_1); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__26___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +_start: +{ +uint8_t x_12; lean_object* x_13; +x_12 = lean_unbox(x_2); +lean_dec(x_2); +x_13 = l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__26___rarg(x_1, x_12, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +return x_13; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__26___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__26(x_1, x_2); +lean_dec(x_1); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_withLetDecl___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__27___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = l_Lean_Meta_withLetDecl___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__27(x_1, x_2); +lean_dec(x_1); +return x_3; +} +} +LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +_start: +{ +lean_object* x_14; +x_14 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__3(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +lean_dec(x_1); +return x_14; +} +} +LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +_start: +{ +lean_object* x_14; +x_14 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__4(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +lean_dec(x_1); +return x_14; +} +} +LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__5___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +_start: +{ +lean_object* x_14; +x_14 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__5(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +lean_dec(x_1); +return x_14; +} +} +LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps___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) { +_start: +{ +lean_object* x_10; +x_10 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_1); +return x_10; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_forallBoundedTelescope___at_Lean_Elab_Structural_mkBRecOn___spec__1___rarg___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +_start: +{ +lean_object* x_10; +x_10 = lean_apply_8(x_1, x_3, x_4, x_2, x_5, x_6, x_7, x_8, x_9); +return x_10; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_forallBoundedTelescope___at_Lean_Elab_Structural_mkBRecOn___spec__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +_start: +{ +lean_object* x_10; lean_object* x_11; +x_10 = lean_alloc_closure((void*)(l_Lean_Meta_forallBoundedTelescope___at_Lean_Elab_Structural_mkBRecOn___spec__1___rarg___lambda__1), 9, 2); +lean_closure_set(x_10, 0, x_3); +lean_closure_set(x_10, 1, x_4); +x_11 = l___private_Lean_Meta_Basic_0__Lean_Meta_forallTelescopeReducingAux___rarg(x_1, x_2, x_10, x_5, x_6, x_7, x_8, x_9); +if (lean_obj_tag(x_11) == 0) +{ +uint8_t x_12; +x_12 = !lean_is_exclusive(x_11); +if (x_12 == 0) +{ +return x_11; +} +else +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; +x_13 = lean_ctor_get(x_11, 0); +x_14 = lean_ctor_get(x_11, 1); +lean_inc(x_14); +lean_inc(x_13); +lean_dec(x_11); +x_15 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_15, 0, x_13); +lean_ctor_set(x_15, 1, x_14); +return x_15; +} +} +else +{ +uint8_t x_16; +x_16 = !lean_is_exclusive(x_11); +if (x_16 == 0) +{ +return x_11; +} +else +{ +lean_object* x_17; lean_object* x_18; lean_object* x_19; +x_17 = lean_ctor_get(x_11, 0); +x_18 = lean_ctor_get(x_11, 1); +lean_inc(x_18); +lean_inc(x_17); +lean_dec(x_11); +x_19 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_19, 0, x_17); +lean_ctor_set(x_19, 1, x_18); +return x_19; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_forallBoundedTelescope___at_Lean_Elab_Structural_mkBRecOn___spec__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Meta_forallBoundedTelescope___at_Lean_Elab_Structural_mkBRecOn___spec__1___rarg), 9, 0); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_addTrace___at_Lean_Elab_Structural_mkBRecOn___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18; @@ -5113,15 +8811,15 @@ if (x_20 == 0) { lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; uint8_t x_36; x_21 = lean_ctor_get(x_16, 0); -x_22 = l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14___closed__2; +x_22 = l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___closed__2; x_23 = l_Lean_Name_append(x_1, x_22); x_24 = lean_alloc_ctor(4, 1, 0); lean_ctor_set(x_24, 0, x_1); -x_25 = l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14___closed__4; +x_25 = l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___closed__4; x_26 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_26, 0, x_25); lean_ctor_set(x_26, 1, x_24); -x_27 = l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14___closed__6; +x_27 = l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___closed__6; x_28 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_28, 0, x_26); lean_ctor_set(x_28, 1, x_27); @@ -5172,15 +8870,15 @@ x_42 = lean_ctor_get_uint8(x_16, sizeof(void*)*1); x_43 = lean_ctor_get(x_16, 0); lean_inc(x_43); lean_dec(x_16); -x_44 = l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14___closed__2; +x_44 = l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___closed__2; x_45 = l_Lean_Name_append(x_1, x_44); x_46 = lean_alloc_ctor(4, 1, 0); lean_ctor_set(x_46, 0, x_1); -x_47 = l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14___closed__4; +x_47 = l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___closed__4; x_48 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_48, 0, x_47); lean_ctor_set(x_48, 1, x_46); -x_49 = l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14___closed__6; +x_49 = l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___closed__6; x_50 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_50, 0, x_48); lean_ctor_set(x_50, 1, x_49); @@ -5245,15 +8943,15 @@ if (lean_is_exclusive(x_16)) { lean_dec_ref(x_16); x_68 = lean_box(0); } -x_69 = l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14___closed__2; +x_69 = l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___closed__2; x_70 = l_Lean_Name_append(x_1, x_69); x_71 = lean_alloc_ctor(4, 1, 0); lean_ctor_set(x_71, 0, x_1); -x_72 = l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14___closed__4; +x_72 = l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___closed__4; x_73 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_73, 0, x_72); lean_ctor_set(x_73, 1, x_71); -x_74 = l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14___closed__6; +x_74 = l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___closed__6; x_75 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_75, 0, x_73); lean_ctor_set(x_75, 1, x_74); @@ -5307,7 +9005,7 @@ return x_88; } } } -LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__15(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Elab_Structural_mkBRecOn___spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { lean_object* x_8; uint8_t x_9; lean_object* x_10; lean_object* x_11; @@ -5320,2090 +9018,7 @@ lean_ctor_set(x_11, 1, x_7); return x_11; } } -LEAN_EXPORT lean_object* l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__16___rarg___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { -_start: -{ -lean_object* x_10; -x_10 = lean_apply_8(x_1, x_3, x_4, x_2, x_5, x_6, x_7, x_8, x_9); -return x_10; -} -} -LEAN_EXPORT lean_object* l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__16___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { -_start: -{ -lean_object* x_9; uint8_t x_10; lean_object* x_11; -x_9 = lean_alloc_closure((void*)(l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__16___rarg___lambda__1), 9, 2); -lean_closure_set(x_9, 0, x_2); -lean_closure_set(x_9, 1, x_3); -x_10 = 0; -x_11 = l___private_Lean_Meta_Basic_0__Lean_Meta_lambdaTelescopeImp___rarg(x_1, x_10, x_9, x_4, x_5, x_6, x_7, x_8); -if (lean_obj_tag(x_11) == 0) -{ -uint8_t x_12; -x_12 = !lean_is_exclusive(x_11); -if (x_12 == 0) -{ -return x_11; -} -else -{ -lean_object* x_13; lean_object* x_14; lean_object* x_15; -x_13 = lean_ctor_get(x_11, 0); -x_14 = lean_ctor_get(x_11, 1); -lean_inc(x_14); -lean_inc(x_13); -lean_dec(x_11); -x_15 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_15, 0, x_13); -lean_ctor_set(x_15, 1, x_14); -return x_15; -} -} -else -{ -uint8_t x_16; -x_16 = !lean_is_exclusive(x_11); -if (x_16 == 0) -{ -return x_11; -} -else -{ -lean_object* x_17; lean_object* x_18; lean_object* x_19; -x_17 = lean_ctor_get(x_11, 0); -x_18 = lean_ctor_get(x_11, 1); -lean_inc(x_18); -lean_inc(x_17); -lean_dec(x_11); -x_19 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_19, 0, x_17); -lean_ctor_set(x_19, 1, x_18); -return x_19; -} -} -} -} -LEAN_EXPORT lean_object* l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__16(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__16___rarg), 8, 0); -return x_2; -} -} -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { -_start: -{ -lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; -x_13 = lean_unsigned_to_nat(1u); -x_14 = lean_nat_sub(x_1, x_13); -x_15 = l_Lean_instInhabitedExpr; -x_16 = lean_array_get(x_15, x_2, x_14); -lean_dec(x_14); -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -x_17 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop(x_3, x_4, x_16, x_5, x_7, x_8, x_9, x_10, x_11, x_12); -if (lean_obj_tag(x_17) == 0) -{ -lean_object* x_18; lean_object* x_19; uint8_t x_20; uint8_t x_21; uint8_t x_22; lean_object* x_23; -x_18 = lean_ctor_get(x_17, 0); -lean_inc(x_18); -x_19 = lean_ctor_get(x_17, 1); -lean_inc(x_19); -lean_dec(x_17); -x_20 = 0; -x_21 = 1; -x_22 = 1; -x_23 = l_Lean_Meta_mkLambdaFVars(x_2, x_18, x_20, x_21, x_22, x_8, x_9, x_10, x_11, x_19); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -return x_23; -} -else -{ -uint8_t x_24; -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_2); -x_24 = !lean_is_exclusive(x_17); -if (x_24 == 0) -{ -return x_17; -} -else -{ -lean_object* x_25; lean_object* x_26; lean_object* x_27; -x_25 = lean_ctor_get(x_17, 0); -x_26 = lean_ctor_get(x_17, 1); -lean_inc(x_26); -lean_inc(x_25); -lean_dec(x_17); -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; -} -} -} -} -static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__2___closed__1() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string("unexpected matcher application alternative"); -return x_1; -} -} -static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__2___closed__2() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__2___closed__1; -x_2 = l_Lean_stringToMessageData(x_1); -return x_2; -} -} -static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__2___closed__3() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string("\nat application"); -return x_1; -} -} -static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__2___closed__4() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__2___closed__3; -x_2 = l_Lean_stringToMessageData(x_1); -return x_2; -} -} -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { -_start: -{ -lean_object* x_15; uint8_t x_16; -lean_dec(x_8); -x_15 = lean_array_get_size(x_2); -x_16 = lean_nat_dec_le(x_1, x_15); -lean_dec(x_15); -if (x_16 == 0) -{ -lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; uint8_t x_27; -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_17 = l_Lean_indentExpr(x_6); -x_18 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__2___closed__2; -x_19 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_19, 0, x_18); -lean_ctor_set(x_19, 1, x_17); -x_20 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__2___closed__4; -x_21 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_21, 0, x_19); -lean_ctor_set(x_21, 1, x_20); -x_22 = l_Lean_indentExpr(x_7); -x_23 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_23, 0, x_21); -lean_ctor_set(x_23, 1, x_22); -x_24 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___closed__12; -x_25 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_25, 0, x_23); -lean_ctor_set(x_25, 1, x_24); -x_26 = l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__6(x_25, x_9, x_10, x_11, x_12, x_13, x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -x_27 = !lean_is_exclusive(x_26); -if (x_27 == 0) -{ -return x_26; -} -else -{ -lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_28 = lean_ctor_get(x_26, 0); -x_29 = lean_ctor_get(x_26, 1); -lean_inc(x_29); -lean_inc(x_28); -lean_dec(x_26); -x_30 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_30, 0, x_28); -lean_ctor_set(x_30, 1, x_29); -return x_30; -} -} -else -{ -lean_object* x_31; lean_object* x_32; -lean_dec(x_7); -lean_dec(x_6); -x_31 = lean_box(0); -x_32 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__1(x_1, x_2, x_3, x_4, x_5, x_31, x_9, x_10, x_11, x_12, x_13, x_14); -return x_32; -} -} -} -static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__3___closed__1() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string("altNumParams: "); -return x_1; -} -} -static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__3___closed__2() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__3___closed__1; -x_2 = l_Lean_stringToMessageData(x_1); -return x_2; -} -} -static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__3___closed__3() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string(", xs: "); -return x_1; -} -} -static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__3___closed__4() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__3___closed__3; -x_2 = l_Lean_stringToMessageData(x_1); -return x_2; -} -} -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { -_start: -{ -uint8_t x_15; lean_object* x_16; lean_object* x_38; lean_object* x_39; lean_object* x_40; uint8_t x_41; -x_38 = lean_st_ref_get(x_13, x_14); -x_39 = lean_ctor_get(x_38, 0); -lean_inc(x_39); -x_40 = lean_ctor_get(x_39, 3); -lean_inc(x_40); -lean_dec(x_39); -x_41 = lean_ctor_get_uint8(x_40, sizeof(void*)*1); -lean_dec(x_40); -if (x_41 == 0) -{ -lean_object* x_42; uint8_t x_43; -x_42 = lean_ctor_get(x_38, 1); -lean_inc(x_42); -lean_dec(x_38); -x_43 = 0; -x_15 = x_43; -x_16 = x_42; -goto block_37; -} -else -{ -lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; uint8_t x_48; -x_44 = lean_ctor_get(x_38, 1); -lean_inc(x_44); -lean_dec(x_38); -lean_inc(x_6); -x_45 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__15(x_6, x_9, x_10, x_11, x_12, x_13, x_44); -x_46 = lean_ctor_get(x_45, 0); -lean_inc(x_46); -x_47 = lean_ctor_get(x_45, 1); -lean_inc(x_47); -lean_dec(x_45); -x_48 = lean_unbox(x_46); -lean_dec(x_46); -x_15 = x_48; -x_16 = x_47; -goto block_37; -} -block_37: -{ -if (x_15 == 0) -{ -lean_object* x_17; lean_object* x_18; -lean_dec(x_6); -x_17 = lean_box(0); -x_18 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__2(x_1, x_7, x_2, x_3, x_8, x_4, x_5, x_17, x_9, x_10, x_11, x_12, x_13, x_16); -lean_dec(x_1); -return x_18; -} -else -{ -lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; -lean_inc(x_1); -x_19 = l_Nat_repr(x_1); -x_20 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_20, 0, x_19); -x_21 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_21, 0, x_20); -x_22 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__3___closed__2; -x_23 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_23, 0, x_22); -lean_ctor_set(x_23, 1, x_21); -x_24 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__3___closed__4; -x_25 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_25, 0, x_23); -lean_ctor_set(x_25, 1, x_24); -lean_inc(x_7); -x_26 = lean_array_to_list(lean_box(0), x_7); -x_27 = lean_box(0); -x_28 = l_List_mapTRAux___at_Lean_MessageData_instCoeListExprMessageData___spec__1(x_26, x_27); -x_29 = l_Lean_MessageData_ofList(x_28); -lean_dec(x_28); -x_30 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_30, 0, x_25); -lean_ctor_set(x_30, 1, x_29); -x_31 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___closed__12; -x_32 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_32, 0, x_30); -lean_ctor_set(x_32, 1, x_31); -x_33 = l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14(x_6, x_32, x_9, x_10, x_11, x_12, x_13, x_16); -x_34 = lean_ctor_get(x_33, 0); -lean_inc(x_34); -x_35 = lean_ctor_get(x_33, 1); -lean_inc(x_35); -lean_dec(x_33); -x_36 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__2(x_1, x_7, x_2, x_3, x_8, x_4, x_5, x_34, x_9, x_10, x_11, x_12, x_13, x_35); -lean_dec(x_1); -return x_36; -} -} -} -} -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, size_t x_5, size_t x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { -_start: -{ -uint8_t x_14; -x_14 = lean_usize_dec_lt(x_6, x_5); -if (x_14 == 0) -{ -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_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_15 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_15, 0, x_7); -lean_ctor_set(x_15, 1, x_13); -return x_15; -} -else -{ -lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_16 = lean_array_uget(x_7, x_6); -x_17 = lean_unsigned_to_nat(0u); -x_18 = lean_array_uset(x_7, x_6, x_17); -x_19 = lean_ctor_get(x_16, 0); -lean_inc(x_19); -x_20 = lean_ctor_get(x_16, 1); -lean_inc(x_20); -lean_dec(x_16); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_19); -lean_inc(x_2); -lean_inc(x_1); -x_21 = lean_alloc_closure((void*)(l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__3), 14, 6); -lean_closure_set(x_21, 0, x_20); -lean_closure_set(x_21, 1, x_1); -lean_closure_set(x_21, 2, x_2); -lean_closure_set(x_21, 3, x_19); -lean_closure_set(x_21, 4, x_3); -lean_closure_set(x_21, 5, x_4); -lean_inc(x_12); -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -x_22 = l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__16___rarg(x_19, x_21, x_8, x_9, x_10, x_11, x_12, x_13); -if (lean_obj_tag(x_22) == 0) -{ -lean_object* x_23; lean_object* x_24; size_t x_25; size_t x_26; lean_object* x_27; -x_23 = lean_ctor_get(x_22, 0); -lean_inc(x_23); -x_24 = lean_ctor_get(x_22, 1); -lean_inc(x_24); -lean_dec(x_22); -x_25 = 1; -x_26 = lean_usize_add(x_6, x_25); -x_27 = lean_array_uset(x_18, x_6, x_23); -x_6 = x_26; -x_7 = x_27; -x_13 = x_24; -goto _start; -} -else -{ -uint8_t x_29; -lean_dec(x_18); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_29 = !lean_is_exclusive(x_22); -if (x_29 == 0) -{ -return x_22; -} -else -{ -lean_object* x_30; lean_object* x_31; lean_object* x_32; -x_30 = lean_ctor_get(x_22, 0); -x_31 = lean_ctor_get(x_22, 1); -lean_inc(x_31); -lean_inc(x_30); -lean_dec(x_22); -x_32 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_32, 0, x_30); -lean_ctor_set(x_32, 1, x_31); -return x_32; -} -} -} -} -} -LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__18___rarg___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { -_start: -{ -lean_object* x_9; -x_9 = lean_apply_7(x_1, x_3, x_2, x_4, x_5, x_6, x_7, x_8); -return x_9; -} -} -LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__18___rarg(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: -{ -lean_object* x_11; lean_object* x_12; -x_11 = lean_alloc_closure((void*)(l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__18___rarg___lambda__1), 8, 2); -lean_closure_set(x_11, 0, x_4); -lean_closure_set(x_11, 1, x_5); -x_12 = l___private_Lean_Meta_Basic_0__Lean_Meta_withLocalDeclImp___rarg(x_1, x_2, x_3, x_11, x_6, x_7, x_8, x_9, x_10); -if (lean_obj_tag(x_12) == 0) -{ -uint8_t x_13; -x_13 = !lean_is_exclusive(x_12); -if (x_13 == 0) -{ -return x_12; -} -else -{ -lean_object* x_14; lean_object* x_15; lean_object* x_16; -x_14 = lean_ctor_get(x_12, 0); -x_15 = lean_ctor_get(x_12, 1); -lean_inc(x_15); -lean_inc(x_14); -lean_dec(x_12); -x_16 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_16, 0, x_14); -lean_ctor_set(x_16, 1, x_15); -return x_16; -} -} -else -{ -uint8_t x_17; -x_17 = !lean_is_exclusive(x_12); -if (x_17 == 0) -{ -return x_12; -} -else -{ -lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_18 = lean_ctor_get(x_12, 0); -x_19 = lean_ctor_get(x_12, 1); -lean_inc(x_19); -lean_inc(x_18); -lean_dec(x_12); -x_20 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_20, 0, x_18); -lean_ctor_set(x_20, 1, x_19); -return x_20; -} -} -} -} -LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__18(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__18___rarg___boxed), 10, 0); -return x_2; -} -} -LEAN_EXPORT lean_object* l_Lean_Meta_withLetDecl___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { -_start: -{ -lean_object* x_11; lean_object* x_12; -x_11 = lean_alloc_closure((void*)(l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__18___rarg___lambda__1), 8, 2); -lean_closure_set(x_11, 0, x_4); -lean_closure_set(x_11, 1, x_5); -x_12 = l___private_Lean_Meta_Basic_0__Lean_Meta_withLetDeclImp___rarg(x_1, x_2, x_3, x_11, x_6, x_7, x_8, x_9, x_10); -if (lean_obj_tag(x_12) == 0) -{ -uint8_t x_13; -x_13 = !lean_is_exclusive(x_12); -if (x_13 == 0) -{ -return x_12; -} -else -{ -lean_object* x_14; lean_object* x_15; lean_object* x_16; -x_14 = lean_ctor_get(x_12, 0); -x_15 = lean_ctor_get(x_12, 1); -lean_inc(x_15); -lean_inc(x_14); -lean_dec(x_12); -x_16 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_16, 0, x_14); -lean_ctor_set(x_16, 1, x_15); -return x_16; -} -} -else -{ -uint8_t x_17; -x_17 = !lean_is_exclusive(x_12); -if (x_17 == 0) -{ -return x_12; -} -else -{ -lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_18 = lean_ctor_get(x_12, 0); -x_19 = lean_ctor_get(x_12, 1); -lean_inc(x_19); -lean_inc(x_18); -lean_dec(x_12); -x_20 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_20, 0, x_18); -lean_ctor_set(x_20, 1, x_19); -return x_20; -} -} -} -} -LEAN_EXPORT lean_object* l_Lean_Meta_withLetDecl___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_Meta_withLetDecl___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg), 10, 0); -return x_2; -} -} -static lean_object* _init_l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__1___closed__1() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string("failed to add `below` argument to 'matcher' application"); -return x_1; -} -} -static lean_object* _init_l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__1___closed__2() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__1___closed__1; -x_2 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_2, 0, x_1); -return x_2; -} -} -static lean_object* _init_l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__1___closed__3() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__1___closed__2; -x_2 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_2, 0, x_1); -return x_2; -} -} -LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__1(lean_object* x_1) { -_start: -{ -lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_2 = l_Lean_indentD(x_1); -x_3 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__1___closed__3; -x_4 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_4, 0, x_3); -lean_ctor_set(x_4, 1, x_2); -return x_4; -} -} -static lean_object* _init_l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__2___closed__1() { -_start: -{ -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__1), 1, 0); -return x_1; -} -} -LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { -_start: -{ -lean_object* x_14; lean_object* x_15; lean_object* x_16; -lean_dec(x_7); -lean_inc(x_2); -x_14 = lean_alloc_closure((void*)(l_Lean_Meta_MatcherApp_addArg), 7, 2); -lean_closure_set(x_14, 0, x_1); -lean_closure_set(x_14, 1, x_2); -x_15 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__2___closed__1; -lean_inc(x_12); -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -x_16 = l_Lean_Meta_mapErrorImp___rarg(x_14, x_15, x_9, x_10, x_11, x_12, x_13); -if (lean_obj_tag(x_16) == 0) -{ -lean_object* x_17; lean_object* x_18; lean_object* x_19; -x_17 = lean_ctor_get(x_16, 0); -lean_inc(x_17); -x_18 = lean_ctor_get(x_16, 1); -lean_inc(x_18); -lean_dec(x_16); -lean_inc(x_12); -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_2); -lean_inc(x_17); -x_19 = l_Lean_Elab_Structural_refinedArgType(x_17, x_2, x_9, x_10, x_11, x_12, x_18); -if (lean_obj_tag(x_19) == 0) -{ -lean_object* x_20; uint8_t x_21; -x_20 = lean_ctor_get(x_19, 0); -lean_inc(x_20); -x_21 = lean_unbox(x_20); -lean_dec(x_20); -if (x_21 == 0) -{ -lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; -lean_dec(x_17); -lean_dec(x_6); -x_22 = lean_ctor_get(x_19, 1); -lean_inc(x_22); -lean_dec(x_19); -x_23 = lean_unsigned_to_nat(0u); -x_24 = l_Lean_Expr_getAppNumArgsAux(x_3, x_23); -x_25 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___lambda__4___closed__1; -lean_inc(x_24); -x_26 = lean_mk_array(x_24, x_25); -x_27 = lean_unsigned_to_nat(1u); -x_28 = lean_nat_sub(x_24, x_27); -lean_dec(x_24); -lean_inc(x_3); -x_29 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__13(x_4, x_5, x_2, x_3, x_3, x_26, x_28, x_8, x_9, x_10, x_11, x_12, x_22); -return x_29; -} -else -{ -lean_object* x_30; uint8_t x_31; -lean_dec(x_2); -x_30 = lean_ctor_get(x_19, 1); -lean_inc(x_30); -lean_dec(x_19); -x_31 = !lean_is_exclusive(x_17); -if (x_31 == 0) -{ -lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; size_t x_43; size_t x_44; lean_object* x_45; -x_32 = lean_ctor_get(x_17, 0); -x_33 = lean_ctor_get(x_17, 1); -x_34 = lean_ctor_get(x_17, 2); -x_35 = lean_ctor_get(x_17, 3); -x_36 = lean_ctor_get(x_17, 4); -x_37 = lean_ctor_get(x_17, 5); -x_38 = lean_ctor_get(x_17, 6); -x_39 = lean_ctor_get(x_17, 7); -x_40 = lean_ctor_get(x_17, 8); -x_41 = l_Array_zip___rarg(x_39, x_38); -lean_dec(x_39); -x_42 = lean_array_get_size(x_41); -x_43 = lean_usize_of_nat(x_42); -lean_dec(x_42); -x_44 = 0; -x_45 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17(x_4, x_5, x_3, x_6, x_43, x_44, x_41, x_8, x_9, x_10, x_11, x_12, x_30); -if (lean_obj_tag(x_45) == 0) -{ -uint8_t x_46; -x_46 = !lean_is_exclusive(x_45); -if (x_46 == 0) -{ -lean_object* x_47; lean_object* x_48; -x_47 = lean_ctor_get(x_45, 0); -lean_ctor_set(x_17, 7, x_47); -x_48 = l_Lean_Meta_MatcherApp_toExpr(x_17); -lean_ctor_set(x_45, 0, x_48); -return x_45; -} -else -{ -lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; -x_49 = lean_ctor_get(x_45, 0); -x_50 = lean_ctor_get(x_45, 1); -lean_inc(x_50); -lean_inc(x_49); -lean_dec(x_45); -lean_ctor_set(x_17, 7, x_49); -x_51 = l_Lean_Meta_MatcherApp_toExpr(x_17); -x_52 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_52, 0, x_51); -lean_ctor_set(x_52, 1, x_50); -return x_52; -} -} -else -{ -uint8_t x_53; -lean_free_object(x_17); -lean_dec(x_40); -lean_dec(x_38); -lean_dec(x_37); -lean_dec(x_36); -lean_dec(x_35); -lean_dec(x_34); -lean_dec(x_33); -lean_dec(x_32); -x_53 = !lean_is_exclusive(x_45); -if (x_53 == 0) -{ -return x_45; -} -else -{ -lean_object* x_54; lean_object* x_55; lean_object* x_56; -x_54 = lean_ctor_get(x_45, 0); -x_55 = lean_ctor_get(x_45, 1); -lean_inc(x_55); -lean_inc(x_54); -lean_dec(x_45); -x_56 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_56, 0, x_54); -lean_ctor_set(x_56, 1, x_55); -return x_56; -} -} -} -else -{ -lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; size_t x_68; size_t x_69; lean_object* x_70; -x_57 = lean_ctor_get(x_17, 0); -x_58 = lean_ctor_get(x_17, 1); -x_59 = lean_ctor_get(x_17, 2); -x_60 = lean_ctor_get(x_17, 3); -x_61 = lean_ctor_get(x_17, 4); -x_62 = lean_ctor_get(x_17, 5); -x_63 = lean_ctor_get(x_17, 6); -x_64 = lean_ctor_get(x_17, 7); -x_65 = lean_ctor_get(x_17, 8); -lean_inc(x_65); -lean_inc(x_64); -lean_inc(x_63); -lean_inc(x_62); -lean_inc(x_61); -lean_inc(x_60); -lean_inc(x_59); -lean_inc(x_58); -lean_inc(x_57); -lean_dec(x_17); -x_66 = l_Array_zip___rarg(x_64, x_63); -lean_dec(x_64); -x_67 = lean_array_get_size(x_66); -x_68 = lean_usize_of_nat(x_67); -lean_dec(x_67); -x_69 = 0; -x_70 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17(x_4, x_5, x_3, x_6, x_68, x_69, x_66, x_8, x_9, x_10, x_11, x_12, x_30); -if (lean_obj_tag(x_70) == 0) -{ -lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; -x_71 = lean_ctor_get(x_70, 0); -lean_inc(x_71); -x_72 = lean_ctor_get(x_70, 1); -lean_inc(x_72); -if (lean_is_exclusive(x_70)) { - lean_ctor_release(x_70, 0); - lean_ctor_release(x_70, 1); - x_73 = x_70; -} else { - lean_dec_ref(x_70); - x_73 = lean_box(0); -} -x_74 = lean_alloc_ctor(0, 9, 0); -lean_ctor_set(x_74, 0, x_57); -lean_ctor_set(x_74, 1, x_58); -lean_ctor_set(x_74, 2, x_59); -lean_ctor_set(x_74, 3, x_60); -lean_ctor_set(x_74, 4, x_61); -lean_ctor_set(x_74, 5, x_62); -lean_ctor_set(x_74, 6, x_63); -lean_ctor_set(x_74, 7, x_71); -lean_ctor_set(x_74, 8, x_65); -x_75 = l_Lean_Meta_MatcherApp_toExpr(x_74); -if (lean_is_scalar(x_73)) { - x_76 = lean_alloc_ctor(0, 2, 0); -} else { - x_76 = x_73; -} -lean_ctor_set(x_76, 0, x_75); -lean_ctor_set(x_76, 1, x_72); -return x_76; -} -else -{ -lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; -lean_dec(x_65); -lean_dec(x_63); -lean_dec(x_62); -lean_dec(x_61); -lean_dec(x_60); -lean_dec(x_59); -lean_dec(x_58); -lean_dec(x_57); -x_77 = lean_ctor_get(x_70, 0); -lean_inc(x_77); -x_78 = lean_ctor_get(x_70, 1); -lean_inc(x_78); -if (lean_is_exclusive(x_70)) { - lean_ctor_release(x_70, 0); - lean_ctor_release(x_70, 1); - x_79 = x_70; -} else { - lean_dec_ref(x_70); - x_79 = lean_box(0); -} -if (lean_is_scalar(x_79)) { - x_80 = lean_alloc_ctor(1, 2, 0); -} else { - x_80 = x_79; -} -lean_ctor_set(x_80, 0, x_77); -lean_ctor_set(x_80, 1, x_78); -return x_80; -} -} -} -} -else -{ -uint8_t x_81; -lean_dec(x_17); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_81 = !lean_is_exclusive(x_19); -if (x_81 == 0) -{ -return x_19; -} -else -{ -lean_object* x_82; lean_object* x_83; lean_object* x_84; -x_82 = lean_ctor_get(x_19, 0); -x_83 = lean_ctor_get(x_19, 1); -lean_inc(x_83); -lean_inc(x_82); -lean_dec(x_19); -x_84 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_84, 0, x_82); -lean_ctor_set(x_84, 1, x_83); -return x_84; -} -} -} -else -{ -uint8_t x_85; -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_85 = !lean_is_exclusive(x_16); -if (x_85 == 0) -{ -return x_16; -} -else -{ -lean_object* x_86; lean_object* x_87; lean_object* x_88; -x_86 = lean_ctor_get(x_16, 0); -x_87 = lean_ctor_get(x_16, 1); -lean_inc(x_87); -lean_inc(x_86); -lean_dec(x_16); -x_88 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_88, 0, x_86); -lean_ctor_set(x_88, 1, x_87); -return x_88; -} -} -} -} -LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { -_start: -{ -lean_object* x_12; lean_object* x_13; -x_12 = lean_expr_instantiate1(x_1, x_5); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -x_13 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop(x_2, x_3, x_4, x_12, x_6, x_7, x_8, x_9, x_10, x_11); -if (lean_obj_tag(x_13) == 0) -{ -lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18; uint8_t x_19; uint8_t x_20; lean_object* x_21; -x_14 = lean_ctor_get(x_13, 0); -lean_inc(x_14); -x_15 = lean_ctor_get(x_13, 1); -lean_inc(x_15); -lean_dec(x_13); -x_16 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___lambda__5___closed__6; -x_17 = lean_array_push(x_16, x_5); -x_18 = 0; -x_19 = 1; -x_20 = 1; -x_21 = l_Lean_Meta_mkLambdaFVars(x_17, x_14, x_18, x_19, x_20, x_7, x_8, x_9, x_10, x_15); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -return x_21; -} -else -{ -uint8_t x_22; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_5); -x_22 = !lean_is_exclusive(x_13); -if (x_22 == 0) -{ -return x_13; -} -else -{ -lean_object* x_23; lean_object* x_24; lean_object* x_25; -x_23 = lean_ctor_get(x_13, 0); -x_24 = lean_ctor_get(x_13, 1); -lean_inc(x_24); -lean_inc(x_23); -lean_dec(x_13); -x_25 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_25, 0, x_23); -lean_ctor_set(x_25, 1, x_24); -return x_25; -} -} -} -} -LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { -_start: -{ -lean_object* x_12; lean_object* x_13; -x_12 = lean_expr_instantiate1(x_1, x_5); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -x_13 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop(x_2, x_3, x_4, x_12, x_6, x_7, x_8, x_9, x_10, x_11); -if (lean_obj_tag(x_13) == 0) -{ -lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18; uint8_t x_19; uint8_t x_20; lean_object* x_21; -x_14 = lean_ctor_get(x_13, 0); -lean_inc(x_14); -x_15 = lean_ctor_get(x_13, 1); -lean_inc(x_15); -lean_dec(x_13); -x_16 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___lambda__5___closed__6; -x_17 = lean_array_push(x_16, x_5); -x_18 = 0; -x_19 = 1; -x_20 = 1; -x_21 = l_Lean_Meta_mkForallFVars(x_17, x_14, x_18, x_19, x_20, x_7, x_8, x_9, x_10, x_15); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -return x_21; -} -else -{ -uint8_t x_22; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_5); -x_22 = !lean_is_exclusive(x_13); -if (x_22 == 0) -{ -return x_13; -} -else -{ -lean_object* x_23; lean_object* x_24; lean_object* x_25; -x_23 = lean_ctor_get(x_13, 0); -x_24 = lean_ctor_get(x_13, 1); -lean_inc(x_24); -lean_inc(x_23); -lean_dec(x_13); -x_25 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_25, 0, x_23); -lean_ctor_set(x_25, 1, x_24); -return x_25; -} -} -} -} -LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__5(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { -_start: -{ -lean_object* x_12; lean_object* x_13; -x_12 = lean_expr_instantiate1(x_1, x_5); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -x_13 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop(x_2, x_3, x_4, x_12, x_6, x_7, x_8, x_9, x_10, x_11); -if (lean_obj_tag(x_13) == 0) -{ -lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18; uint8_t x_19; lean_object* x_20; -x_14 = lean_ctor_get(x_13, 0); -lean_inc(x_14); -x_15 = lean_ctor_get(x_13, 1); -lean_inc(x_15); -lean_dec(x_13); -x_16 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___lambda__5___closed__6; -x_17 = lean_array_push(x_16, x_5); -x_18 = 0; -x_19 = 1; -x_20 = l_Lean_Meta_mkLambdaFVars(x_17, x_14, x_18, x_18, x_19, x_7, x_8, x_9, x_10, x_15); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -return x_20; -} -else -{ -uint8_t x_21; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_5); -x_21 = !lean_is_exclusive(x_13); -if (x_21 == 0) -{ -return x_13; -} -else -{ -lean_object* x_22; lean_object* x_23; lean_object* x_24; -x_22 = lean_ctor_get(x_13, 0); -x_23 = lean_ctor_get(x_13, 1); -lean_inc(x_23); -lean_inc(x_22); -lean_dec(x_13); -x_24 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_24, 0, x_22); -lean_ctor_set(x_24, 1, x_23); -return x_24; -} -} -} -} -static lean_object* _init_l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___closed__1() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string("below before matcherApp.addArg: "); -return x_1; -} -} -static lean_object* _init_l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___closed__2() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___closed__1; -x_2 = l_Lean_stringToMessageData(x_1); -return x_2; -} -} -static lean_object* _init_l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___closed__3() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string(" : "); -return x_1; -} -} -static lean_object* _init_l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___closed__4() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___closed__3; -x_2 = l_Lean_stringToMessageData(x_1); -return x_2; -} -} -LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { -_start: -{ -switch (lean_obj_tag(x_4)) { -case 5: -{ -lean_object* x_11; lean_object* x_12; -lean_inc(x_4); -x_11 = l_Lean_Meta_matchMatcherApp_x3f___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__1(x_4, x_5, x_6, x_7, x_8, x_9, x_10); -x_12 = lean_ctor_get(x_11, 0); -lean_inc(x_12); -if (lean_obj_tag(x_12) == 0) -{ -lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_13 = lean_ctor_get(x_11, 1); -lean_inc(x_13); -lean_dec(x_11); -x_14 = lean_unsigned_to_nat(0u); -x_15 = l_Lean_Expr_getAppNumArgsAux(x_4, x_14); -x_16 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___lambda__4___closed__1; -lean_inc(x_15); -x_17 = lean_mk_array(x_15, x_16); -x_18 = lean_unsigned_to_nat(1u); -x_19 = lean_nat_sub(x_15, x_18); -lean_dec(x_15); -lean_inc(x_4); -x_20 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__7(x_1, x_2, x_3, x_4, x_4, x_17, x_19, x_5, x_6, x_7, x_8, x_9, x_13); -return x_20; -} -else -{ -lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; -x_21 = lean_ctor_get(x_11, 1); -lean_inc(x_21); -lean_dec(x_11); -x_22 = lean_ctor_get(x_12, 0); -lean_inc(x_22); -lean_dec(x_12); -x_23 = l_Lean_Elab_Structural_RecArgInfo_recArgPos(x_2); -lean_inc(x_4); -lean_inc(x_1); -x_24 = l_Lean_Elab_Structural_recArgHasLooseBVarsAt(x_1, x_23, x_4); -if (x_24 == 0) -{ -lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; -lean_dec(x_22); -x_25 = lean_unsigned_to_nat(0u); -x_26 = l_Lean_Expr_getAppNumArgsAux(x_4, x_25); -x_27 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___lambda__4___closed__1; -lean_inc(x_26); -x_28 = lean_mk_array(x_26, x_27); -x_29 = lean_unsigned_to_nat(1u); -x_30 = lean_nat_sub(x_26, x_29); -lean_dec(x_26); -lean_inc(x_4); -x_31 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__10(x_1, x_2, x_3, x_4, x_4, x_28, x_30, x_5, x_6, x_7, x_8, x_9, x_21); -return x_31; -} -else -{ -lean_object* x_32; uint8_t x_33; lean_object* x_34; lean_object* x_58; lean_object* x_59; lean_object* x_60; uint8_t x_61; -x_32 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___closed__6; -x_58 = lean_st_ref_get(x_9, x_21); -x_59 = lean_ctor_get(x_58, 0); -lean_inc(x_59); -x_60 = lean_ctor_get(x_59, 3); -lean_inc(x_60); -lean_dec(x_59); -x_61 = lean_ctor_get_uint8(x_60, sizeof(void*)*1); -lean_dec(x_60); -if (x_61 == 0) -{ -lean_object* x_62; uint8_t x_63; -x_62 = lean_ctor_get(x_58, 1); -lean_inc(x_62); -lean_dec(x_58); -x_63 = 0; -x_33 = x_63; -x_34 = x_62; -goto block_57; -} -else -{ -lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; uint8_t x_68; -x_64 = lean_ctor_get(x_58, 1); -lean_inc(x_64); -lean_dec(x_58); -x_65 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__15(x_32, x_5, x_6, x_7, x_8, x_9, x_64); -x_66 = lean_ctor_get(x_65, 0); -lean_inc(x_66); -x_67 = lean_ctor_get(x_65, 1); -lean_inc(x_67); -lean_dec(x_65); -x_68 = lean_unbox(x_66); -lean_dec(x_66); -x_33 = x_68; -x_34 = x_67; -goto block_57; -} -block_57: -{ -if (x_33 == 0) -{ -lean_object* x_35; lean_object* x_36; -x_35 = lean_box(0); -x_36 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__2(x_22, x_3, x_4, x_1, x_2, x_32, x_35, x_5, x_6, x_7, x_8, x_9, x_34); -return x_36; -} -else -{ -lean_object* x_37; -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_3); -x_37 = lean_infer_type(x_3, x_6, x_7, x_8, x_9, x_34); -if (lean_obj_tag(x_37) == 0) -{ -lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; -x_38 = lean_ctor_get(x_37, 0); -lean_inc(x_38); -x_39 = lean_ctor_get(x_37, 1); -lean_inc(x_39); -lean_dec(x_37); -lean_inc(x_3); -x_40 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_40, 0, x_3); -x_41 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___closed__2; -x_42 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_42, 0, x_41); -lean_ctor_set(x_42, 1, x_40); -x_43 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___closed__4; -x_44 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_44, 0, x_42); -lean_ctor_set(x_44, 1, x_43); -x_45 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_45, 0, x_38); -x_46 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_46, 0, x_44); -lean_ctor_set(x_46, 1, x_45); -x_47 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___closed__12; -x_48 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_48, 0, x_46); -lean_ctor_set(x_48, 1, x_47); -x_49 = l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14(x_32, x_48, x_5, x_6, x_7, x_8, x_9, x_39); -x_50 = lean_ctor_get(x_49, 0); -lean_inc(x_50); -x_51 = lean_ctor_get(x_49, 1); -lean_inc(x_51); -lean_dec(x_49); -x_52 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__2(x_22, x_3, x_4, x_1, x_2, x_32, x_50, x_5, x_6, x_7, x_8, x_9, x_51); -return x_52; -} -else -{ -uint8_t x_53; -lean_dec(x_22); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_53 = !lean_is_exclusive(x_37); -if (x_53 == 0) -{ -return x_37; -} -else -{ -lean_object* x_54; lean_object* x_55; lean_object* x_56; -x_54 = lean_ctor_get(x_37, 0); -x_55 = lean_ctor_get(x_37, 1); -lean_inc(x_55); -lean_inc(x_54); -lean_dec(x_37); -x_56 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_56, 0, x_54); -lean_ctor_set(x_56, 1, x_55); -return x_56; -} -} -} -} -} -} -} -case 6: -{ -lean_object* x_69; lean_object* x_70; lean_object* x_71; uint64_t x_72; lean_object* x_73; -x_69 = lean_ctor_get(x_4, 0); -lean_inc(x_69); -x_70 = lean_ctor_get(x_4, 1); -lean_inc(x_70); -x_71 = lean_ctor_get(x_4, 2); -lean_inc(x_71); -x_72 = lean_ctor_get_uint64(x_4, sizeof(void*)*3); -lean_dec(x_4); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_3); -lean_inc(x_2); -lean_inc(x_1); -x_73 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop(x_1, x_2, x_3, x_70, x_5, x_6, x_7, x_8, x_9, x_10); -if (lean_obj_tag(x_73) == 0) -{ -lean_object* x_74; lean_object* x_75; uint8_t x_76; lean_object* x_77; lean_object* x_78; -x_74 = lean_ctor_get(x_73, 0); -lean_inc(x_74); -x_75 = lean_ctor_get(x_73, 1); -lean_inc(x_75); -lean_dec(x_73); -x_76 = (uint8_t)((x_72 << 24) >> 61); -x_77 = lean_alloc_closure((void*)(l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__3___boxed), 11, 4); -lean_closure_set(x_77, 0, x_71); -lean_closure_set(x_77, 1, x_1); -lean_closure_set(x_77, 2, x_2); -lean_closure_set(x_77, 3, x_3); -x_78 = l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__18___rarg(x_69, x_76, x_74, x_77, x_5, x_6, x_7, x_8, x_9, x_75); -return x_78; -} -else -{ -uint8_t x_79; -lean_dec(x_71); -lean_dec(x_69); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_79 = !lean_is_exclusive(x_73); -if (x_79 == 0) -{ -return x_73; -} -else -{ -lean_object* x_80; lean_object* x_81; lean_object* x_82; -x_80 = lean_ctor_get(x_73, 0); -x_81 = lean_ctor_get(x_73, 1); -lean_inc(x_81); -lean_inc(x_80); -lean_dec(x_73); -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; -} -} -} -case 7: -{ -lean_object* x_83; lean_object* x_84; lean_object* x_85; uint64_t x_86; lean_object* x_87; -x_83 = lean_ctor_get(x_4, 0); -lean_inc(x_83); -x_84 = lean_ctor_get(x_4, 1); -lean_inc(x_84); -x_85 = lean_ctor_get(x_4, 2); -lean_inc(x_85); -x_86 = lean_ctor_get_uint64(x_4, sizeof(void*)*3); -lean_dec(x_4); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_3); -lean_inc(x_2); -lean_inc(x_1); -x_87 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop(x_1, x_2, x_3, x_84, x_5, x_6, x_7, x_8, x_9, x_10); -if (lean_obj_tag(x_87) == 0) -{ -lean_object* x_88; lean_object* x_89; uint8_t x_90; lean_object* x_91; lean_object* x_92; -x_88 = lean_ctor_get(x_87, 0); -lean_inc(x_88); -x_89 = lean_ctor_get(x_87, 1); -lean_inc(x_89); -lean_dec(x_87); -x_90 = (uint8_t)((x_86 << 24) >> 61); -x_91 = lean_alloc_closure((void*)(l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__4___boxed), 11, 4); -lean_closure_set(x_91, 0, x_85); -lean_closure_set(x_91, 1, x_1); -lean_closure_set(x_91, 2, x_2); -lean_closure_set(x_91, 3, x_3); -x_92 = l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__18___rarg(x_83, x_90, x_88, x_91, x_5, x_6, x_7, x_8, x_9, x_89); -return x_92; -} -else -{ -uint8_t x_93; -lean_dec(x_85); -lean_dec(x_83); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_93 = !lean_is_exclusive(x_87); -if (x_93 == 0) -{ -return x_87; -} -else -{ -lean_object* x_94; lean_object* x_95; lean_object* x_96; -x_94 = lean_ctor_get(x_87, 0); -x_95 = lean_ctor_get(x_87, 1); -lean_inc(x_95); -lean_inc(x_94); -lean_dec(x_87); -x_96 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_96, 0, x_94); -lean_ctor_set(x_96, 1, x_95); -return x_96; -} -} -} -case 8: -{ -lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; -x_97 = lean_ctor_get(x_4, 0); -lean_inc(x_97); -x_98 = lean_ctor_get(x_4, 1); -lean_inc(x_98); -x_99 = lean_ctor_get(x_4, 2); -lean_inc(x_99); -x_100 = lean_ctor_get(x_4, 3); -lean_inc(x_100); -lean_dec(x_4); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_3); -lean_inc(x_2); -lean_inc(x_1); -x_101 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop(x_1, x_2, x_3, x_98, x_5, x_6, x_7, x_8, x_9, x_10); -if (lean_obj_tag(x_101) == 0) -{ -lean_object* x_102; lean_object* x_103; lean_object* x_104; -x_102 = lean_ctor_get(x_101, 0); -lean_inc(x_102); -x_103 = lean_ctor_get(x_101, 1); -lean_inc(x_103); -lean_dec(x_101); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_3); -lean_inc(x_2); -lean_inc(x_1); -x_104 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop(x_1, x_2, x_3, x_99, x_5, x_6, x_7, x_8, x_9, x_103); -if (lean_obj_tag(x_104) == 0) -{ -lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; -x_105 = lean_ctor_get(x_104, 0); -lean_inc(x_105); -x_106 = lean_ctor_get(x_104, 1); -lean_inc(x_106); -lean_dec(x_104); -x_107 = lean_alloc_closure((void*)(l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__5___boxed), 11, 4); -lean_closure_set(x_107, 0, x_100); -lean_closure_set(x_107, 1, x_1); -lean_closure_set(x_107, 2, x_2); -lean_closure_set(x_107, 3, x_3); -x_108 = l_Lean_Meta_withLetDecl___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg(x_97, x_102, x_105, x_107, x_5, x_6, x_7, x_8, x_9, x_106); -return x_108; -} -else -{ -uint8_t x_109; -lean_dec(x_102); -lean_dec(x_100); -lean_dec(x_97); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_109 = !lean_is_exclusive(x_104); -if (x_109 == 0) -{ -return x_104; -} -else -{ -lean_object* x_110; lean_object* x_111; lean_object* x_112; -x_110 = lean_ctor_get(x_104, 0); -x_111 = lean_ctor_get(x_104, 1); -lean_inc(x_111); -lean_inc(x_110); -lean_dec(x_104); -x_112 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_112, 0, x_110); -lean_ctor_set(x_112, 1, x_111); -return x_112; -} -} -} -else -{ -uint8_t x_113; -lean_dec(x_100); -lean_dec(x_99); -lean_dec(x_97); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_113 = !lean_is_exclusive(x_101); -if (x_113 == 0) -{ -return x_101; -} -else -{ -lean_object* x_114; lean_object* x_115; lean_object* x_116; -x_114 = lean_ctor_get(x_101, 0); -x_115 = lean_ctor_get(x_101, 1); -lean_inc(x_115); -lean_inc(x_114); -lean_dec(x_101); -x_116 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_116, 0, x_114); -lean_ctor_set(x_116, 1, x_115); -return x_116; -} -} -} -case 10: -{ -lean_object* x_117; lean_object* x_118; lean_object* x_119; -x_117 = lean_ctor_get(x_4, 0); -lean_inc(x_117); -x_118 = lean_ctor_get(x_4, 1); -lean_inc(x_118); -x_119 = l_Lean_getRecAppSyntax_x3f(x_4); -lean_dec(x_4); -if (lean_obj_tag(x_119) == 0) -{ -lean_object* x_120; -x_120 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop(x_1, x_2, x_3, x_118, x_5, x_6, x_7, x_8, x_9, x_10); -if (lean_obj_tag(x_120) == 0) -{ -uint8_t x_121; -x_121 = !lean_is_exclusive(x_120); -if (x_121 == 0) -{ -lean_object* x_122; lean_object* x_123; -x_122 = lean_ctor_get(x_120, 0); -x_123 = l_Lean_mkMData(x_117, x_122); -lean_ctor_set(x_120, 0, x_123); -return x_120; -} -else -{ -lean_object* x_124; lean_object* x_125; lean_object* x_126; lean_object* x_127; -x_124 = lean_ctor_get(x_120, 0); -x_125 = lean_ctor_get(x_120, 1); -lean_inc(x_125); -lean_inc(x_124); -lean_dec(x_120); -x_126 = l_Lean_mkMData(x_117, x_124); -x_127 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_127, 0, x_126); -lean_ctor_set(x_127, 1, x_125); -return x_127; -} -} -else -{ -uint8_t x_128; -lean_dec(x_117); -x_128 = !lean_is_exclusive(x_120); -if (x_128 == 0) -{ -return x_120; -} -else -{ -lean_object* x_129; lean_object* x_130; lean_object* x_131; -x_129 = lean_ctor_get(x_120, 0); -x_130 = lean_ctor_get(x_120, 1); -lean_inc(x_130); -lean_inc(x_129); -lean_dec(x_120); -x_131 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_131, 0, x_129); -lean_ctor_set(x_131, 1, x_130); -return x_131; -} -} -} -else -{ -lean_dec(x_119); -lean_dec(x_117); -x_4 = x_118; -goto _start; -} -} -case 11: -{ -lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; -x_133 = lean_ctor_get(x_4, 0); -lean_inc(x_133); -x_134 = lean_ctor_get(x_4, 1); -lean_inc(x_134); -x_135 = lean_ctor_get(x_4, 2); -lean_inc(x_135); -lean_dec(x_4); -x_136 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop(x_1, x_2, x_3, x_135, x_5, x_6, x_7, x_8, x_9, x_10); -if (lean_obj_tag(x_136) == 0) -{ -uint8_t x_137; -x_137 = !lean_is_exclusive(x_136); -if (x_137 == 0) -{ -lean_object* x_138; lean_object* x_139; -x_138 = lean_ctor_get(x_136, 0); -x_139 = l_Lean_mkProj(x_133, x_134, x_138); -lean_ctor_set(x_136, 0, x_139); -return x_136; -} -else -{ -lean_object* x_140; lean_object* x_141; lean_object* x_142; lean_object* x_143; -x_140 = lean_ctor_get(x_136, 0); -x_141 = lean_ctor_get(x_136, 1); -lean_inc(x_141); -lean_inc(x_140); -lean_dec(x_136); -x_142 = l_Lean_mkProj(x_133, x_134, x_140); -x_143 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_143, 0, x_142); -lean_ctor_set(x_143, 1, x_141); -return x_143; -} -} -else -{ -uint8_t x_144; -lean_dec(x_134); -lean_dec(x_133); -x_144 = !lean_is_exclusive(x_136); -if (x_144 == 0) -{ -return x_136; -} -else -{ -lean_object* x_145; lean_object* x_146; lean_object* x_147; -x_145 = lean_ctor_get(x_136, 0); -x_146 = lean_ctor_get(x_136, 1); -lean_inc(x_146); -lean_inc(x_145); -lean_dec(x_136); -x_147 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_147, 0, x_145); -lean_ctor_set(x_147, 1, x_146); -return x_147; -} -} -} -default: -{ -lean_object* x_148; -lean_dec(x_5); -lean_dec(x_3); -lean_dec(x_2); -x_148 = l_Lean_Elab_ensureNoRecFn(x_1, x_4, x_6, x_7, x_8, x_9, x_10); -return x_148; -} -} -} -} -LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { -_start: -{ -lean_object* x_11; -x_11 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); -return x_11; -} -} -LEAN_EXPORT lean_object* l_Lean_Meta_getMatcherInfo_x3f___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { -_start: -{ -lean_object* x_8; -x_8 = l_Lean_Meta_getMatcherInfo_x3f___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -return x_8; -} -} -LEAN_EXPORT lean_object* l_Lean_Meta_matchMatcherApp_x3f___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { -_start: -{ -lean_object* x_8; -x_8 = l_Lean_Meta_matchMatcherApp_x3f___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -return x_8; -} -} -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { -_start: -{ -size_t x_13; size_t x_14; lean_object* x_15; -x_13 = lean_unbox_usize(x_4); -lean_dec(x_4); -x_14 = lean_unbox_usize(x_5); -lean_dec(x_5); -x_15 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__3(x_1, x_2, x_3, x_13, x_14, x_6, x_7, x_8, x_9, x_10, x_11, x_12); -return x_15; -} -} -LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16) { -_start: -{ -lean_object* x_17; -x_17 = l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__4(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_5); -lean_dec(x_4); -return x_17; -} -} -LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__5___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { -_start: -{ -lean_object* x_8; -x_8 = l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__5(x_1, x_2, x_3, x_4, x_5, x_6, x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -return x_8; -} -} -LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__6___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { -_start: -{ -lean_object* x_8; -x_8 = l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__6(x_1, x_2, x_3, x_4, x_5, x_6, x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -return x_8; -} -} -LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__7___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { -_start: -{ -lean_object* x_14; -x_14 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__7___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); -lean_dec(x_6); -return x_14; -} -} -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__8___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { -_start: -{ -size_t x_13; size_t x_14; lean_object* x_15; -x_13 = lean_unbox_usize(x_4); -lean_dec(x_4); -x_14 = lean_unbox_usize(x_5); -lean_dec(x_5); -x_15 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__8(x_1, x_2, x_3, x_13, x_14, x_6, x_7, x_8, x_9, x_10, x_11, x_12); -return x_15; -} -} -LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__9___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16) { -_start: -{ -lean_object* x_17; -x_17 = l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__9(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_5); -lean_dec(x_4); -return x_17; -} -} -LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__10___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { -_start: -{ -lean_object* x_14; -x_14 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__10___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); -lean_dec(x_6); -return x_14; -} -} -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__11___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { -_start: -{ -size_t x_13; size_t x_14; lean_object* x_15; -x_13 = lean_unbox_usize(x_4); -lean_dec(x_4); -x_14 = lean_unbox_usize(x_5); -lean_dec(x_5); -x_15 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__11(x_1, x_2, x_3, x_13, x_14, x_6, x_7, x_8, x_9, x_10, x_11, x_12); -return x_15; -} -} -LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__12___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, 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_17; -x_17 = l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__12(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_dec(x_9); -lean_dec(x_8); -lean_dec(x_5); -lean_dec(x_4); -return x_17; -} -} -LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__13___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { -_start: -{ -lean_object* x_14; -x_14 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__13___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); -lean_dec(x_6); -return x_14; -} -} -LEAN_EXPORT lean_object* l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { -_start: -{ -lean_object* x_9; -x_9 = l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -return x_9; -} -} -LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__15___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { -_start: -{ -lean_object* x_8; -x_8 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__15(x_1, x_2, x_3, x_4, x_5, x_6, x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -return x_8; -} -} -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { -_start: -{ -lean_object* x_13; -x_13 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); -lean_dec(x_6); -lean_dec(x_1); -return x_13; -} -} -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___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) { -_start: -{ -lean_object* x_15; -x_15 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14); -lean_dec(x_1); -return x_15; -} -} -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { -_start: -{ -size_t x_14; size_t x_15; lean_object* x_16; -x_14 = lean_unbox_usize(x_5); -lean_dec(x_5); -x_15 = lean_unbox_usize(x_6); -lean_dec(x_6); -x_16 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17(x_1, x_2, x_3, x_4, x_14, x_15, x_7, x_8, x_9, x_10, x_11, x_12, x_13); -return x_16; -} -} -LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__18___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* 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_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__18___rarg(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___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___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: -{ -lean_object* x_12; -x_12 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__3(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_12; -} -} -LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { -_start: -{ -lean_object* x_12; -x_12 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__4(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); -lean_dec(x_1); -return x_12; -} -} -LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__5___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { -_start: -{ -lean_object* x_12; -x_12 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__5(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); -lean_dec(x_1); -return x_12; -} -} -LEAN_EXPORT lean_object* l_Lean_Meta_forallBoundedTelescope___at_Lean_Elab_Structural_mkBRecOn___spec__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { -_start: -{ -lean_object* x_10; lean_object* x_11; -x_10 = lean_alloc_closure((void*)(l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__16___rarg___lambda__1), 9, 2); -lean_closure_set(x_10, 0, x_3); -lean_closure_set(x_10, 1, x_4); -x_11 = l___private_Lean_Meta_Basic_0__Lean_Meta_forallTelescopeReducingAux___rarg(x_1, x_2, x_10, x_5, x_6, x_7, x_8, x_9); -if (lean_obj_tag(x_11) == 0) -{ -uint8_t x_12; -x_12 = !lean_is_exclusive(x_11); -if (x_12 == 0) -{ -return x_11; -} -else -{ -lean_object* x_13; lean_object* x_14; lean_object* x_15; -x_13 = lean_ctor_get(x_11, 0); -x_14 = lean_ctor_get(x_11, 1); -lean_inc(x_14); -lean_inc(x_13); -lean_dec(x_11); -x_15 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_15, 0, x_13); -lean_ctor_set(x_15, 1, x_14); -return x_15; -} -} -else -{ -uint8_t x_16; -x_16 = !lean_is_exclusive(x_11); -if (x_16 == 0) -{ -return x_11; -} -else -{ -lean_object* x_17; lean_object* x_18; lean_object* x_19; -x_17 = lean_ctor_get(x_11, 0); -x_18 = lean_ctor_get(x_11, 1); -lean_inc(x_18); -lean_inc(x_17); -lean_dec(x_11); -x_19 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_19, 0, x_17); -lean_ctor_set(x_19, 1, x_18); -return x_19; -} -} -} -} -LEAN_EXPORT lean_object* l_Lean_Meta_forallBoundedTelescope___at_Lean_Elab_Structural_mkBRecOn___spec__1(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_Meta_forallBoundedTelescope___at_Lean_Elab_Structural_mkBRecOn___spec__1___rarg), 9, 0); -return x_2; -} -} -LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_Structural_mkBRecOn___spec__2(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_foldlMUnsafe_fold___at_Lean_Elab_Structural_mkBRecOn___spec__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6) { _start: { uint8_t x_7; @@ -7469,7 +9084,7 @@ lean_inc(x_13); lean_inc(x_12); lean_inc(x_11); lean_inc(x_18); -x_19 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop(x_1, x_2, x_18, x_3, x_10, x_11, x_12, x_13, x_14, x_15); +x_19 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps(x_1, x_2, x_18, x_3, x_10, x_11, x_12, x_13, x_14, x_15); if (lean_obj_tag(x_19) == 0) { lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; uint8_t x_27; uint8_t x_28; uint8_t x_29; lean_object* x_30; @@ -7763,7 +9378,7 @@ x_44 = lean_ctor_get(x_38, 1); lean_inc(x_44); lean_dec(x_38); lean_inc(x_9); -x_45 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__15(x_9, x_12, x_13, x_14, x_15, x_16, x_44); +x_45 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Elab_Structural_mkBRecOn___spec__3(x_9, x_12, x_13, x_14, x_15, x_16, x_44); x_46 = lean_ctor_get(x_45, 0); lean_inc(x_46); x_47 = lean_ctor_get(x_45, 1); @@ -7799,7 +9414,7 @@ x_31 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Struct x_32 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_32, 0, x_30); lean_ctor_set(x_32, 1, x_31); -x_33 = l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14(x_9, x_32, x_12, x_13, x_14, x_15, x_16, x_25); +x_33 = l_Lean_addTrace___at_Lean_Elab_Structural_mkBRecOn___spec__2(x_9, x_32, x_12, x_13, x_14, x_15, x_16, x_25); x_34 = lean_ctor_get(x_33, 0); lean_inc(x_34); x_35 = lean_ctor_get(x_33, 1); @@ -7916,7 +9531,7 @@ x_37 = lean_ctor_get(x_31, 1); lean_inc(x_37); lean_dec(x_31); lean_inc(x_8); -x_38 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__15(x_8, x_11, x_12, x_13, x_14, x_15, x_37); +x_38 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Elab_Structural_mkBRecOn___spec__3(x_8, x_11, x_12, x_13, x_14, x_15, x_37); x_39 = lean_ctor_get(x_38, 0); lean_inc(x_39); x_40 = lean_ctor_get(x_38, 1); @@ -7952,7 +9567,7 @@ x_25 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_25, 0, x_23); lean_ctor_set(x_25, 1, x_24); lean_inc(x_8); -x_26 = l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14(x_8, x_25, x_11, x_12, x_13, x_14, x_15, x_18); +x_26 = l_Lean_addTrace___at_Lean_Elab_Structural_mkBRecOn___spec__2(x_8, x_25, x_11, x_12, x_13, x_14, x_15, x_18); x_27 = lean_ctor_get(x_26, 0); lean_inc(x_27); x_28 = lean_ctor_get(x_26, 1); @@ -8080,7 +9695,7 @@ x_49 = lean_ctor_get(x_43, 1); lean_inc(x_49); lean_dec(x_43); lean_inc(x_8); -x_50 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__15(x_8, x_12, x_13, x_14, x_15, x_16, x_49); +x_50 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Elab_Structural_mkBRecOn___spec__3(x_8, x_12, x_13, x_14, x_15, x_16, x_49); x_51 = lean_ctor_get(x_50, 0); lean_inc(x_51); x_52 = lean_ctor_get(x_50, 1); @@ -8116,7 +9731,7 @@ x_37 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_37, 0, x_35); lean_ctor_set(x_37, 1, x_36); lean_inc(x_8); -x_38 = l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14(x_8, x_37, x_12, x_13, x_14, x_15, x_16, x_30); +x_38 = l_Lean_addTrace___at_Lean_Elab_Structural_mkBRecOn___spec__2(x_8, x_37, x_12, x_13, x_14, x_15, x_16, x_30); x_39 = lean_ctor_get(x_38, 0); lean_inc(x_39); x_40 = lean_ctor_get(x_38, 1); @@ -8265,7 +9880,7 @@ x_44 = lean_ctor_get(x_39, 1); lean_inc(x_44); lean_dec(x_39); lean_inc(x_7); -x_45 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__15(x_7, x_11, x_12, x_13, x_14, x_15, x_44); +x_45 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Elab_Structural_mkBRecOn___spec__3(x_7, x_11, x_12, x_13, x_14, x_15, x_44); x_46 = lean_ctor_get(x_45, 0); lean_inc(x_46); x_47 = lean_ctor_get(x_45, 1); @@ -8301,7 +9916,7 @@ x_33 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_33, 0, x_31); lean_ctor_set(x_33, 1, x_32); lean_inc(x_7); -x_34 = l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14(x_7, x_33, x_11, x_12, x_13, x_14, x_15, x_26); +x_34 = l_Lean_addTrace___at_Lean_Elab_Structural_mkBRecOn___spec__2(x_7, x_33, x_11, x_12, x_13, x_14, x_15, x_26); x_35 = lean_ctor_get(x_34, 0); lean_inc(x_35); x_36 = lean_ctor_get(x_34, 1); @@ -8524,7 +10139,7 @@ x_43 = lean_ctor_get(x_38, 1); lean_inc(x_43); lean_dec(x_38); lean_inc(x_7); -x_44 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__15(x_7, x_9, x_10, x_11, x_12, x_13, x_43); +x_44 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Elab_Structural_mkBRecOn___spec__3(x_7, x_9, x_10, x_11, x_12, x_13, x_43); x_45 = lean_ctor_get(x_44, 0); lean_inc(x_45); x_46 = lean_ctor_get(x_44, 1); @@ -8560,7 +10175,7 @@ x_32 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_32, 0, x_30); lean_ctor_set(x_32, 1, x_31); lean_inc(x_7); -x_33 = l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14(x_7, x_32, x_9, x_10, x_11, x_12, x_13, x_25); +x_33 = l_Lean_addTrace___at_Lean_Elab_Structural_mkBRecOn___spec__2(x_7, x_32, x_9, x_10, x_11, x_12, x_13, x_25); x_34 = lean_ctor_get(x_33, 0); lean_inc(x_34); x_35 = lean_ctor_get(x_33, 1); @@ -8735,7 +10350,7 @@ x_63 = 0; x_64 = lean_usize_of_nat(x_20); lean_dec(x_20); x_65 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__7___lambda__1___closed__1; -x_66 = l_Array_foldlMUnsafe_fold___at_Lean_Elab_Structural_mkBRecOn___spec__2(x_2, x_19, x_16, x_63, x_64, x_65); +x_66 = l_Array_foldlMUnsafe_fold___at_Lean_Elab_Structural_mkBRecOn___spec__4(x_2, x_19, x_16, x_63, x_64, x_65); lean_dec(x_16); x_24 = x_66; goto block_59; @@ -8769,7 +10384,7 @@ x_54 = lean_ctor_get(x_23, 1); lean_inc(x_54); lean_dec(x_23); lean_inc(x_4); -x_55 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__15(x_4, x_6, x_7, x_8, x_9, x_10, x_54); +x_55 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Elab_Structural_mkBRecOn___spec__3(x_4, x_6, x_7, x_8, x_9, x_10, x_54); x_56 = lean_ctor_get(x_55, 0); lean_inc(x_56); x_57 = lean_ctor_get(x_55, 1); @@ -8821,7 +10436,7 @@ x_43 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_43, 0, x_41); lean_ctor_set(x_43, 1, x_42); lean_inc(x_4); -x_44 = l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14(x_4, x_43, x_6, x_7, x_8, x_9, x_10, x_26); +x_44 = l_Lean_addTrace___at_Lean_Elab_Structural_mkBRecOn___spec__2(x_4, x_43, x_6, x_7, x_8, x_9, x_10, x_26); x_45 = lean_ctor_get(x_44, 0); lean_inc(x_45); x_46 = lean_ctor_get(x_44, 1); @@ -8913,7 +10528,7 @@ lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; uint x_31 = lean_ctor_get(x_25, 1); lean_inc(x_31); lean_dec(x_25); -x_32 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__15(x_10, x_4, x_5, x_6, x_7, x_8, x_31); +x_32 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Elab_Structural_mkBRecOn___spec__3(x_10, x_4, x_5, x_6, x_7, x_8, x_31); x_33 = lean_ctor_get(x_32, 0); lean_inc(x_33); x_34 = lean_ctor_get(x_32, 1); @@ -8948,7 +10563,7 @@ x_18 = l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Struct x_19 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_19, 0, x_17); lean_ctor_set(x_19, 1, x_18); -x_20 = l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14(x_10, x_19, x_4, x_5, x_6, x_7, x_8, x_12); +x_20 = l_Lean_addTrace___at_Lean_Elab_Structural_mkBRecOn___spec__2(x_10, x_19, x_4, x_5, x_6, x_7, x_8, x_12); x_21 = lean_ctor_get(x_20, 0); lean_inc(x_21); x_22 = lean_ctor_get(x_20, 1); @@ -8960,7 +10575,33 @@ return x_23; } } } -LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_Structural_mkBRecOn___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_EXPORT lean_object* l_Lean_addTrace___at_Lean_Elab_Structural_mkBRecOn___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +lean_object* x_9; +x_9 = l_Lean_addTrace___at_Lean_Elab_Structural_mkBRecOn___spec__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +return x_9; +} +} +LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Elab_Structural_mkBRecOn___spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +_start: +{ +lean_object* x_8; +x_8 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Elab_Structural_mkBRecOn___spec__3(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_8; +} +} +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_Structural_mkBRecOn___spec__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { size_t x_7; size_t x_8; lean_object* x_9; @@ -8968,7 +10609,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_foldlMUnsafe_fold___at_Lean_Elab_Structural_mkBRecOn___spec__2(x_1, x_2, x_3, x_7, x_8, x_6); +x_9 = l_Array_foldlMUnsafe_fold___at_Lean_Elab_Structural_mkBRecOn___spec__4(x_1, x_2, x_3, x_7, x_8, x_6); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); @@ -9066,6 +10707,7 @@ return x_18; } } lean_object* initialize_Init(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Util_HasConstCache(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Meta_Match_Match(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Elab_RecAppSyntax(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Elab_PreDefinition_Basic(uint8_t builtin, lean_object*); @@ -9078,6 +10720,9 @@ _G_initialized = true; res = initialize_Init(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); +res = initialize_Lean_Util_HasConstCache(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); res = initialize_Lean_Meta_Match_Match(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); @@ -9186,34 +10831,34 @@ l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_ lean_mark_persistent(l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__7___closed__1); l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__7___closed__2 = _init_l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__7___closed__2(); lean_mark_persistent(l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__7___closed__2); -l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14___closed__1 = _init_l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14___closed__1(); -lean_mark_persistent(l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14___closed__1); -l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14___closed__2 = _init_l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14___closed__2(); -lean_mark_persistent(l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14___closed__2); -l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14___closed__3 = _init_l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14___closed__3(); -lean_mark_persistent(l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14___closed__3); -l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14___closed__4 = _init_l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14___closed__4(); -lean_mark_persistent(l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14___closed__4); -l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14___closed__5 = _init_l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14___closed__5(); -lean_mark_persistent(l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14___closed__5); -l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14___closed__6 = _init_l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14___closed__6(); -lean_mark_persistent(l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__14___closed__6); -l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__2___closed__1 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__2___closed__1(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__2___closed__1); -l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__2___closed__2 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__2___closed__2(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__2___closed__2); -l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__2___closed__3 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__2___closed__3(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__2___closed__3); -l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__2___closed__4 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__2___closed__4(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__2___closed__4); -l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__3___closed__1 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__3___closed__1(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__3___closed__1); -l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__3___closed__2 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__3___closed__2(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__3___closed__2); -l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__3___closed__3 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__3___closed__3(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__3___closed__3); -l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__3___closed__4 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__3___closed__4(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17___lambda__3___closed__4); +l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___closed__1 = _init_l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___closed__1(); +lean_mark_persistent(l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___closed__1); +l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___closed__2 = _init_l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___closed__2(); +lean_mark_persistent(l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___closed__2); +l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___closed__3 = _init_l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___closed__3(); +lean_mark_persistent(l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___closed__3); +l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___closed__4 = _init_l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___closed__4(); +lean_mark_persistent(l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___closed__4); +l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___closed__5 = _init_l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___closed__5(); +lean_mark_persistent(l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___closed__5); +l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___closed__6 = _init_l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___closed__6(); +lean_mark_persistent(l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__19___rarg___closed__6); +l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___lambda__2___closed__1 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___lambda__2___closed__1(); +lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___lambda__2___closed__1); +l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___lambda__2___closed__2 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___lambda__2___closed__2(); +lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___lambda__2___closed__2); +l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___lambda__2___closed__3 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___lambda__2___closed__3(); +lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___lambda__2___closed__3); +l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___lambda__2___closed__4 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___lambda__2___closed__4(); +lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___lambda__2___closed__4); +l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___lambda__3___closed__1 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___lambda__3___closed__1(); +lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___lambda__3___closed__1); +l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___lambda__3___closed__2 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___lambda__3___closed__2(); +lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___lambda__3___closed__2); +l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___lambda__3___closed__3 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___lambda__3___closed__3(); +lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___lambda__3___closed__3); +l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___lambda__3___closed__4 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___lambda__3___closed__4(); +lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__22___lambda__3___closed__4); l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__1___closed__1 = _init_l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__1___closed__1(); lean_mark_persistent(l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__1___closed__1); l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__1___closed__2 = _init_l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__1___closed__2(); @@ -9222,14 +10867,16 @@ l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_re lean_mark_persistent(l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__1___closed__3); l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__2___closed__1 = _init_l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__2___closed__1(); lean_mark_persistent(l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__2___closed__1); -l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___closed__1 = _init_l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___closed__1(); -lean_mark_persistent(l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___closed__1); -l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___closed__2 = _init_l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___closed__2(); -lean_mark_persistent(l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___closed__2); -l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___closed__3 = _init_l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___closed__3(); -lean_mark_persistent(l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___closed__3); -l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___closed__4 = _init_l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___closed__4(); -lean_mark_persistent(l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___closed__4); +l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__6___closed__1 = _init_l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__6___closed__1(); +lean_mark_persistent(l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__6___closed__1); +l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__6___closed__2 = _init_l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__6___closed__2(); +lean_mark_persistent(l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__6___closed__2); +l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__6___closed__3 = _init_l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__6___closed__3(); +lean_mark_persistent(l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__6___closed__3); +l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__6___closed__4 = _init_l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__6___closed__4(); +lean_mark_persistent(l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__6___closed__4); +l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps___closed__1 = _init_l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps___closed__1(); +lean_mark_persistent(l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps___closed__1); l_Lean_Elab_Structural_mkBRecOn___lambda__1___closed__1 = _init_l_Lean_Elab_Structural_mkBRecOn___lambda__1___closed__1(); lean_mark_persistent(l_Lean_Elab_Structural_mkBRecOn___lambda__1___closed__1); l_Lean_Elab_Structural_mkBRecOn___lambda__3___closed__1 = _init_l_Lean_Elab_Structural_mkBRecOn___lambda__3___closed__1(); diff --git a/stage0/stdlib/Lean/Elab/PreDefinition/Structural/Basic.c b/stage0/stdlib/Lean/Elab/PreDefinition/Structural/Basic.c index a95243a5ca..bb28201e5d 100644 --- a/stage0/stdlib/Lean/Elab/PreDefinition/Structural/Basic.c +++ b/stage0/stdlib/Lean/Elab/PreDefinition/Structural/Basic.c @@ -269,7 +269,6 @@ x_4 = l_Lean_Expr_isAppOf(x_3, x_1); if (x_4 == 0) { uint8_t x_5; -lean_dec(x_3); x_5 = 0; return x_5; } @@ -283,7 +282,6 @@ if (x_8 == 0) { uint8_t x_9; lean_dec(x_7); -lean_dec(x_3); x_9 = 0; return x_9; } @@ -331,6 +329,7 @@ _start: { uint8_t x_4; lean_object* x_5; x_4 = l_Lean_Elab_Structural_recArgHasLooseBVarsAt___lambda__1(x_1, x_2, x_3); +lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); x_5 = lean_box(x_4); diff --git a/stage0/stdlib/Lean/Elab/PreDefinition/Structural/Main.c b/stage0/stdlib/Lean/Elab/PreDefinition/Structural/Main.c index 3a64092f24..c88d84cd5e 100644 --- a/stage0/stdlib/Lean/Elab/PreDefinition/Structural/Main.c +++ b/stage0/stdlib/Lean/Elab/PreDefinition/Structural/Main.c @@ -20,12 +20,12 @@ lean_object* l_Lean_stringToMessageData(lean_object*); lean_object* l_Lean_Elab_addAsAxiom(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_mk_empty_array_with_capacity(lean_object*); lean_object* l_Lean_mkSort(lean_object*); -LEAN_EXPORT lean_object* l_Lean_setEnv___at___private_Lean_Elab_PreDefinition_Structural_Main_0__Lean_Elab_Structural_elimRecursion___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_Main_0__Lean_Elab_Structural_elimRecursion___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_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_Array_foldlMUnsafe_fold___at_Lean_Elab_Structural_structuralRecursion___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_Lean_setEnv___at___private_Lean_Elab_PreDefinition_Structural_Main_0__Lean_Elab_Structural_elimRecursion___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Structural_structuralRecursion(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_Structural_Main_0__Lean_Elab_Structural_elimRecursion___lambda__6___closed__3; LEAN_EXPORT lean_object* l_Lean_Elab_Structural_initFn____x40_Lean_Elab_PreDefinition_Structural_Main___hyg_1102_(lean_object*); @@ -43,6 +43,7 @@ static lean_object* l___private_Lean_Elab_PreDefinition_Structural_Main_0__Lean_ lean_object* l_Lean_Elab_eraseRecAppSyntax(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_Structural_Main_0__Lean_Elab_Structural_elimRecursion___closed__4; uint8_t lean_usize_dec_lt(size_t, size_t); +LEAN_EXPORT lean_object* l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_Structural_Main_0__Lean_Elab_Structural_elimRecursion___spec__1___rarg___lambda__1(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_Structural_Main_0__Lean_Elab_Structural_elimRecursion___closed__2; extern lean_object* l_Lean_levelZero; static lean_object* l___private_Lean_Elab_PreDefinition_Structural_Main_0__Lean_Elab_Structural_elimRecursion___closed__6; @@ -67,14 +68,13 @@ static lean_object* l___private_Lean_Elab_PreDefinition_Structural_Main_0__Lean_ lean_object* l_Nat_repr(lean_object*); lean_object* lean_st_mk_ref(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Structural_structuralRecursion___closed__3; -LEAN_EXPORT lean_object* l_Lean_setEnv___at___private_Lean_Elab_PreDefinition_Structural_Main_0__Lean_Elab_Structural_elimRecursion___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_Structural_Main_0__Lean_Elab_Structural_elimRecursion___lambda__2___closed__1; LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_Main_0__Lean_Elab_Structural_elimRecursion___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*); extern lean_object* l_Lean_Elab_instInhabitedPreDefinition; lean_object* lean_array_to_list(lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_Structural_Main_0__Lean_Elab_Structural_elimRecursion___lambda__2___closed__2; static lean_object* l___private_Lean_Elab_PreDefinition_Structural_Main_0__Lean_Elab_Structural_elimRecursion___closed__7; -lean_object* l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__16___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_Structural_Main_0__Lean_Elab_Structural_elimRecursion___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Structural_structuralRecursion___lambda__1___closed__2; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Structural_Main_0__Lean_Elab_Structural_getFixedPrefix___spec__1___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_Structural_Main_0__Lean_Elab_Structural_elimRecursion___lambda__2___closed__4; @@ -103,12 +103,14 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_Main_0__ LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_Main_0__Lean_Elab_Structural_elimRecursion___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_isExprDefEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_forEachExpr_x27(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_setEnv___at___private_Lean_Elab_PreDefinition_Structural_Main_0__Lean_Elab_Structural_elimRecursion___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Structural_structuralRecursion___closed__1; lean_object* lean_mk_array(lean_object*, lean_object*); lean_object* l_Lean_addTrace___at___private_Lean_Elab_PreDefinition_Structural_IndPred_0__Lean_Elab_Structural_replaceIndPredRecApps_loop___spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_Structural_Main_0__Lean_Elab_Structural_getFixedPrefix___lambda__2___closed__2; lean_object* l_Lean_Elab_Structural_run___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_indentD(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_Structural_Main_0__Lean_Elab_Structural_elimRecursion___spec__1(lean_object*); lean_object* l_Lean_Elab_ensureNoRecFn(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Structural_addSmartUnfoldingDef(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_Structural_Main_0__Lean_Elab_Structural_elimRecursion(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -116,6 +118,7 @@ static lean_object* l___private_Lean_Elab_PreDefinition_Structural_Main_0__Lean_ LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_Main_0__Lean_Elab_Structural_elimRecursion___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*); static lean_object* l___private_Lean_Elab_PreDefinition_Structural_Main_0__Lean_Elab_Structural_elimRecursion___lambda__6___closed__4; LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_Main_0__Lean_Elab_Structural_elimRecursion___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_lambdaTelescopeImp___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_Structural_Main_0__Lean_Elab_Structural_elimRecursion___lambda__2___closed__3; static lean_object* l___private_Lean_Elab_PreDefinition_Structural_Main_0__Lean_Elab_Structural_elimRecursion___lambda__6___closed__1; LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_Main_0__Lean_Elab_Structural_elimRecursion___lambda__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -1137,7 +1140,78 @@ lean_dec(x_1); return x_11; } } -LEAN_EXPORT lean_object* l_Lean_setEnv___at___private_Lean_Elab_PreDefinition_Structural_Main_0__Lean_Elab_Structural_elimRecursion___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_EXPORT lean_object* l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_Structural_Main_0__Lean_Elab_Structural_elimRecursion___spec__1___rarg___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +_start: +{ +lean_object* x_10; +x_10 = lean_apply_8(x_1, x_3, x_4, x_2, x_5, x_6, x_7, x_8, x_9); +return x_10; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_Structural_Main_0__Lean_Elab_Structural_elimRecursion___spec__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +lean_object* x_9; uint8_t x_10; lean_object* x_11; +x_9 = lean_alloc_closure((void*)(l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_Structural_Main_0__Lean_Elab_Structural_elimRecursion___spec__1___rarg___lambda__1), 9, 2); +lean_closure_set(x_9, 0, x_2); +lean_closure_set(x_9, 1, x_3); +x_10 = 0; +x_11 = l___private_Lean_Meta_Basic_0__Lean_Meta_lambdaTelescopeImp___rarg(x_1, x_10, x_9, x_4, x_5, x_6, x_7, x_8); +if (lean_obj_tag(x_11) == 0) +{ +uint8_t x_12; +x_12 = !lean_is_exclusive(x_11); +if (x_12 == 0) +{ +return x_11; +} +else +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; +x_13 = lean_ctor_get(x_11, 0); +x_14 = lean_ctor_get(x_11, 1); +lean_inc(x_14); +lean_inc(x_13); +lean_dec(x_11); +x_15 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_15, 0, x_13); +lean_ctor_set(x_15, 1, x_14); +return x_15; +} +} +else +{ +uint8_t x_16; +x_16 = !lean_is_exclusive(x_11); +if (x_16 == 0) +{ +return x_11; +} +else +{ +lean_object* x_17; lean_object* x_18; lean_object* x_19; +x_17 = lean_ctor_get(x_11, 0); +x_18 = lean_ctor_get(x_11, 1); +lean_inc(x_18); +lean_inc(x_17); +lean_dec(x_11); +x_19 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_19, 0, x_17); +lean_ctor_set(x_19, 1, x_18); +return x_19; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_Structural_Main_0__Lean_Elab_Structural_elimRecursion___spec__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_Structural_Main_0__Lean_Elab_Structural_elimRecursion___spec__1___rarg), 8, 0); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_setEnv___at___private_Lean_Elab_PreDefinition_Structural_Main_0__Lean_Elab_Structural_elimRecursion___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { lean_object* x_8; lean_object* x_9; lean_object* x_10; uint8_t x_11; @@ -2006,7 +2080,7 @@ lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -x_16 = l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__16___rarg(x_10, x_11, x_4, x_5, x_6, x_7, x_8, x_14); +x_16 = l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_Structural_Main_0__Lean_Elab_Structural_elimRecursion___spec__1___rarg(x_10, x_11, x_4, x_5, x_6, x_7, x_8, x_14); if (lean_obj_tag(x_16) == 0) { lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t x_20; @@ -2015,7 +2089,7 @@ lean_inc(x_17); x_18 = lean_ctor_get(x_16, 1); lean_inc(x_18); lean_dec(x_16); -x_19 = l_Lean_setEnv___at___private_Lean_Elab_PreDefinition_Structural_Main_0__Lean_Elab_Structural_elimRecursion___spec__1(x_15, x_4, x_5, x_6, x_7, x_8, x_18); +x_19 = l_Lean_setEnv___at___private_Lean_Elab_PreDefinition_Structural_Main_0__Lean_Elab_Structural_elimRecursion___spec__2(x_15, x_4, x_5, x_6, x_7, x_8, x_18); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); @@ -2050,7 +2124,7 @@ lean_inc(x_24); x_25 = lean_ctor_get(x_16, 1); lean_inc(x_25); lean_dec(x_16); -x_26 = l_Lean_setEnv___at___private_Lean_Elab_PreDefinition_Structural_Main_0__Lean_Elab_Structural_elimRecursion___spec__1(x_15, x_4, x_5, x_6, x_7, x_8, x_25); +x_26 = l_Lean_setEnv___at___private_Lean_Elab_PreDefinition_Structural_Main_0__Lean_Elab_Structural_elimRecursion___spec__2(x_15, x_4, x_5, x_6, x_7, x_8, x_25); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); @@ -2240,11 +2314,11 @@ return x_26; } } } -LEAN_EXPORT lean_object* l_Lean_setEnv___at___private_Lean_Elab_PreDefinition_Structural_Main_0__Lean_Elab_Structural_elimRecursion___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_EXPORT lean_object* l_Lean_setEnv___at___private_Lean_Elab_PreDefinition_Structural_Main_0__Lean_Elab_Structural_elimRecursion___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { lean_object* x_8; -x_8 = l_Lean_setEnv___at___private_Lean_Elab_PreDefinition_Structural_Main_0__Lean_Elab_Structural_elimRecursion___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +x_8 = l_Lean_setEnv___at___private_Lean_Elab_PreDefinition_Structural_Main_0__Lean_Elab_Structural_elimRecursion___spec__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); diff --git a/stage0/stdlib/Lean/Elab/PreDefinition/WF/Fix.c b/stage0/stdlib/Lean/Elab/PreDefinition/WF/Fix.c index 37e4aa385a..5cee4cbf86 100644 --- a/stage0/stdlib/Lean/Elab/PreDefinition/WF/Fix.c +++ b/stage0/stdlib/Lean/Elab/PreDefinition/WF/Fix.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Elab.PreDefinition.WF.Fix -// Imports: Init Lean.Meta.Match.Match Lean.Meta.Tactic.Simp.Main Lean.Meta.Tactic.Cleanup Lean.Elab.Tactic.Basic Lean.Elab.RecAppSyntax Lean.Elab.PreDefinition.Basic Lean.Elab.PreDefinition.Structural.Basic Lean.Elab.PreDefinition.Structural.BRecOn +// Imports: Init Lean.Util.HasConstCache Lean.Meta.Match.Match Lean.Meta.Tactic.Simp.Main Lean.Meta.Tactic.Cleanup Lean.Elab.Tactic.Basic Lean.Elab.RecAppSyntax Lean.Elab.PreDefinition.Basic Lean.Elab.PreDefinition.Structural.Basic Lean.Elab.PreDefinition.Structural.BRecOn #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -18,83 +18,98 @@ static lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_p lean_object* lean_array_set(lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processRec___closed__1; static lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processPSigmaCasesOn___closed__8; -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4___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*); size_t lean_usize_add(size_t, size_t); +lean_object* l_Lean_HasConstCache_containsUnsafe(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processSumCasesOn___spec__1___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_mvarId_x21(lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processApp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processApp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_stringToMessageData(lean_object*); lean_object* lean_mk_empty_array_with_capacity(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__8___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_WF_mkFix___lambda__1___closed__1; lean_object* l_Lean_mkSort(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__8(lean_object*, lean_object*); lean_object* l_Lean_Meta_mkForallFVars(lean_object*, lean_object*, uint8_t, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processSumCasesOn(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_LocalDecl_userName(lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processSumCasesOn___lambda__2___closed__1; lean_object* lean_name_mk_string(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___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*); static lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_applyDefaultDecrTactic___closed__1; -LEAN_EXPORT lean_object* l_Lean_Meta_getMatcherInfo_x3f___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_getMatcherInfo_x3f___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__2(lean_object*); lean_object* lean_array_uget(lean_object*, size_t); static lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processPSigmaCasesOn___closed__5; -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processApp___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processApp___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*); static lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_applyDefaultDecrTactic___lambda__1___closed__2; lean_object* l_Lean_Expr_bindingDomain_x21(lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__3___boxed(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processSumCasesOn___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_object* l_Lean_SourceInfo_fromRef(lean_object*); lean_object* l_Lean_Meta_MatcherApp_addArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processPSigmaCasesOn___closed__4; lean_object* lean_array_uset(lean_object*, size_t, lean_object*); +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__5___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_extract___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_getRecAppSyntax_x3f(lean_object*); +lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withLocalDeclImp___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Tactic_evalTacticAux(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_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processRec(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_getMatcherInfo_x3f___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__2___rarg(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_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processRec(lean_object*, 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_Fix_0__Lean_Elab_WF_processPSigmaCasesOn___closed__3; lean_object* lean_st_ref_get(lean_object*, lean_object*); uint8_t l_Lean_Elab_Structural_recArgHasLooseBVarsAt(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__7___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_WF_mkFix___lambda__1___closed__6; uint8_t l_Lean_Expr_isAppOf(lean_object*, lean_object*); -static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4___lambda__2___closed__2; static lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processSumCasesOn___closed__7; +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__5___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_expr_instantiate1(lean_object*, lean_object*); lean_object* l_Array_toSubarray___rarg(lean_object*, lean_object*, lean_object*); lean_object* lean_array_push(lean_object*, lean_object*); lean_object* lean_array_get_size(lean_object*); -static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4___lambda__2___closed__1; static lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__1___closed__3; -LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___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_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___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*); +static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__5___lambda__2___closed__5; +LEAN_EXPORT lean_object* l_Lean_Meta_withLetDecl___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__9___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_WF_mkFix___lambda__1___closed__2; +static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__5___lambda__2___closed__3; static lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processSumCasesOn___closed__3; LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_applyDefaultDecrTactic(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_panic___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processPSigmaCasesOn___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_getRevArg_x21(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___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*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__7___boxed(lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_instInhabitedTermElabM(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_mkDecreasingProof(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_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_usize_dec_lt(size_t, size_t); static lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_applyDefaultDecrTactic___lambda__1___closed__1; -static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4___lambda__2___closed__4; lean_object* l_Lean_Meta_mkAppOptM(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processSumCasesOn___closed__5; -LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_levelZero; lean_object* lean_nat_add(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__8___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processPSigmaCasesOn___lambda__2___closed__1; LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_mkDecreasingProof___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__5___lambda__2___closed__2; lean_object* l_Array_zip___rarg(lean_object*, lean_object*); lean_object* l_Lean_mkAppN(lean_object*, lean_object*); lean_object* l_Lean_mkMData(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* 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*); +LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__5___lambda__2___closed__4; +LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_cleanup(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processPSigmaCasesOn___closed__6; lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processSumCasesOn___closed__1; -LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___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_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___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_EXPORT lean_object* l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4___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_mkProj(lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processSumCasesOn___closed__2; lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabImplicitLambda_loop___spec__1___rarg(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_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processSumCasesOn___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* lean_st_ref_take(lean_object*, lean_object*); lean_object* lean_nat_sub(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_mkDecreasingProof___lambda__1(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_Fix_0__Lean_Elab_WF_processSumCasesOn___lambda__3___closed__1; @@ -109,23 +124,27 @@ lean_object* lean_array_get(lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processSumCasesOn___closed__8; 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_object* l_Lean_Expr_fvarId_x21(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4___boxed(lean_object*, lean_object*); +lean_object* l_Std_mkHashMapImp___rarg(lean_object*); static lean_object* l_Lean_Elab_WF_mkFix___closed__1; static lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processSumCasesOn___closed__4; lean_object* l_Lean_Meta_forallBoundedTelescope___at_Lean_Elab_Term_elabLetDeclAux___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_withLetDecl___at_Lean_Elab_Term_elabLetDeclAux___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_WF_mkFix___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_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__7(lean_object*, lean_object*); static lean_object* l_Lean_Elab_WF_mkFix___lambda__1___closed__4; -LEAN_EXPORT lean_object* l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__3___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps___closed__1; LEAN_EXPORT lean_object* l_Lean_Elab_WF_mkFix___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_st_mk_ref(lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processPSigmaCasesOn___closed__7; +static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__5___lambda__2___closed__1; LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processPSigmaCasesOn___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_Lean_throwError___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__3___rarg___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_WF_Fix_0__Lean_Elab_WF_applyDefaultDecrTactic___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Meta_matchMatcherApp_x3f___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__1___boxed(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_Fix_0__Lean_Elab_WF_replaceRecApps_loop___closed__1; +LEAN_EXPORT lean_object* l_Lean_Meta_matchMatcherApp_x3f___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__5___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*); uint8_t l_Lean_Expr_isAppOfArity(lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_instInhabitedExpr; -static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4___lambda__2___closed__5; -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_WF_mkFix___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Init_Util_0__mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Expr_isConstOf(lean_object*, lean_object*); @@ -139,10 +158,13 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab uint8_t l_Lean_Expr_isLambda(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processPSigmaCasesOn(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_runTactic(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_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processRec___spec__1(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_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__7___rarg___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_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processRec___spec__1(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_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_getMatcherInfo_x3f___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__2___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_LocalDecl_type(lean_object*); lean_object* l_Lean_Meta_etaExpand(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4___lambda__2___closed__3; +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__3(lean_object*); static lean_object* l_Lean_Elab_WF_mkFix___lambda__1___closed__3; lean_object* l_List_redLength___rarg(lean_object*); lean_object* l_Lean_Expr_getAppNumArgsAux(lean_object*, lean_object*); @@ -151,63 +173,73 @@ uint8_t lean_expr_eqv(lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processPSigmaCasesOn___lambda__2___closed__2; static lean_object* l_Lean_Elab_WF_mkFix___closed__2; uint8_t lean_nat_dec_le(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_beta(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processApp___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processApp___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_mkApp(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_containsRecFn___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_WF_Fix_0__Lean_Elab_WF_processSumCasesOn___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processRec___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processRec___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_EXPORT lean_object* l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processSumCasesOn___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_instantiateForallAux(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_WF_Fix_0__Lean_Elab_WF_replaceRecApps_containsRecFn(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_MatcherApp_toExpr(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_WF_mkFix___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_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processApp___spec__1(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_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processApp___spec__1(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_object*); static lean_object* l_Lean_Elab_WF_mkFix___lambda__1___closed__5; LEAN_EXPORT lean_object* l_Lean_MonadRef_mkInfoFromRefPos___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_applyDefaultDecrTactic___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_ofSubarray___rarg(lean_object*); lean_object* l_Lean_mkApp4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__3___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_getLevel(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_MonadRef_mkInfoFromRefPos___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_applyDefaultDecrTactic___spec__1___rarg(lean_object*, lean_object*, lean_object*); +lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Expr_isFVar(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_object* l_Lean_Meta_mkArrow(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__7___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_toArrayAux___rarg(lean_object*, lean_object*); lean_object* lean_infer_type(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4___lambda__2___closed__6; lean_object* lean_panic_fn(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processSumCasesOn___spec__1(lean_object*); lean_object* l_Lean_Meta_Match_MatcherInfo_arity(lean_object*); lean_object* l_Lean_Meta_instantiateMVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_reportUnsolvedGoals(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_WF_mkFix___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_mk_array(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processSumCasesOn___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_withLetDecl___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__9___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_MonadRef_mkInfoFromRefPos___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_applyDefaultDecrTactic___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_indentD(lean_object*); lean_object* l_Lean_Elab_ensureNoRecFn(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_LocalContext_setUserName(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_getAppFn(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_withLetDecl___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__9(lean_object*, lean_object*); +static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__5___lambda__2___closed__6; lean_object* l_Lean_Meta_Match_MatcherInfo_numAlts(lean_object*); lean_object* l_Lean_Meta_mkFreshExprSyntheticOpaqueMVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processSumCasesOn___closed__6; -LEAN_EXPORT lean_object* l_Lean_Meta_matchMatcherApp_x3f___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__1(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___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_applyDefaultDecrTactic___lambda__1___closed__3; lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_lambdaTelescopeImp___rarg(lean_object*, uint8_t, 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_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__5___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withLetDeclImp___rarg(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_Fix_0__Lean_Elab_WF_processPSigmaCasesOn___closed__2; lean_object* l_Lean_Meta_Match_Extension_getMatcherInfo_x3f(lean_object*, lean_object*); lean_object* l_Lean_indentExpr(lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__3___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_bindingBody_x21(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_WF_mkFix___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_WF_mkFix(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___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__5(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_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__5(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_object*); lean_object* l_Lean_mkConst(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_MonadRef_mkInfoFromRefPos___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_applyDefaultDecrTactic___spec__1___boxed(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_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Structural_refinedArgType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__8___boxed(lean_object*, lean_object*); +static lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__5___closed__1; static lean_object* l_panic___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processPSigmaCasesOn___spec__1___closed__1; -LEAN_EXPORT lean_object* l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__3(lean_object*); -LEAN_EXPORT lean_object* l_Lean_Meta_getMatcherInfo_x3f___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__2___boxed(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_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_getMatcherInfo_x3f___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__2___boxed(lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processSumCasesOn___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_nat_dec_lt(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -707,14 +739,74 @@ lean_dec(x_2); return x_10; } } -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processRec___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, size_t x_5, size_t x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_containsRecFn(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, 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_15; -x_15 = lean_usize_dec_lt(x_6, x_5); -if (x_15 == 0) +lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t x_20; +x_11 = lean_st_ref_get(x_9, x_10); +x_12 = lean_ctor_get(x_11, 1); +lean_inc(x_12); +lean_dec(x_11); +x_13 = lean_st_ref_take(x_3, x_12); +x_14 = lean_ctor_get(x_13, 0); +lean_inc(x_14); +x_15 = lean_ctor_get(x_13, 1); +lean_inc(x_15); +lean_dec(x_13); +x_16 = l_Lean_HasConstCache_containsUnsafe(x_1, x_2, x_14); +x_17 = lean_ctor_get(x_16, 0); +lean_inc(x_17); +x_18 = lean_ctor_get(x_16, 1); +lean_inc(x_18); +lean_dec(x_16); +x_19 = lean_st_ref_set(x_3, x_18, x_15); +x_20 = !lean_is_exclusive(x_19); +if (x_20 == 0) { -lean_object* x_16; +lean_object* x_21; +x_21 = lean_ctor_get(x_19, 0); +lean_dec(x_21); +lean_ctor_set(x_19, 0, x_17); +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_17); +lean_ctor_set(x_23, 1, x_22); +return x_23; +} +} +} +LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_containsRecFn___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +_start: +{ +lean_object* x_11; +x_11 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_containsRecFn(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_1); +return x_11; +} +} +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processRec___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, size_t x_5, size_t x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) { +_start: +{ +uint8_t x_16; +x_16 = lean_usize_dec_lt(x_6, x_5); +if (x_16 == 0) +{ +lean_object* x_17; +lean_dec(x_14); lean_dec(x_13); lean_dec(x_12); lean_dec(x_11); @@ -725,17 +817,18 @@ lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_16 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_16, 0, x_7); -lean_ctor_set(x_16, 1, x_14); -return x_16; +x_17 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_17, 0, x_7); +lean_ctor_set(x_17, 1, x_15); +return x_17; } else { -lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_17 = lean_array_uget(x_7, x_6); -x_18 = lean_unsigned_to_nat(0u); -x_19 = lean_array_uset(x_7, x_6, x_18); +lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_18 = lean_array_uget(x_7, x_6); +x_19 = lean_unsigned_to_nat(0u); +x_20 = lean_array_uset(x_7, x_6, x_19); +lean_inc(x_14); lean_inc(x_13); lean_inc(x_12); lean_inc(x_11); @@ -746,27 +839,28 @@ lean_inc(x_4); lean_inc(x_3); lean_inc(x_2); lean_inc(x_1); -x_20 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop(x_1, x_2, x_3, x_4, x_17, x_8, x_9, x_10, x_11, x_12, x_13, x_14); -if (lean_obj_tag(x_20) == 0) +x_21 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop(x_1, x_2, x_3, x_4, x_18, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15); +if (lean_obj_tag(x_21) == 0) { -lean_object* x_21; lean_object* x_22; size_t x_23; size_t x_24; lean_object* x_25; -x_21 = lean_ctor_get(x_20, 0); -lean_inc(x_21); -x_22 = lean_ctor_get(x_20, 1); +lean_object* x_22; lean_object* x_23; size_t x_24; size_t x_25; lean_object* x_26; +x_22 = lean_ctor_get(x_21, 0); lean_inc(x_22); -lean_dec(x_20); -x_23 = 1; -x_24 = lean_usize_add(x_6, x_23); -x_25 = lean_array_uset(x_19, x_6, x_21); -x_6 = x_24; -x_7 = x_25; -x_14 = x_22; +x_23 = lean_ctor_get(x_21, 1); +lean_inc(x_23); +lean_dec(x_21); +x_24 = 1; +x_25 = lean_usize_add(x_6, x_24); +x_26 = lean_array_uset(x_20, x_6, x_22); +x_6 = x_25; +x_7 = x_26; +x_15 = x_23; goto _start; } else { -uint8_t x_27; -lean_dec(x_19); +uint8_t x_28; +lean_dec(x_20); +lean_dec(x_14); lean_dec(x_13); lean_dec(x_12); lean_dec(x_11); @@ -777,6 +871,933 @@ lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); +x_28 = !lean_is_exclusive(x_21); +if (x_28 == 0) +{ +return x_21; +} +else +{ +lean_object* x_29; lean_object* x_30; lean_object* x_31; +x_29 = lean_ctor_get(x_21, 0); +x_30 = lean_ctor_get(x_21, 1); +lean_inc(x_30); +lean_inc(x_29); +lean_dec(x_21); +x_31 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_31, 0, x_29); +lean_ctor_set(x_31, 1, x_30); +return x_31; +} +} +} +} +} +static lean_object* _init_l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processRec___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_levelZero; +x_2 = l_Lean_mkSort(x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processRec(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +_start: +{ +lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18; +x_14 = lean_unsigned_to_nat(0u); +x_15 = l_Lean_Expr_getAppNumArgsAux(x_5, x_14); +x_16 = lean_unsigned_to_nat(1u); +x_17 = lean_nat_add(x_2, x_16); +x_18 = lean_nat_dec_lt(x_15, x_17); +if (x_18 == 0) +{ +lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; +x_19 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processRec___closed__1; +lean_inc(x_15); +x_20 = lean_mk_array(x_15, x_19); +x_21 = lean_nat_sub(x_15, x_16); +lean_dec(x_15); +x_22 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_5, x_20, x_21); +x_23 = l_Lean_instInhabitedExpr; +x_24 = lean_array_get(x_23, x_22, x_2); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +lean_inc(x_1); +x_25 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop(x_1, x_2, x_3, x_4, x_24, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +if (lean_obj_tag(x_25) == 0) +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; +x_26 = lean_ctor_get(x_25, 0); +lean_inc(x_26); +x_27 = lean_ctor_get(x_25, 1); +lean_inc(x_27); +lean_dec(x_25); +lean_inc(x_4); +x_28 = l_Lean_mkApp(x_4, x_26); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_28); +x_29 = lean_infer_type(x_28, x_9, x_10, x_11, x_12, x_27); +if (lean_obj_tag(x_29) == 0) +{ +lean_object* x_30; lean_object* x_31; lean_object* x_32; +x_30 = lean_ctor_get(x_29, 0); +lean_inc(x_30); +x_31 = lean_ctor_get(x_29, 1); +lean_inc(x_31); +lean_dec(x_29); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +x_32 = lean_whnf(x_30, x_9, x_10, x_11, x_12, x_31); +if (lean_obj_tag(x_32) == 0) +{ +lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; +x_33 = lean_ctor_get(x_32, 0); +lean_inc(x_33); +x_34 = lean_ctor_get(x_32, 1); +lean_inc(x_34); +lean_dec(x_32); +x_35 = l_Lean_Expr_bindingDomain_x21(x_33); +lean_dec(x_33); +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_3); +x_36 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_mkDecreasingProof(x_35, x_3, x_7, x_8, x_9, x_10, x_11, x_12, x_34); +if (lean_obj_tag(x_36) == 0) +{ +lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; size_t x_44; size_t x_45; lean_object* x_46; +x_37 = lean_ctor_get(x_36, 0); +lean_inc(x_37); +x_38 = lean_ctor_get(x_36, 1); +lean_inc(x_38); +lean_dec(x_36); +x_39 = l_Lean_mkApp(x_28, x_37); +x_40 = lean_array_get_size(x_22); +x_41 = l_Array_toSubarray___rarg(x_22, x_17, x_40); +x_42 = l_Array_ofSubarray___rarg(x_41); +x_43 = lean_array_get_size(x_42); +x_44 = lean_usize_of_nat(x_43); +lean_dec(x_43); +x_45 = 0; +x_46 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processRec___spec__1(x_1, x_2, x_3, x_4, x_44, x_45, x_42, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_38); +if (lean_obj_tag(x_46) == 0) +{ +uint8_t x_47; +x_47 = !lean_is_exclusive(x_46); +if (x_47 == 0) +{ +lean_object* x_48; lean_object* x_49; +x_48 = lean_ctor_get(x_46, 0); +x_49 = l_Lean_mkAppN(x_39, x_48); +lean_ctor_set(x_46, 0, x_49); +return x_46; +} +else +{ +lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; +x_50 = lean_ctor_get(x_46, 0); +x_51 = lean_ctor_get(x_46, 1); +lean_inc(x_51); +lean_inc(x_50); +lean_dec(x_46); +x_52 = l_Lean_mkAppN(x_39, x_50); +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; +} +} +else +{ +uint8_t x_54; +lean_dec(x_39); +x_54 = !lean_is_exclusive(x_46); +if (x_54 == 0) +{ +return x_46; +} +else +{ +lean_object* x_55; lean_object* x_56; lean_object* x_57; +x_55 = lean_ctor_get(x_46, 0); +x_56 = lean_ctor_get(x_46, 1); +lean_inc(x_56); +lean_inc(x_55); +lean_dec(x_46); +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_28); +lean_dec(x_22); +lean_dec(x_17); +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_3); +lean_dec(x_2); +lean_dec(x_1); +x_58 = !lean_is_exclusive(x_36); +if (x_58 == 0) +{ +return x_36; +} +else +{ +lean_object* x_59; lean_object* x_60; lean_object* x_61; +x_59 = lean_ctor_get(x_36, 0); +x_60 = lean_ctor_get(x_36, 1); +lean_inc(x_60); +lean_inc(x_59); +lean_dec(x_36); +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_62; +lean_dec(x_28); +lean_dec(x_22); +lean_dec(x_17); +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_3); +lean_dec(x_2); +lean_dec(x_1); +x_62 = !lean_is_exclusive(x_32); +if (x_62 == 0) +{ +return x_32; +} +else +{ +lean_object* x_63; lean_object* x_64; lean_object* x_65; +x_63 = lean_ctor_get(x_32, 0); +x_64 = lean_ctor_get(x_32, 1); +lean_inc(x_64); +lean_inc(x_63); +lean_dec(x_32); +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_66; +lean_dec(x_28); +lean_dec(x_22); +lean_dec(x_17); +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_3); +lean_dec(x_2); +lean_dec(x_1); +x_66 = !lean_is_exclusive(x_29); +if (x_66 == 0) +{ +return x_29; +} +else +{ +lean_object* x_67; lean_object* x_68; lean_object* x_69; +x_67 = lean_ctor_get(x_29, 0); +x_68 = lean_ctor_get(x_29, 1); +lean_inc(x_68); +lean_inc(x_67); +lean_dec(x_29); +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_70; +lean_dec(x_22); +lean_dec(x_17); +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_3); +lean_dec(x_2); +lean_dec(x_1); +x_70 = !lean_is_exclusive(x_25); +if (x_70 == 0) +{ +return x_25; +} +else +{ +lean_object* x_71; lean_object* x_72; lean_object* x_73; +x_71 = lean_ctor_get(x_25, 0); +x_72 = lean_ctor_get(x_25, 1); +lean_inc(x_72); +lean_inc(x_71); +lean_dec(x_25); +x_73 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_73, 0, x_71); +lean_ctor_set(x_73, 1, x_72); +return x_73; +} +} +} +else +{ +lean_object* x_74; +lean_dec(x_17); +lean_dec(x_15); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +x_74 = l_Lean_Meta_etaExpand(x_5, x_9, x_10, x_11, x_12, x_13); +if (lean_obj_tag(x_74) == 0) +{ +lean_object* x_75; lean_object* x_76; lean_object* x_77; +x_75 = lean_ctor_get(x_74, 0); +lean_inc(x_75); +x_76 = lean_ctor_get(x_74, 1); +lean_inc(x_76); +lean_dec(x_74); +x_77 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop(x_1, x_2, x_3, x_4, x_75, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_76); +return x_77; +} +else +{ +uint8_t x_78; +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_3); +lean_dec(x_2); +lean_dec(x_1); +x_78 = !lean_is_exclusive(x_74); +if (x_78 == 0) +{ +return x_74; +} +else +{ +lean_object* x_79; lean_object* x_80; lean_object* x_81; +x_79 = lean_ctor_get(x_74, 0); +x_80 = lean_ctor_get(x_74, 1); +lean_inc(x_80); +lean_inc(x_79); +lean_dec(x_74); +x_81 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_81, 0, x_79); +lean_ctor_set(x_81, 1, x_80); +return x_81; +} +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_getMatcherInfo_x3f___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__2___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +_start: +{ +lean_object* x_10; uint8_t x_11; +x_10 = lean_st_ref_get(x_8, x_9); +x_11 = !lean_is_exclusive(x_10); +if (x_11 == 0) +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; +x_12 = lean_ctor_get(x_10, 0); +x_13 = lean_ctor_get(x_12, 0); +lean_inc(x_13); +lean_dec(x_12); +x_14 = l_Lean_Meta_Match_Extension_getMatcherInfo_x3f(x_13, x_1); +lean_ctor_set(x_10, 0, x_14); +return x_10; +} +else +{ +lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; +x_15 = lean_ctor_get(x_10, 0); +x_16 = lean_ctor_get(x_10, 1); +lean_inc(x_16); +lean_inc(x_15); +lean_dec(x_10); +x_17 = lean_ctor_get(x_15, 0); +lean_inc(x_17); +lean_dec(x_15); +x_18 = l_Lean_Meta_Match_Extension_getMatcherInfo_x3f(x_17, x_1); +x_19 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_19, 0, x_18); +lean_ctor_set(x_19, 1, x_16); +return x_19; +} +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_getMatcherInfo_x3f___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__2(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Meta_getMatcherInfo_x3f___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__2___rarg___boxed), 9, 0); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_matchMatcherApp_x3f___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +_start: +{ +lean_object* x_11; +x_11 = l_Lean_Expr_getAppFn(x_2); +if (lean_obj_tag(x_11) == 4) +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; +x_12 = lean_ctor_get(x_11, 0); +lean_inc(x_12); +x_13 = lean_ctor_get(x_11, 1); +lean_inc(x_13); +lean_dec(x_11); +lean_inc(x_12); +x_14 = l_Lean_Meta_getMatcherInfo_x3f___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__2___rarg(x_12, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_15 = lean_ctor_get(x_14, 0); +lean_inc(x_15); +if (lean_obj_tag(x_15) == 0) +{ +uint8_t x_16; +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_2); +x_16 = !lean_is_exclusive(x_14); +if (x_16 == 0) +{ +lean_object* x_17; lean_object* x_18; +x_17 = lean_ctor_get(x_14, 0); +lean_dec(x_17); +x_18 = lean_box(0); +lean_ctor_set(x_14, 0, x_18); +return x_14; +} +else +{ +lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_19 = lean_ctor_get(x_14, 1); +lean_inc(x_19); +lean_dec(x_14); +x_20 = lean_box(0); +x_21 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_21, 0, x_20); +lean_ctor_set(x_21, 1, x_19); +return x_21; +} +} +else +{ +uint8_t x_22; +x_22 = !lean_is_exclusive(x_14); +if (x_22 == 0) +{ +lean_object* x_23; uint8_t x_24; +x_23 = lean_ctor_get(x_14, 0); +lean_dec(x_23); +x_24 = !lean_is_exclusive(x_15); +if (x_24 == 0) +{ +lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; uint8_t x_35; +x_25 = lean_ctor_get(x_15, 0); +x_26 = lean_unsigned_to_nat(0u); +x_27 = l_Lean_Expr_getAppNumArgsAux(x_2, x_26); +x_28 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processRec___closed__1; +lean_inc(x_27); +x_29 = lean_mk_array(x_27, x_28); +x_30 = lean_unsigned_to_nat(1u); +x_31 = lean_nat_sub(x_27, x_30); +lean_dec(x_27); +x_32 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_2, x_29, x_31); +x_33 = lean_array_get_size(x_32); +x_34 = l_Lean_Meta_Match_MatcherInfo_arity(x_25); +x_35 = lean_nat_dec_lt(x_33, x_34); +lean_dec(x_34); +if (x_35 == 0) +{ +lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; +x_36 = l_List_redLength___rarg(x_13); +x_37 = lean_mk_empty_array_with_capacity(x_36); +lean_dec(x_36); +x_38 = l_List_toArrayAux___rarg(x_13, x_37); +x_39 = lean_ctor_get(x_25, 3); +lean_inc(x_39); +x_40 = lean_ctor_get(x_25, 0); +lean_inc(x_40); +lean_inc(x_40); +lean_inc(x_32); +x_41 = l_Array_extract___rarg(x_32, x_26, x_40); +x_42 = l_Lean_instInhabitedExpr; +x_43 = lean_array_get(x_42, x_32, x_40); +x_44 = lean_nat_add(x_40, x_30); +lean_dec(x_40); +x_45 = lean_ctor_get(x_25, 1); +lean_inc(x_45); +x_46 = lean_nat_add(x_44, x_45); +lean_dec(x_45); +lean_inc(x_46); +lean_inc(x_32); +x_47 = l_Array_toSubarray___rarg(x_32, x_44, x_46); +x_48 = l_Array_ofSubarray___rarg(x_47); +x_49 = lean_ctor_get(x_25, 2); +lean_inc(x_49); +x_50 = l_Lean_Meta_Match_MatcherInfo_numAlts(x_25); +lean_dec(x_25); +x_51 = lean_nat_add(x_46, x_50); +lean_dec(x_50); +lean_inc(x_51); +lean_inc(x_32); +x_52 = l_Array_toSubarray___rarg(x_32, x_46, x_51); +x_53 = l_Array_ofSubarray___rarg(x_52); +x_54 = l_Array_toSubarray___rarg(x_32, x_51, x_33); +x_55 = l_Array_ofSubarray___rarg(x_54); +x_56 = lean_alloc_ctor(0, 9, 0); +lean_ctor_set(x_56, 0, x_12); +lean_ctor_set(x_56, 1, x_38); +lean_ctor_set(x_56, 2, x_39); +lean_ctor_set(x_56, 3, x_41); +lean_ctor_set(x_56, 4, x_43); +lean_ctor_set(x_56, 5, x_48); +lean_ctor_set(x_56, 6, x_49); +lean_ctor_set(x_56, 7, x_53); +lean_ctor_set(x_56, 8, x_55); +lean_ctor_set(x_15, 0, x_56); +return x_14; +} +else +{ +lean_object* x_57; +lean_dec(x_33); +lean_dec(x_32); +lean_free_object(x_15); +lean_dec(x_25); +lean_dec(x_13); +lean_dec(x_12); +x_57 = lean_box(0); +lean_ctor_set(x_14, 0, x_57); +return x_14; +} +} +else +{ +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; uint8_t x_68; +x_58 = lean_ctor_get(x_15, 0); +lean_inc(x_58); +lean_dec(x_15); +x_59 = lean_unsigned_to_nat(0u); +x_60 = l_Lean_Expr_getAppNumArgsAux(x_2, x_59); +x_61 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processRec___closed__1; +lean_inc(x_60); +x_62 = lean_mk_array(x_60, x_61); +x_63 = lean_unsigned_to_nat(1u); +x_64 = lean_nat_sub(x_60, x_63); +lean_dec(x_60); +x_65 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_2, x_62, x_64); +x_66 = lean_array_get_size(x_65); +x_67 = l_Lean_Meta_Match_MatcherInfo_arity(x_58); +x_68 = lean_nat_dec_lt(x_66, x_67); +lean_dec(x_67); +if (x_68 == 0) +{ +lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; +x_69 = l_List_redLength___rarg(x_13); +x_70 = lean_mk_empty_array_with_capacity(x_69); +lean_dec(x_69); +x_71 = l_List_toArrayAux___rarg(x_13, x_70); +x_72 = lean_ctor_get(x_58, 3); +lean_inc(x_72); +x_73 = lean_ctor_get(x_58, 0); +lean_inc(x_73); +lean_inc(x_73); +lean_inc(x_65); +x_74 = l_Array_extract___rarg(x_65, x_59, x_73); +x_75 = l_Lean_instInhabitedExpr; +x_76 = lean_array_get(x_75, x_65, x_73); +x_77 = lean_nat_add(x_73, x_63); +lean_dec(x_73); +x_78 = lean_ctor_get(x_58, 1); +lean_inc(x_78); +x_79 = lean_nat_add(x_77, x_78); +lean_dec(x_78); +lean_inc(x_79); +lean_inc(x_65); +x_80 = l_Array_toSubarray___rarg(x_65, x_77, x_79); +x_81 = l_Array_ofSubarray___rarg(x_80); +x_82 = lean_ctor_get(x_58, 2); +lean_inc(x_82); +x_83 = l_Lean_Meta_Match_MatcherInfo_numAlts(x_58); +lean_dec(x_58); +x_84 = lean_nat_add(x_79, x_83); +lean_dec(x_83); +lean_inc(x_84); +lean_inc(x_65); +x_85 = l_Array_toSubarray___rarg(x_65, x_79, x_84); +x_86 = l_Array_ofSubarray___rarg(x_85); +x_87 = l_Array_toSubarray___rarg(x_65, x_84, x_66); +x_88 = l_Array_ofSubarray___rarg(x_87); +x_89 = lean_alloc_ctor(0, 9, 0); +lean_ctor_set(x_89, 0, x_12); +lean_ctor_set(x_89, 1, x_71); +lean_ctor_set(x_89, 2, x_72); +lean_ctor_set(x_89, 3, x_74); +lean_ctor_set(x_89, 4, x_76); +lean_ctor_set(x_89, 5, x_81); +lean_ctor_set(x_89, 6, x_82); +lean_ctor_set(x_89, 7, x_86); +lean_ctor_set(x_89, 8, x_88); +x_90 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_90, 0, x_89); +lean_ctor_set(x_14, 0, x_90); +return x_14; +} +else +{ +lean_object* x_91; +lean_dec(x_66); +lean_dec(x_65); +lean_dec(x_58); +lean_dec(x_13); +lean_dec(x_12); +x_91 = lean_box(0); +lean_ctor_set(x_14, 0, x_91); +return x_14; +} +} +} +else +{ +lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; uint8_t x_104; +x_92 = lean_ctor_get(x_14, 1); +lean_inc(x_92); +lean_dec(x_14); +x_93 = lean_ctor_get(x_15, 0); +lean_inc(x_93); +if (lean_is_exclusive(x_15)) { + lean_ctor_release(x_15, 0); + x_94 = x_15; +} else { + lean_dec_ref(x_15); + x_94 = lean_box(0); +} +x_95 = lean_unsigned_to_nat(0u); +x_96 = l_Lean_Expr_getAppNumArgsAux(x_2, x_95); +x_97 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processRec___closed__1; +lean_inc(x_96); +x_98 = lean_mk_array(x_96, x_97); +x_99 = lean_unsigned_to_nat(1u); +x_100 = lean_nat_sub(x_96, x_99); +lean_dec(x_96); +x_101 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_2, x_98, x_100); +x_102 = lean_array_get_size(x_101); +x_103 = l_Lean_Meta_Match_MatcherInfo_arity(x_93); +x_104 = lean_nat_dec_lt(x_102, x_103); +lean_dec(x_103); +if (x_104 == 0) +{ +lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; lean_object* x_127; +x_105 = l_List_redLength___rarg(x_13); +x_106 = lean_mk_empty_array_with_capacity(x_105); +lean_dec(x_105); +x_107 = l_List_toArrayAux___rarg(x_13, x_106); +x_108 = lean_ctor_get(x_93, 3); +lean_inc(x_108); +x_109 = lean_ctor_get(x_93, 0); +lean_inc(x_109); +lean_inc(x_109); +lean_inc(x_101); +x_110 = l_Array_extract___rarg(x_101, x_95, x_109); +x_111 = l_Lean_instInhabitedExpr; +x_112 = lean_array_get(x_111, x_101, x_109); +x_113 = lean_nat_add(x_109, x_99); +lean_dec(x_109); +x_114 = lean_ctor_get(x_93, 1); +lean_inc(x_114); +x_115 = lean_nat_add(x_113, x_114); +lean_dec(x_114); +lean_inc(x_115); +lean_inc(x_101); +x_116 = l_Array_toSubarray___rarg(x_101, x_113, x_115); +x_117 = l_Array_ofSubarray___rarg(x_116); +x_118 = lean_ctor_get(x_93, 2); +lean_inc(x_118); +x_119 = l_Lean_Meta_Match_MatcherInfo_numAlts(x_93); +lean_dec(x_93); +x_120 = lean_nat_add(x_115, x_119); +lean_dec(x_119); +lean_inc(x_120); +lean_inc(x_101); +x_121 = l_Array_toSubarray___rarg(x_101, x_115, x_120); +x_122 = l_Array_ofSubarray___rarg(x_121); +x_123 = l_Array_toSubarray___rarg(x_101, x_120, x_102); +x_124 = l_Array_ofSubarray___rarg(x_123); +x_125 = lean_alloc_ctor(0, 9, 0); +lean_ctor_set(x_125, 0, x_12); +lean_ctor_set(x_125, 1, x_107); +lean_ctor_set(x_125, 2, x_108); +lean_ctor_set(x_125, 3, x_110); +lean_ctor_set(x_125, 4, x_112); +lean_ctor_set(x_125, 5, x_117); +lean_ctor_set(x_125, 6, x_118); +lean_ctor_set(x_125, 7, x_122); +lean_ctor_set(x_125, 8, x_124); +if (lean_is_scalar(x_94)) { + x_126 = lean_alloc_ctor(1, 1, 0); +} else { + x_126 = x_94; +} +lean_ctor_set(x_126, 0, x_125); +x_127 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_127, 0, x_126); +lean_ctor_set(x_127, 1, x_92); +return x_127; +} +else +{ +lean_object* x_128; lean_object* x_129; +lean_dec(x_102); +lean_dec(x_101); +lean_dec(x_94); +lean_dec(x_93); +lean_dec(x_13); +lean_dec(x_12); +x_128 = lean_box(0); +x_129 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_129, 0, x_128); +lean_ctor_set(x_129, 1, x_92); +return x_129; +} +} +} +} +else +{ +lean_object* x_130; lean_object* x_131; +lean_dec(x_11); +lean_dec(x_2); +x_130 = lean_box(0); +x_131 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_131, 0, x_130); +lean_ctor_set(x_131, 1, x_10); +return x_131; +} +} +} +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__3___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +_start: +{ +lean_object* x_10; lean_object* x_11; uint8_t x_12; +x_10 = lean_ctor_get(x_7, 3); +x_11 = l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(x_1, x_5, x_6, x_7, x_8, x_9); +x_12 = !lean_is_exclusive(x_11); +if (x_12 == 0) +{ +lean_object* x_13; lean_object* x_14; +x_13 = lean_ctor_get(x_11, 0); +lean_inc(x_10); +x_14 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_14, 0, x_10); +lean_ctor_set(x_14, 1, x_13); +lean_ctor_set_tag(x_11, 1); +lean_ctor_set(x_11, 0, x_14); +return x_11; +} +else +{ +lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; +x_15 = lean_ctor_get(x_11, 0); +x_16 = lean_ctor_get(x_11, 1); +lean_inc(x_16); +lean_inc(x_15); +lean_dec(x_11); +lean_inc(x_10); +x_17 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_17, 0, x_10); +lean_ctor_set(x_17, 1, x_15); +x_18 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_18, 0, x_17); +lean_ctor_set(x_18, 1, x_16); +return x_18; +} +} +} +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__3(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_throwError___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__3___rarg___boxed), 9, 0); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4___rarg___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +_start: +{ +lean_object* x_12; +x_12 = lean_apply_10(x_1, x_5, x_6, x_2, x_3, x_4, x_7, x_8, x_9, x_10, x_11); +return x_12; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +_start: +{ +lean_object* x_11; uint8_t x_12; lean_object* x_13; +x_11 = lean_alloc_closure((void*)(l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4___rarg___lambda__1), 11, 4); +lean_closure_set(x_11, 0, x_2); +lean_closure_set(x_11, 1, x_3); +lean_closure_set(x_11, 2, x_4); +lean_closure_set(x_11, 3, x_5); +x_12 = 0; +x_13 = l___private_Lean_Meta_Basic_0__Lean_Meta_lambdaTelescopeImp___rarg(x_1, x_12, x_11, x_6, x_7, x_8, x_9, x_10); +if (lean_obj_tag(x_13) == 0) +{ +uint8_t x_14; +x_14 = !lean_is_exclusive(x_13); +if (x_14 == 0) +{ +return x_13; +} +else +{ +lean_object* x_15; lean_object* x_16; lean_object* x_17; +x_15 = lean_ctor_get(x_13, 0); +x_16 = lean_ctor_get(x_13, 1); +lean_inc(x_16); +lean_inc(x_15); +lean_dec(x_13); +x_17 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_17, 0, x_15); +lean_ctor_set(x_17, 1, x_16); +return x_17; +} +} +else +{ +uint8_t x_18; +x_18 = !lean_is_exclusive(x_13); +if (x_18 == 0) +{ +return x_13; +} +else +{ +lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_19 = lean_ctor_get(x_13, 0); +x_20 = lean_ctor_get(x_13, 1); +lean_inc(x_20); +lean_inc(x_19); +lean_dec(x_13); +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_EXPORT lean_object* l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = lean_alloc_closure((void*)(l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4___rarg), 10, 0); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__5___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) { +_start: +{ +lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_16 = lean_unsigned_to_nat(1u); +x_17 = lean_nat_sub(x_1, x_16); +x_18 = l_Lean_instInhabitedExpr; +x_19 = lean_array_get(x_18, x_2, x_17); +lean_dec(x_17); +lean_inc(x_14); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +x_20 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop(x_3, x_4, x_5, x_19, x_6, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15); +if (lean_obj_tag(x_20) == 0) +{ +lean_object* x_21; lean_object* x_22; uint8_t x_23; uint8_t x_24; uint8_t x_25; lean_object* x_26; +x_21 = lean_ctor_get(x_20, 0); +lean_inc(x_21); +x_22 = lean_ctor_get(x_20, 1); +lean_inc(x_22); +lean_dec(x_20); +x_23 = 0; +x_24 = 1; +x_25 = 1; +x_26 = l_Lean_Meta_mkLambdaFVars(x_2, x_21, x_23, x_24, x_25, x_11, x_12, x_13, x_14, x_22); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +return x_26; +} +else +{ +uint8_t x_27; +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_2); x_27 = !lean_is_exclusive(x_20); if (x_27 == 0) { @@ -798,63 +1819,838 @@ return x_30; } } } +static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__5___lambda__2___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("unexpected matcher application alternative"); +return x_1; } -static lean_object* _init_l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processRec___closed__1() { +} +static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__5___lambda__2___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_levelZero; -x_2 = l_Lean_mkSort(x_1); +x_1 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__5___lambda__2___closed__1; +x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processRec(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__5___lambda__2___closed__3() { _start: { -lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; uint8_t x_17; -x_13 = lean_unsigned_to_nat(0u); -x_14 = l_Lean_Expr_getAppNumArgsAux(x_5, x_13); -x_15 = lean_unsigned_to_nat(1u); -x_16 = lean_nat_add(x_2, x_15); -x_17 = lean_nat_dec_lt(x_14, x_16); -if (x_17 == 0) +lean_object* x_1; +x_1 = lean_mk_string("\nat application"); +return x_1; +} +} +static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__5___lambda__2___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__5___lambda__2___closed__3; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} +static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__5___lambda__2___closed__5() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string(""); +return x_1; +} +} +static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__5___lambda__2___closed__6() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__5___lambda__2___closed__5; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__5___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* 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_17; uint8_t x_18; +x_17 = lean_array_get_size(x_7); +x_18 = lean_nat_dec_le(x_1, x_17); +lean_dec(x_17); +if (x_18 == 0) +{ +lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; uint8_t x_29; +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_19 = l_Lean_indentExpr(x_5); +x_20 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__5___lambda__2___closed__2; +x_21 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_21, 0, x_20); +lean_ctor_set(x_21, 1, x_19); +x_22 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__5___lambda__2___closed__4; +x_23 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_23, 0, x_21); +lean_ctor_set(x_23, 1, x_22); +x_24 = l_Lean_indentExpr(x_6); +x_25 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_25, 0, x_23); +lean_ctor_set(x_25, 1, x_24); +x_26 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__5___lambda__2___closed__6; +x_27 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_27, 0, x_25); +lean_ctor_set(x_27, 1, x_26); +x_28 = l_Lean_throwError___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__3___rarg(x_27, x_9, x_10, x_11, x_12, x_13, x_14, x_15, 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_9); +x_29 = !lean_is_exclusive(x_28); +if (x_29 == 0) +{ +return x_28; +} +else +{ +lean_object* x_30; lean_object* x_31; lean_object* x_32; +x_30 = lean_ctor_get(x_28, 0); +x_31 = lean_ctor_get(x_28, 1); +lean_inc(x_31); +lean_inc(x_30); +lean_dec(x_28); +x_32 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_32, 0, x_30); +lean_ctor_set(x_32, 1, x_31); +return x_32; +} +} +else +{ +lean_object* x_33; lean_object* x_34; +lean_dec(x_6); +lean_dec(x_5); +x_33 = lean_box(0); +x_34 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__5___lambda__1(x_1, x_7, x_2, x_3, x_4, x_8, x_33, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16); +return x_34; +} +} +} +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__5(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, size_t x_5, size_t x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) { +_start: +{ +uint8_t x_16; +x_16 = lean_usize_dec_lt(x_6, x_5); +if (x_16 == 0) +{ +lean_object* x_17; +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_17 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_17, 0, x_7); +lean_ctor_set(x_17, 1, x_15); +return x_17; +} +else { lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; -x_18 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processRec___closed__1; +x_18 = lean_array_uget(x_7, x_6); +x_19 = lean_unsigned_to_nat(0u); +x_20 = lean_array_uset(x_7, x_6, x_19); +x_21 = lean_ctor_get(x_18, 0); +lean_inc(x_21); +x_22 = lean_ctor_get(x_18, 1); +lean_inc(x_22); +lean_dec(x_18); +lean_inc(x_4); +lean_inc(x_21); +lean_inc(x_3); +lean_inc(x_2); +lean_inc(x_1); +x_23 = lean_alloc_closure((void*)(l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__5___lambda__2___boxed), 16, 6); +lean_closure_set(x_23, 0, x_22); +lean_closure_set(x_23, 1, x_1); +lean_closure_set(x_23, 2, x_2); +lean_closure_set(x_23, 3, x_3); +lean_closure_set(x_23, 4, x_21); +lean_closure_set(x_23, 5, x_4); lean_inc(x_14); -x_19 = lean_mk_array(x_14, x_18); -x_20 = lean_nat_sub(x_14, x_15); -lean_dec(x_14); -x_21 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_5, x_19, x_20); -x_22 = l_Lean_instInhabitedExpr; -x_23 = lean_array_get(x_22, x_21, x_2); +lean_inc(x_13); +lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -lean_inc(x_1); -x_24 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop(x_1, x_2, x_3, x_4, x_23, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +x_24 = l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4___rarg(x_21, x_23, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15); if (lean_obj_tag(x_24) == 0) { -lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; +lean_object* x_25; lean_object* x_26; size_t x_27; size_t x_28; lean_object* x_29; x_25 = lean_ctor_get(x_24, 0); lean_inc(x_25); x_26 = lean_ctor_get(x_24, 1); lean_inc(x_26); lean_dec(x_24); -lean_inc(x_4); -x_27 = l_Lean_mkApp(x_4, x_25); +x_27 = 1; +x_28 = lean_usize_add(x_6, x_27); +x_29 = lean_array_uset(x_20, x_6, x_25); +x_6 = x_28; +x_7 = x_29; +x_15 = x_26; +goto _start; +} +else +{ +uint8_t x_31; +lean_dec(x_20); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_31 = !lean_is_exclusive(x_24); +if (x_31 == 0) +{ +return x_24; +} +else +{ +lean_object* x_32; lean_object* x_33; lean_object* x_34; +x_32 = lean_ctor_get(x_24, 0); +x_33 = lean_ctor_get(x_24, 1); +lean_inc(x_33); +lean_inc(x_32); +lean_dec(x_24); +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_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__6(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, size_t x_5, size_t x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) { +_start: +{ +uint8_t x_16; +x_16 = lean_usize_dec_lt(x_6, x_5); +if (x_16 == 0) +{ +lean_object* x_17; +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_17 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_17, 0, x_7); +lean_ctor_set(x_17, 1, x_15); +return x_17; +} +else +{ +lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_18 = lean_array_uget(x_7, x_6); +x_19 = lean_unsigned_to_nat(0u); +x_20 = lean_array_uset(x_7, x_6, x_19); +lean_inc(x_14); +lean_inc(x_13); +lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +lean_inc(x_1); +x_21 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop(x_1, x_2, x_3, x_4, x_18, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15); +if (lean_obj_tag(x_21) == 0) +{ +lean_object* x_22; lean_object* x_23; size_t x_24; size_t x_25; lean_object* x_26; +x_22 = lean_ctor_get(x_21, 0); +lean_inc(x_22); +x_23 = lean_ctor_get(x_21, 1); +lean_inc(x_23); +lean_dec(x_21); +x_24 = 1; +x_25 = lean_usize_add(x_6, x_24); +x_26 = lean_array_uset(x_20, x_6, x_22); +x_6 = x_25; +x_7 = x_26; +x_15 = x_23; +goto _start; +} +else +{ +uint8_t x_28; +lean_dec(x_20); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_28 = !lean_is_exclusive(x_21); +if (x_28 == 0) +{ +return x_21; +} +else +{ +lean_object* x_29; lean_object* x_30; lean_object* x_31; +x_29 = lean_ctor_get(x_21, 0); +x_30 = lean_ctor_get(x_21, 1); +lean_inc(x_30); +lean_inc(x_29); +lean_dec(x_21); +x_31 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_31, 0, x_29); +lean_ctor_set(x_31, 1, x_30); +return x_31; +} +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__7___rarg___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +_start: +{ +lean_object* x_11; +x_11 = lean_apply_9(x_1, x_5, x_2, x_3, x_4, x_6, x_7, x_8, x_9, x_10); +return x_11; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__7___rarg(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) { +_start: +{ +lean_object* x_13; lean_object* x_14; +x_13 = lean_alloc_closure((void*)(l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__7___rarg___lambda__1), 10, 4); +lean_closure_set(x_13, 0, x_4); +lean_closure_set(x_13, 1, x_5); +lean_closure_set(x_13, 2, x_6); +lean_closure_set(x_13, 3, x_7); +x_14 = l___private_Lean_Meta_Basic_0__Lean_Meta_withLocalDeclImp___rarg(x_1, x_2, x_3, x_13, x_8, x_9, x_10, x_11, x_12); +if (lean_obj_tag(x_14) == 0) +{ +uint8_t x_15; +x_15 = !lean_is_exclusive(x_14); +if (x_15 == 0) +{ +return x_14; +} +else +{ +lean_object* x_16; lean_object* x_17; lean_object* x_18; +x_16 = lean_ctor_get(x_14, 0); +x_17 = lean_ctor_get(x_14, 1); +lean_inc(x_17); +lean_inc(x_16); +lean_dec(x_14); +x_18 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_18, 0, x_16); +lean_ctor_set(x_18, 1, x_17); +return x_18; +} +} +else +{ +uint8_t x_19; +x_19 = !lean_is_exclusive(x_14); +if (x_19 == 0) +{ +return x_14; +} +else +{ +lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_20 = lean_ctor_get(x_14, 0); +x_21 = lean_ctor_get(x_14, 1); +lean_inc(x_21); +lean_inc(x_20); +lean_dec(x_14); +x_22 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_22, 0, x_20); +lean_ctor_set(x_22, 1, x_21); +return x_22; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__7(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = lean_alloc_closure((void*)(l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__7___rarg___boxed), 12, 0); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__8___rarg(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) { +_start: +{ +lean_object* x_13; lean_object* x_14; +x_13 = lean_alloc_closure((void*)(l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__7___rarg___lambda__1), 10, 4); +lean_closure_set(x_13, 0, x_4); +lean_closure_set(x_13, 1, x_5); +lean_closure_set(x_13, 2, x_6); +lean_closure_set(x_13, 3, x_7); +x_14 = l___private_Lean_Meta_Basic_0__Lean_Meta_withLocalDeclImp___rarg(x_1, x_2, x_3, x_13, x_8, x_9, x_10, x_11, x_12); +if (lean_obj_tag(x_14) == 0) +{ +uint8_t x_15; +x_15 = !lean_is_exclusive(x_14); +if (x_15 == 0) +{ +return x_14; +} +else +{ +lean_object* x_16; lean_object* x_17; lean_object* x_18; +x_16 = lean_ctor_get(x_14, 0); +x_17 = lean_ctor_get(x_14, 1); +lean_inc(x_17); +lean_inc(x_16); +lean_dec(x_14); +x_18 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_18, 0, x_16); +lean_ctor_set(x_18, 1, x_17); +return x_18; +} +} +else +{ +uint8_t x_19; +x_19 = !lean_is_exclusive(x_14); +if (x_19 == 0) +{ +return x_14; +} +else +{ +lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_20 = lean_ctor_get(x_14, 0); +x_21 = lean_ctor_get(x_14, 1); +lean_inc(x_21); +lean_inc(x_20); +lean_dec(x_14); +x_22 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_22, 0, x_20); +lean_ctor_set(x_22, 1, x_21); +return x_22; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__8(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = lean_alloc_closure((void*)(l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__8___rarg___boxed), 12, 0); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_withLetDecl___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__9___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +_start: +{ +lean_object* x_13; lean_object* x_14; +x_13 = lean_alloc_closure((void*)(l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__7___rarg___lambda__1), 10, 4); +lean_closure_set(x_13, 0, x_4); +lean_closure_set(x_13, 1, x_5); +lean_closure_set(x_13, 2, x_6); +lean_closure_set(x_13, 3, x_7); +x_14 = l___private_Lean_Meta_Basic_0__Lean_Meta_withLetDeclImp___rarg(x_1, x_2, x_3, x_13, x_8, x_9, x_10, x_11, x_12); +if (lean_obj_tag(x_14) == 0) +{ +uint8_t x_15; +x_15 = !lean_is_exclusive(x_14); +if (x_15 == 0) +{ +return x_14; +} +else +{ +lean_object* x_16; lean_object* x_17; lean_object* x_18; +x_16 = lean_ctor_get(x_14, 0); +x_17 = lean_ctor_get(x_14, 1); +lean_inc(x_17); +lean_inc(x_16); +lean_dec(x_14); +x_18 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_18, 0, x_16); +lean_ctor_set(x_18, 1, x_17); +return x_18; +} +} +else +{ +uint8_t x_19; +x_19 = !lean_is_exclusive(x_14); +if (x_19 == 0) +{ +return x_14; +} +else +{ +lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_20 = lean_ctor_get(x_14, 0); +x_21 = lean_ctor_get(x_14, 1); +lean_inc(x_21); +lean_inc(x_20); +lean_dec(x_14); +x_22 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_22, 0, x_20); +lean_ctor_set(x_22, 1, x_21); +return x_22; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_withLetDecl___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__9(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = lean_alloc_closure((void*)(l_Lean_Meta_withLetDecl___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__9___rarg), 12, 0); +return x_3; +} +} +static lean_object* _init_l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__1___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("failed to add functional argument to 'matcher' application"); +return x_1; +} +} +static lean_object* _init_l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__1___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__1___closed__1; +x_2 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__1___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__1___closed__2; +x_2 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_2 = l_Lean_indentD(x_1); +x_3 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__1___closed__3; +x_4 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_4, 0, x_3); +lean_ctor_set(x_4, 1, x_2); +return x_4; +} +} +LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +_start: +{ +lean_object* x_15; lean_object* x_16; +x_15 = lean_expr_instantiate1(x_1, x_6); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +x_16 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop(x_2, x_3, x_4, x_5, x_15, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +if (lean_obj_tag(x_16) == 0) +{ +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; uint8_t x_21; uint8_t x_22; uint8_t x_23; lean_object* x_24; +x_17 = lean_ctor_get(x_16, 0); +lean_inc(x_17); +x_18 = lean_ctor_get(x_16, 1); +lean_inc(x_18); +lean_dec(x_16); +x_19 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_applyDefaultDecrTactic___lambda__1___closed__4; +x_20 = lean_array_push(x_19, x_6); +x_21 = 0; +x_22 = 1; +x_23 = 1; +x_24 = l_Lean_Meta_mkLambdaFVars(x_20, x_17, x_21, x_22, x_23, x_10, x_11, x_12, x_13, x_18); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +return x_24; +} +else +{ +uint8_t x_25; +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_6); +x_25 = !lean_is_exclusive(x_16); +if (x_25 == 0) +{ +return x_16; +} +else +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_26 = lean_ctor_get(x_16, 0); +x_27 = lean_ctor_get(x_16, 1); lean_inc(x_27); -x_28 = lean_infer_type(x_27, x_8, x_9, x_10, x_11, x_26); +lean_inc(x_26); +lean_dec(x_16); +x_28 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_28, 0, x_26); +lean_ctor_set(x_28, 1, x_27); +return x_28; +} +} +} +} +LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +_start: +{ +lean_object* x_15; lean_object* x_16; +x_15 = lean_expr_instantiate1(x_1, x_6); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +x_16 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop(x_2, x_3, x_4, x_5, x_15, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +if (lean_obj_tag(x_16) == 0) +{ +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; uint8_t x_21; uint8_t x_22; uint8_t x_23; lean_object* x_24; +x_17 = lean_ctor_get(x_16, 0); +lean_inc(x_17); +x_18 = lean_ctor_get(x_16, 1); +lean_inc(x_18); +lean_dec(x_16); +x_19 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_applyDefaultDecrTactic___lambda__1___closed__4; +x_20 = lean_array_push(x_19, x_6); +x_21 = 0; +x_22 = 1; +x_23 = 1; +x_24 = l_Lean_Meta_mkForallFVars(x_20, x_17, x_21, x_22, x_23, x_10, x_11, x_12, x_13, x_18); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +return x_24; +} +else +{ +uint8_t x_25; +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_6); +x_25 = !lean_is_exclusive(x_16); +if (x_25 == 0) +{ +return x_16; +} +else +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_26 = lean_ctor_get(x_16, 0); +x_27 = lean_ctor_get(x_16, 1); +lean_inc(x_27); +lean_inc(x_26); +lean_dec(x_16); +x_28 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_28, 0, x_26); +lean_ctor_set(x_28, 1, x_27); +return x_28; +} +} +} +} +LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +_start: +{ +lean_object* x_15; lean_object* x_16; +x_15 = lean_expr_instantiate1(x_1, x_6); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +x_16 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop(x_2, x_3, x_4, x_5, x_15, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +if (lean_obj_tag(x_16) == 0) +{ +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_17 = lean_ctor_get(x_16, 0); +lean_inc(x_17); +x_18 = lean_ctor_get(x_16, 1); +lean_inc(x_18); +lean_dec(x_16); +x_19 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_applyDefaultDecrTactic___lambda__1___closed__4; +x_20 = lean_array_push(x_19, x_6); +x_21 = 0; +x_22 = 1; +x_23 = l_Lean_Meta_mkLambdaFVars(x_20, x_17, x_21, x_21, x_22, x_10, x_11, x_12, x_13, x_18); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +return x_23; +} +else +{ +uint8_t x_24; +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_6); +x_24 = !lean_is_exclusive(x_16); +if (x_24 == 0) +{ +return x_16; +} +else +{ +lean_object* x_25; lean_object* x_26; lean_object* x_27; +x_25 = lean_ctor_get(x_16, 0); +x_26 = lean_ctor_get(x_16, 1); +lean_inc(x_26); +lean_inc(x_25); +lean_dec(x_16); +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; +} +} +} +} +static lean_object* _init_l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__5___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__1), 1, 0); +return x_1; +} +} +LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__5(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +_start: +{ +lean_dec(x_6); +switch (lean_obj_tag(x_1)) { +case 4: +{ +uint8_t x_15; +x_15 = l_Lean_Expr_isConstOf(x_1, x_2); +if (x_15 == 0) +{ +lean_object* x_16; +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_16 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_16, 0, x_1); +lean_ctor_set(x_16, 1, x_14); +return x_16; +} +else +{ +lean_object* x_17; +x_17 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processRec(x_2, x_3, x_4, x_5, x_1, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +return x_17; +} +} +case 5: +{ +lean_object* x_18; lean_object* x_19; +lean_inc(x_1); +x_18 = l_Lean_Meta_matchMatcherApp_x3f___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__1(x_2, x_1, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +x_19 = lean_ctor_get(x_18, 0); +lean_inc(x_19); +if (lean_obj_tag(x_19) == 0) +{ +lean_object* x_20; lean_object* x_21; +x_20 = lean_ctor_get(x_18, 1); +lean_inc(x_20); +lean_dec(x_18); +x_21 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processApp(x_2, x_3, x_4, x_5, x_1, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_20); +return x_21; +} +else +{ +lean_object* x_22; lean_object* x_23; uint8_t x_24; +x_22 = lean_ctor_get(x_18, 1); +lean_inc(x_22); +lean_dec(x_18); +x_23 = lean_ctor_get(x_19, 0); +lean_inc(x_23); +lean_dec(x_19); +lean_inc(x_1); +lean_inc(x_3); +lean_inc(x_2); +x_24 = l_Lean_Elab_Structural_recArgHasLooseBVarsAt(x_2, x_3, x_1); +if (x_24 == 0) +{ +lean_object* x_25; +lean_dec(x_23); +x_25 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processApp(x_2, x_3, x_4, x_5, x_1, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_22); +return x_25; +} +else +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; +lean_inc(x_5); +x_26 = lean_alloc_closure((void*)(l_Lean_Meta_MatcherApp_addArg), 7, 2); +lean_closure_set(x_26, 0, x_23); +lean_closure_set(x_26, 1, x_5); +x_27 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__5___closed__1; +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +x_28 = l_Lean_Meta_mapErrorImp___rarg(x_26, x_27, x_10, x_11, x_12, x_13, x_22); if (lean_obj_tag(x_28) == 0) { lean_object* x_29; lean_object* x_30; lean_object* x_31; @@ -863,264 +2659,926 @@ lean_inc(x_29); x_30 = lean_ctor_get(x_28, 1); lean_inc(x_30); lean_dec(x_28); +lean_inc(x_13); +lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -x_31 = lean_whnf(x_29, x_8, x_9, x_10, x_11, x_30); +lean_inc(x_5); +lean_inc(x_29); +x_31 = l_Lean_Elab_Structural_refinedArgType(x_29, x_5, x_10, x_11, x_12, x_13, x_30); if (lean_obj_tag(x_31) == 0) { -lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; +lean_object* x_32; uint8_t x_33; x_32 = lean_ctor_get(x_31, 0); lean_inc(x_32); -x_33 = lean_ctor_get(x_31, 1); -lean_inc(x_33); -lean_dec(x_31); -x_34 = l_Lean_Expr_bindingDomain_x21(x_32); +x_33 = lean_unbox(x_32); lean_dec(x_32); +if (x_33 == 0) +{ +lean_object* x_34; lean_object* x_35; +lean_dec(x_29); +x_34 = lean_ctor_get(x_31, 1); +lean_inc(x_34); +lean_dec(x_31); +x_35 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processApp(x_2, x_3, x_4, x_5, x_1, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_34); +return x_35; +} +else +{ +lean_object* x_36; uint8_t x_37; +x_36 = lean_ctor_get(x_31, 1); +lean_inc(x_36); +lean_dec(x_31); +x_37 = !lean_is_exclusive(x_29); +if (x_37 == 0) +{ +lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; size_t x_49; size_t x_50; lean_object* x_51; +x_38 = lean_ctor_get(x_29, 0); +x_39 = lean_ctor_get(x_29, 1); +x_40 = lean_ctor_get(x_29, 2); +x_41 = lean_ctor_get(x_29, 3); +x_42 = lean_ctor_get(x_29, 4); +x_43 = lean_ctor_get(x_29, 5); +x_44 = lean_ctor_get(x_29, 6); +x_45 = lean_ctor_get(x_29, 7); +x_46 = lean_ctor_get(x_29, 8); +x_47 = l_Array_zip___rarg(x_45, x_44); +lean_dec(x_45); +x_48 = lean_array_get_size(x_47); +x_49 = lean_usize_of_nat(x_48); +lean_dec(x_48); +x_50 = 0; +lean_inc(x_13); +lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); -lean_inc(x_6); +lean_inc(x_4); lean_inc(x_3); -x_35 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_mkDecreasingProof(x_34, x_3, x_6, x_7, x_8, x_9, x_10, x_11, x_33); -if (lean_obj_tag(x_35) == 0) +lean_inc(x_2); +x_51 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__5(x_2, x_3, x_4, x_1, x_49, x_50, x_47, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_36); +if (lean_obj_tag(x_51) == 0) { -lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; size_t x_43; size_t x_44; lean_object* x_45; -x_36 = lean_ctor_get(x_35, 0); -lean_inc(x_36); -x_37 = lean_ctor_get(x_35, 1); -lean_inc(x_37); -lean_dec(x_35); -x_38 = l_Lean_mkApp(x_27, x_36); -x_39 = lean_array_get_size(x_21); -x_40 = l_Array_toSubarray___rarg(x_21, x_16, x_39); -x_41 = l_Array_ofSubarray___rarg(x_40); -x_42 = lean_array_get_size(x_41); -x_43 = lean_usize_of_nat(x_42); -lean_dec(x_42); -x_44 = 0; -x_45 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processRec___spec__1(x_1, x_2, x_3, x_4, x_43, x_44, x_41, x_6, x_7, x_8, x_9, x_10, x_11, x_37); -if (lean_obj_tag(x_45) == 0) -{ -uint8_t x_46; -x_46 = !lean_is_exclusive(x_45); -if (x_46 == 0) -{ -lean_object* x_47; lean_object* x_48; -x_47 = lean_ctor_get(x_45, 0); -x_48 = l_Lean_mkAppN(x_38, x_47); -lean_ctor_set(x_45, 0, x_48); -return x_45; -} -else -{ -lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; -x_49 = lean_ctor_get(x_45, 0); -x_50 = lean_ctor_get(x_45, 1); -lean_inc(x_50); -lean_inc(x_49); -lean_dec(x_45); -x_51 = l_Lean_mkAppN(x_38, x_49); -x_52 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_52, 0, x_51); -lean_ctor_set(x_52, 1, x_50); -return x_52; -} -} -else -{ -uint8_t x_53; -lean_dec(x_38); -x_53 = !lean_is_exclusive(x_45); -if (x_53 == 0) -{ -return x_45; -} -else -{ -lean_object* x_54; lean_object* x_55; lean_object* x_56; -x_54 = lean_ctor_get(x_45, 0); -x_55 = lean_ctor_get(x_45, 1); -lean_inc(x_55); -lean_inc(x_54); -lean_dec(x_45); -x_56 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_56, 0, x_54); -lean_ctor_set(x_56, 1, x_55); -return x_56; -} -} -} -else +lean_object* x_52; lean_object* x_53; lean_object* x_54; size_t x_55; lean_object* x_56; +x_52 = lean_ctor_get(x_51, 0); +lean_inc(x_52); +x_53 = lean_ctor_get(x_51, 1); +lean_inc(x_53); +lean_dec(x_51); +x_54 = lean_array_get_size(x_43); +x_55 = lean_usize_of_nat(x_54); +lean_dec(x_54); +x_56 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__6(x_2, x_3, x_4, x_5, x_55, x_50, x_43, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_53); +if (lean_obj_tag(x_56) == 0) { uint8_t x_57; -lean_dec(x_27); -lean_dec(x_21); -lean_dec(x_16); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_57 = !lean_is_exclusive(x_35); +x_57 = !lean_is_exclusive(x_56); if (x_57 == 0) { -return x_35; +lean_object* x_58; lean_object* x_59; +x_58 = lean_ctor_get(x_56, 0); +lean_ctor_set(x_29, 7, x_52); +lean_ctor_set(x_29, 5, x_58); +x_59 = l_Lean_Meta_MatcherApp_toExpr(x_29); +lean_ctor_set(x_56, 0, x_59); +return x_56; } else { -lean_object* x_58; lean_object* x_59; lean_object* x_60; -x_58 = lean_ctor_get(x_35, 0); -x_59 = lean_ctor_get(x_35, 1); -lean_inc(x_59); -lean_inc(x_58); -lean_dec(x_35); -x_60 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_60, 0, x_58); -lean_ctor_set(x_60, 1, x_59); -return x_60; +lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; +x_60 = lean_ctor_get(x_56, 0); +x_61 = lean_ctor_get(x_56, 1); +lean_inc(x_61); +lean_inc(x_60); +lean_dec(x_56); +lean_ctor_set(x_29, 7, x_52); +lean_ctor_set(x_29, 5, x_60); +x_62 = l_Lean_Meta_MatcherApp_toExpr(x_29); +x_63 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_63, 0, x_62); +lean_ctor_set(x_63, 1, x_61); +return x_63; +} +} +else +{ +uint8_t x_64; +lean_dec(x_52); +lean_free_object(x_29); +lean_dec(x_46); +lean_dec(x_44); +lean_dec(x_42); +lean_dec(x_41); +lean_dec(x_40); +lean_dec(x_39); +lean_dec(x_38); +x_64 = !lean_is_exclusive(x_56); +if (x_64 == 0) +{ +return x_56; +} +else +{ +lean_object* x_65; lean_object* x_66; lean_object* x_67; +x_65 = lean_ctor_get(x_56, 0); +x_66 = lean_ctor_get(x_56, 1); +lean_inc(x_66); +lean_inc(x_65); +lean_dec(x_56); +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 { -uint8_t x_61; -lean_dec(x_27); -lean_dec(x_21); -lean_dec(x_16); +uint8_t x_68; +lean_free_object(x_29); +lean_dec(x_46); +lean_dec(x_44); +lean_dec(x_43); +lean_dec(x_42); +lean_dec(x_41); +lean_dec(x_40); +lean_dec(x_39); +lean_dec(x_38); +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); -lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_68 = !lean_is_exclusive(x_51); +if (x_68 == 0) +{ +return x_51; +} +else +{ +lean_object* x_69; lean_object* x_70; lean_object* x_71; +x_69 = lean_ctor_get(x_51, 0); +x_70 = lean_ctor_get(x_51, 1); +lean_inc(x_70); +lean_inc(x_69); +lean_dec(x_51); +x_71 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_71, 0, x_69); +lean_ctor_set(x_71, 1, x_70); +return x_71; +} +} +} +else +{ +lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; size_t x_83; size_t x_84; lean_object* x_85; +x_72 = lean_ctor_get(x_29, 0); +x_73 = lean_ctor_get(x_29, 1); +x_74 = lean_ctor_get(x_29, 2); +x_75 = lean_ctor_get(x_29, 3); +x_76 = lean_ctor_get(x_29, 4); +x_77 = lean_ctor_get(x_29, 5); +x_78 = lean_ctor_get(x_29, 6); +x_79 = lean_ctor_get(x_29, 7); +x_80 = lean_ctor_get(x_29, 8); +lean_inc(x_80); +lean_inc(x_79); +lean_inc(x_78); +lean_inc(x_77); +lean_inc(x_76); +lean_inc(x_75); +lean_inc(x_74); +lean_inc(x_73); +lean_inc(x_72); +lean_dec(x_29); +x_81 = l_Array_zip___rarg(x_79, x_78); +lean_dec(x_79); +x_82 = lean_array_get_size(x_81); +x_83 = lean_usize_of_nat(x_82); +lean_dec(x_82); +x_84 = 0; +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_85 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__5(x_2, x_3, x_4, x_1, x_83, x_84, x_81, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_36); +if (lean_obj_tag(x_85) == 0) +{ +lean_object* x_86; lean_object* x_87; lean_object* x_88; size_t x_89; lean_object* x_90; +x_86 = lean_ctor_get(x_85, 0); +lean_inc(x_86); +x_87 = lean_ctor_get(x_85, 1); +lean_inc(x_87); +lean_dec(x_85); +x_88 = lean_array_get_size(x_77); +x_89 = lean_usize_of_nat(x_88); +lean_dec(x_88); +x_90 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__6(x_2, x_3, x_4, x_5, x_89, x_84, x_77, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_87); +if (lean_obj_tag(x_90) == 0) +{ +lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; +x_91 = lean_ctor_get(x_90, 0); +lean_inc(x_91); +x_92 = lean_ctor_get(x_90, 1); +lean_inc(x_92); +if (lean_is_exclusive(x_90)) { + lean_ctor_release(x_90, 0); + lean_ctor_release(x_90, 1); + x_93 = x_90; +} else { + lean_dec_ref(x_90); + x_93 = lean_box(0); +} +x_94 = lean_alloc_ctor(0, 9, 0); +lean_ctor_set(x_94, 0, x_72); +lean_ctor_set(x_94, 1, x_73); +lean_ctor_set(x_94, 2, x_74); +lean_ctor_set(x_94, 3, x_75); +lean_ctor_set(x_94, 4, x_76); +lean_ctor_set(x_94, 5, x_91); +lean_ctor_set(x_94, 6, x_78); +lean_ctor_set(x_94, 7, x_86); +lean_ctor_set(x_94, 8, x_80); +x_95 = l_Lean_Meta_MatcherApp_toExpr(x_94); +if (lean_is_scalar(x_93)) { + x_96 = lean_alloc_ctor(0, 2, 0); +} else { + x_96 = x_93; +} +lean_ctor_set(x_96, 0, x_95); +lean_ctor_set(x_96, 1, x_92); +return x_96; +} +else +{ +lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; +lean_dec(x_86); +lean_dec(x_80); +lean_dec(x_78); +lean_dec(x_76); +lean_dec(x_75); +lean_dec(x_74); +lean_dec(x_73); +lean_dec(x_72); +x_97 = lean_ctor_get(x_90, 0); +lean_inc(x_97); +x_98 = lean_ctor_get(x_90, 1); +lean_inc(x_98); +if (lean_is_exclusive(x_90)) { + lean_ctor_release(x_90, 0); + lean_ctor_release(x_90, 1); + x_99 = x_90; +} else { + lean_dec_ref(x_90); + x_99 = lean_box(0); +} +if (lean_is_scalar(x_99)) { + x_100 = lean_alloc_ctor(1, 2, 0); +} else { + x_100 = x_99; +} +lean_ctor_set(x_100, 0, x_97); +lean_ctor_set(x_100, 1, x_98); +return x_100; +} +} +else +{ +lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; +lean_dec(x_80); +lean_dec(x_78); +lean_dec(x_77); +lean_dec(x_76); +lean_dec(x_75); +lean_dec(x_74); +lean_dec(x_73); +lean_dec(x_72); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_101 = lean_ctor_get(x_85, 0); +lean_inc(x_101); +x_102 = lean_ctor_get(x_85, 1); +lean_inc(x_102); +if (lean_is_exclusive(x_85)) { + lean_ctor_release(x_85, 0); + lean_ctor_release(x_85, 1); + x_103 = x_85; +} else { + lean_dec_ref(x_85); + x_103 = lean_box(0); +} +if (lean_is_scalar(x_103)) { + x_104 = lean_alloc_ctor(1, 2, 0); +} else { + x_104 = x_103; +} +lean_ctor_set(x_104, 0, x_101); +lean_ctor_set(x_104, 1, x_102); +return x_104; +} +} +} +} +else +{ +uint8_t x_105; +lean_dec(x_29); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_61 = !lean_is_exclusive(x_31); -if (x_61 == 0) +x_105 = !lean_is_exclusive(x_31); +if (x_105 == 0) { return x_31; } else { -lean_object* x_62; lean_object* x_63; lean_object* x_64; -x_62 = lean_ctor_get(x_31, 0); -x_63 = lean_ctor_get(x_31, 1); -lean_inc(x_63); -lean_inc(x_62); +lean_object* x_106; lean_object* x_107; lean_object* x_108; +x_106 = lean_ctor_get(x_31, 0); +x_107 = lean_ctor_get(x_31, 1); +lean_inc(x_107); +lean_inc(x_106); lean_dec(x_31); -x_64 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_64, 0, x_62); -lean_ctor_set(x_64, 1, x_63); -return x_64; +x_108 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_108, 0, x_106); +lean_ctor_set(x_108, 1, x_107); +return x_108; } } } else { -uint8_t x_65; -lean_dec(x_27); -lean_dec(x_21); -lean_dec(x_16); +uint8_t x_109; +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_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_65 = !lean_is_exclusive(x_28); -if (x_65 == 0) +x_109 = !lean_is_exclusive(x_28); +if (x_109 == 0) { return x_28; } else { -lean_object* x_66; lean_object* x_67; lean_object* x_68; -x_66 = lean_ctor_get(x_28, 0); -x_67 = lean_ctor_get(x_28, 1); -lean_inc(x_67); -lean_inc(x_66); +lean_object* x_110; lean_object* x_111; lean_object* x_112; +x_110 = lean_ctor_get(x_28, 0); +x_111 = lean_ctor_get(x_28, 1); +lean_inc(x_111); +lean_inc(x_110); lean_dec(x_28); -x_68 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_68, 0, x_66); -lean_ctor_set(x_68, 1, x_67); -return x_68; +x_112 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_112, 0, x_110); +lean_ctor_set(x_112, 1, x_111); +return x_112; } } } -else +} +} +case 6: { -uint8_t x_69; -lean_dec(x_21); -lean_dec(x_16); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); +lean_object* x_113; lean_object* x_114; lean_object* x_115; uint64_t x_116; lean_object* x_117; +x_113 = lean_ctor_get(x_1, 0); +lean_inc(x_113); +x_114 = lean_ctor_get(x_1, 1); +lean_inc(x_114); +x_115 = lean_ctor_get(x_1, 2); +lean_inc(x_115); +x_116 = lean_ctor_get_uint64(x_1, sizeof(void*)*3); lean_dec(x_1); -x_69 = !lean_is_exclusive(x_24); -if (x_69 == 0) -{ -return x_24; -} -else -{ -lean_object* x_70; lean_object* x_71; lean_object* x_72; -x_70 = lean_ctor_get(x_24, 0); -x_71 = lean_ctor_get(x_24, 1); -lean_inc(x_71); -lean_inc(x_70); -lean_dec(x_24); -x_72 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_72, 0, x_70); -lean_ctor_set(x_72, 1, x_71); -return x_72; -} -} -} -else -{ -lean_object* x_73; -lean_dec(x_16); -lean_dec(x_14); +lean_inc(x_13); +lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); -x_73 = l_Lean_Meta_etaExpand(x_5, x_8, x_9, x_10, x_11, x_12); -if (lean_obj_tag(x_73) == 0) +lean_inc(x_7); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_117 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop(x_2, x_3, x_4, x_5, x_114, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +if (lean_obj_tag(x_117) == 0) { -lean_object* x_74; lean_object* x_75; lean_object* x_76; -x_74 = lean_ctor_get(x_73, 0); -lean_inc(x_74); -x_75 = lean_ctor_get(x_73, 1); -lean_inc(x_75); -lean_dec(x_73); -x_76 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop(x_1, x_2, x_3, x_4, x_74, x_6, x_7, x_8, x_9, x_10, x_11, x_75); -return x_76; +lean_object* x_118; lean_object* x_119; uint8_t x_120; lean_object* x_121; lean_object* x_122; +x_118 = lean_ctor_get(x_117, 0); +lean_inc(x_118); +x_119 = lean_ctor_get(x_117, 1); +lean_inc(x_119); +lean_dec(x_117); +x_120 = (uint8_t)((x_116 << 24) >> 61); +x_121 = lean_alloc_closure((void*)(l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__2___boxed), 14, 5); +lean_closure_set(x_121, 0, x_115); +lean_closure_set(x_121, 1, x_2); +lean_closure_set(x_121, 2, x_3); +lean_closure_set(x_121, 3, x_4); +lean_closure_set(x_121, 4, x_5); +x_122 = l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__7___rarg(x_113, x_120, x_118, x_121, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_119); +return x_122; } else { -uint8_t x_77; +uint8_t x_123; +lean_dec(x_115); +lean_dec(x_113); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_123 = !lean_is_exclusive(x_117); +if (x_123 == 0) +{ +return x_117; +} +else +{ +lean_object* x_124; lean_object* x_125; lean_object* x_126; +x_124 = lean_ctor_get(x_117, 0); +x_125 = lean_ctor_get(x_117, 1); +lean_inc(x_125); +lean_inc(x_124); +lean_dec(x_117); +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; +} +} +} +case 7: +{ +lean_object* x_127; lean_object* x_128; lean_object* x_129; uint64_t x_130; lean_object* x_131; +x_127 = lean_ctor_get(x_1, 0); +lean_inc(x_127); +x_128 = lean_ctor_get(x_1, 1); +lean_inc(x_128); +x_129 = lean_ctor_get(x_1, 2); +lean_inc(x_129); +x_130 = lean_ctor_get_uint64(x_1, sizeof(void*)*3); +lean_dec(x_1); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_131 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop(x_2, x_3, x_4, x_5, x_128, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +if (lean_obj_tag(x_131) == 0) +{ +lean_object* x_132; lean_object* x_133; uint8_t x_134; lean_object* x_135; lean_object* x_136; +x_132 = lean_ctor_get(x_131, 0); +lean_inc(x_132); +x_133 = lean_ctor_get(x_131, 1); +lean_inc(x_133); +lean_dec(x_131); +x_134 = (uint8_t)((x_130 << 24) >> 61); +x_135 = lean_alloc_closure((void*)(l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__3___boxed), 14, 5); +lean_closure_set(x_135, 0, x_129); +lean_closure_set(x_135, 1, x_2); +lean_closure_set(x_135, 2, x_3); +lean_closure_set(x_135, 3, x_4); +lean_closure_set(x_135, 4, x_5); +x_136 = l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__8___rarg(x_127, x_134, x_132, x_135, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_133); +return x_136; +} +else +{ +uint8_t x_137; +lean_dec(x_129); +lean_dec(x_127); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_137 = !lean_is_exclusive(x_131); +if (x_137 == 0) +{ +return x_131; +} +else +{ +lean_object* x_138; lean_object* x_139; lean_object* x_140; +x_138 = lean_ctor_get(x_131, 0); +x_139 = lean_ctor_get(x_131, 1); +lean_inc(x_139); +lean_inc(x_138); +lean_dec(x_131); +x_140 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_140, 0, x_138); +lean_ctor_set(x_140, 1, x_139); +return x_140; +} +} +} +case 8: +{ +lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145; +x_141 = lean_ctor_get(x_1, 0); +lean_inc(x_141); +x_142 = lean_ctor_get(x_1, 1); +lean_inc(x_142); +x_143 = lean_ctor_get(x_1, 2); +lean_inc(x_143); +x_144 = lean_ctor_get(x_1, 3); +lean_inc(x_144); +lean_dec(x_1); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_145 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop(x_2, x_3, x_4, x_5, x_142, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +if (lean_obj_tag(x_145) == 0) +{ +lean_object* x_146; lean_object* x_147; lean_object* x_148; +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); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_148 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop(x_2, x_3, x_4, x_5, x_143, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_147); +if (lean_obj_tag(x_148) == 0) +{ +lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; +x_149 = lean_ctor_get(x_148, 0); +lean_inc(x_149); +x_150 = lean_ctor_get(x_148, 1); +lean_inc(x_150); +lean_dec(x_148); +x_151 = lean_alloc_closure((void*)(l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__4___boxed), 14, 5); +lean_closure_set(x_151, 0, x_144); +lean_closure_set(x_151, 1, x_2); +lean_closure_set(x_151, 2, x_3); +lean_closure_set(x_151, 3, x_4); +lean_closure_set(x_151, 4, x_5); +x_152 = l_Lean_Meta_withLetDecl___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__9___rarg(x_141, x_146, x_149, x_151, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_150); +return x_152; +} +else +{ +uint8_t x_153; +lean_dec(x_146); +lean_dec(x_144); +lean_dec(x_141); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_153 = !lean_is_exclusive(x_148); +if (x_153 == 0) +{ +return x_148; +} +else +{ +lean_object* x_154; lean_object* x_155; lean_object* x_156; +x_154 = lean_ctor_get(x_148, 0); +x_155 = lean_ctor_get(x_148, 1); +lean_inc(x_155); +lean_inc(x_154); +lean_dec(x_148); +x_156 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_156, 0, x_154); +lean_ctor_set(x_156, 1, x_155); +return x_156; +} +} +} +else +{ +uint8_t x_157; +lean_dec(x_144); +lean_dec(x_143); +lean_dec(x_141); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_157 = !lean_is_exclusive(x_145); +if (x_157 == 0) +{ +return x_145; +} +else +{ +lean_object* x_158; lean_object* x_159; lean_object* x_160; +x_158 = lean_ctor_get(x_145, 0); +x_159 = lean_ctor_get(x_145, 1); +lean_inc(x_159); +lean_inc(x_158); +lean_dec(x_145); +x_160 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_160, 0, x_158); +lean_ctor_set(x_160, 1, x_159); +return x_160; +} +} +} +case 10: +{ +lean_object* x_161; lean_object* x_162; lean_object* x_163; +x_161 = lean_ctor_get(x_1, 0); +lean_inc(x_161); +x_162 = lean_ctor_get(x_1, 1); +lean_inc(x_162); +x_163 = l_Lean_getRecAppSyntax_x3f(x_1); +lean_dec(x_1); +if (lean_obj_tag(x_163) == 0) +{ +lean_object* x_164; +x_164 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop(x_2, x_3, x_4, x_5, x_162, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +if (lean_obj_tag(x_164) == 0) +{ +uint8_t x_165; +x_165 = !lean_is_exclusive(x_164); +if (x_165 == 0) +{ +lean_object* x_166; lean_object* x_167; +x_166 = lean_ctor_get(x_164, 0); +x_167 = l_Lean_mkMData(x_161, x_166); +lean_ctor_set(x_164, 0, x_167); +return x_164; +} +else +{ +lean_object* x_168; lean_object* x_169; lean_object* x_170; lean_object* x_171; +x_168 = lean_ctor_get(x_164, 0); +x_169 = lean_ctor_get(x_164, 1); +lean_inc(x_169); +lean_inc(x_168); +lean_dec(x_164); +x_170 = l_Lean_mkMData(x_161, x_168); +x_171 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_171, 0, x_170); +lean_ctor_set(x_171, 1, x_169); +return x_171; +} +} +else +{ +uint8_t x_172; +lean_dec(x_161); +x_172 = !lean_is_exclusive(x_164); +if (x_172 == 0) +{ +return x_164; +} +else +{ +lean_object* x_173; lean_object* x_174; lean_object* x_175; +x_173 = lean_ctor_get(x_164, 0); +x_174 = lean_ctor_get(x_164, 1); +lean_inc(x_174); +lean_inc(x_173); +lean_dec(x_164); +x_175 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_175, 0, x_173); +lean_ctor_set(x_175, 1, x_174); +return x_175; +} +} +} +else +{ +lean_object* x_176; uint8_t x_177; +lean_dec(x_161); +x_176 = lean_ctor_get(x_163, 0); +lean_inc(x_176); +lean_dec(x_163); +x_177 = !lean_is_exclusive(x_12); +if (x_177 == 0) +{ +lean_object* x_178; lean_object* x_179; lean_object* x_180; +x_178 = lean_ctor_get(x_12, 3); +x_179 = l_Lean_replaceRef(x_176, x_178); +lean_dec(x_178); +lean_dec(x_176); +lean_ctor_set(x_12, 3, x_179); +x_180 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop(x_2, x_3, x_4, x_5, x_162, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +return x_180; +} +else +{ +lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192; +x_181 = lean_ctor_get(x_12, 0); +x_182 = lean_ctor_get(x_12, 1); +x_183 = lean_ctor_get(x_12, 2); +x_184 = lean_ctor_get(x_12, 3); +x_185 = lean_ctor_get(x_12, 4); +x_186 = lean_ctor_get(x_12, 5); +x_187 = lean_ctor_get(x_12, 6); +x_188 = lean_ctor_get(x_12, 7); +x_189 = lean_ctor_get(x_12, 8); +lean_inc(x_189); +lean_inc(x_188); +lean_inc(x_187); +lean_inc(x_186); +lean_inc(x_185); +lean_inc(x_184); +lean_inc(x_183); +lean_inc(x_182); +lean_inc(x_181); +lean_dec(x_12); +x_190 = l_Lean_replaceRef(x_176, x_184); +lean_dec(x_184); +lean_dec(x_176); +x_191 = lean_alloc_ctor(0, 9, 0); +lean_ctor_set(x_191, 0, x_181); +lean_ctor_set(x_191, 1, x_182); +lean_ctor_set(x_191, 2, x_183); +lean_ctor_set(x_191, 3, x_190); +lean_ctor_set(x_191, 4, x_185); +lean_ctor_set(x_191, 5, x_186); +lean_ctor_set(x_191, 6, x_187); +lean_ctor_set(x_191, 7, x_188); +lean_ctor_set(x_191, 8, x_189); +x_192 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop(x_2, x_3, x_4, x_5, x_162, x_7, x_8, x_9, x_10, x_11, x_191, x_13, x_14); +return x_192; +} +} +} +case 11: +{ +lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196; +x_193 = lean_ctor_get(x_1, 0); +lean_inc(x_193); +x_194 = lean_ctor_get(x_1, 1); +lean_inc(x_194); +x_195 = lean_ctor_get(x_1, 2); +lean_inc(x_195); +lean_dec(x_1); +x_196 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop(x_2, x_3, x_4, x_5, x_195, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +if (lean_obj_tag(x_196) == 0) +{ +uint8_t x_197; +x_197 = !lean_is_exclusive(x_196); +if (x_197 == 0) +{ +lean_object* x_198; lean_object* x_199; +x_198 = lean_ctor_get(x_196, 0); +x_199 = l_Lean_mkProj(x_193, x_194, x_198); +lean_ctor_set(x_196, 0, x_199); +return x_196; +} +else +{ +lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; +x_200 = lean_ctor_get(x_196, 0); +x_201 = lean_ctor_get(x_196, 1); +lean_inc(x_201); +lean_inc(x_200); +lean_dec(x_196); +x_202 = l_Lean_mkProj(x_193, x_194, x_200); +x_203 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_203, 0, x_202); +lean_ctor_set(x_203, 1, x_201); +return x_203; +} +} +else +{ +uint8_t x_204; +lean_dec(x_194); +lean_dec(x_193); +x_204 = !lean_is_exclusive(x_196); +if (x_204 == 0) +{ +return x_196; +} +else +{ +lean_object* x_205; lean_object* x_206; lean_object* x_207; +x_205 = lean_ctor_get(x_196, 0); +x_206 = lean_ctor_get(x_196, 1); +lean_inc(x_206); +lean_inc(x_205); +lean_dec(x_196); +x_207 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_207, 0, x_205); +lean_ctor_set(x_207, 1, x_206); +return x_207; +} +} +} +default: +{ +lean_object* x_208; +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_208 = l_Lean_Elab_ensureNoRecFn(x_2, x_1, x_10, x_11, x_12, x_13, x_14); +return x_208; +} +} +} +} +LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +_start: +{ +lean_object* x_14; lean_object* x_15; uint8_t x_16; +lean_inc(x_5); +x_14 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_containsRecFn(x_1, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +x_15 = lean_ctor_get(x_14, 0); +lean_inc(x_15); +x_16 = lean_unbox(x_15); +lean_dec(x_15); +if (x_16 == 0) +{ +uint8_t x_17; +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); @@ -1131,407 +3589,602 @@ lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_77 = !lean_is_exclusive(x_73); -if (x_77 == 0) +x_17 = !lean_is_exclusive(x_14); +if (x_17 == 0) { -return x_73; +lean_object* x_18; +x_18 = lean_ctor_get(x_14, 0); +lean_dec(x_18); +lean_ctor_set(x_14, 0, x_5); +return x_14; } else { -lean_object* x_78; lean_object* x_79; lean_object* x_80; -x_78 = lean_ctor_get(x_73, 0); -x_79 = lean_ctor_get(x_73, 1); -lean_inc(x_79); -lean_inc(x_78); -lean_dec(x_73); -x_80 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_80, 0, x_78); -lean_ctor_set(x_80, 1, x_79); -return x_80; +lean_object* x_19; lean_object* x_20; +x_19 = lean_ctor_get(x_14, 1); +lean_inc(x_19); +lean_dec(x_14); +x_20 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_20, 0, x_5); +lean_ctor_set(x_20, 1, x_19); +return x_20; +} +} +else +{ +lean_object* x_21; lean_object* x_22; lean_object* x_23; +x_21 = lean_ctor_get(x_14, 1); +lean_inc(x_21); +lean_dec(x_14); +x_22 = lean_box(0); +x_23 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__5(x_5, x_1, x_2, x_3, x_4, x_22, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_21); +return x_23; } } } -} -} -LEAN_EXPORT lean_object* l_Lean_Meta_getMatcherInfo_x3f___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processApp___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, size_t x_5, size_t x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) { _start: { -lean_object* x_9; uint8_t x_10; -x_9 = lean_st_ref_get(x_7, x_8); -x_10 = !lean_is_exclusive(x_9); -if (x_10 == 0) +uint8_t x_16; +x_16 = lean_usize_dec_lt(x_6, x_5); +if (x_16 == 0) { -lean_object* x_11; lean_object* x_12; lean_object* x_13; -x_11 = lean_ctor_get(x_9, 0); -x_12 = lean_ctor_get(x_11, 0); -lean_inc(x_12); +lean_object* x_17; +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); lean_dec(x_11); -x_13 = l_Lean_Meta_Match_Extension_getMatcherInfo_x3f(x_12, x_1); -lean_ctor_set(x_9, 0, x_13); -return x_9; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_17 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_17, 0, x_7); +lean_ctor_set(x_17, 1, x_15); +return x_17; } else { -lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; -x_14 = lean_ctor_get(x_9, 0); -x_15 = lean_ctor_get(x_9, 1); -lean_inc(x_15); +lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_18 = lean_array_uget(x_7, x_6); +x_19 = lean_unsigned_to_nat(0u); +x_20 = lean_array_uset(x_7, x_6, x_19); lean_inc(x_14); -lean_dec(x_9); -x_16 = lean_ctor_get(x_14, 0); -lean_inc(x_16); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +lean_inc(x_1); +x_21 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop(x_1, x_2, x_3, x_4, x_18, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15); +if (lean_obj_tag(x_21) == 0) +{ +lean_object* x_22; lean_object* x_23; size_t x_24; size_t x_25; lean_object* x_26; +x_22 = lean_ctor_get(x_21, 0); +lean_inc(x_22); +x_23 = lean_ctor_get(x_21, 1); +lean_inc(x_23); +lean_dec(x_21); +x_24 = 1; +x_25 = lean_usize_add(x_6, x_24); +x_26 = lean_array_uset(x_20, x_6, x_22); +x_6 = x_25; +x_7 = x_26; +x_15 = x_23; +goto _start; +} +else +{ +uint8_t x_28; +lean_dec(x_20); lean_dec(x_14); -x_17 = l_Lean_Meta_Match_Extension_getMatcherInfo_x3f(x_16, x_1); -x_18 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_18, 0, x_17); -lean_ctor_set(x_18, 1, x_15); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_28 = !lean_is_exclusive(x_21); +if (x_28 == 0) +{ +return x_21; +} +else +{ +lean_object* x_29; lean_object* x_30; lean_object* x_31; +x_29 = lean_ctor_get(x_21, 0); +x_30 = lean_ctor_get(x_21, 1); +lean_inc(x_30); +lean_inc(x_29); +lean_dec(x_21); +x_31 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_31, 0, x_29); +lean_ctor_set(x_31, 1, x_30); +return x_31; +} +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processApp___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) { +_start: +{ +if (lean_obj_tag(x_5) == 5) +{ +lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_16 = lean_ctor_get(x_5, 0); +lean_inc(x_16); +x_17 = lean_ctor_get(x_5, 1); +lean_inc(x_17); +lean_dec(x_5); +x_18 = lean_array_set(x_6, x_7, x_17); +x_19 = lean_unsigned_to_nat(1u); +x_20 = lean_nat_sub(x_7, x_19); +lean_dec(x_7); +x_5 = x_16; +x_6 = x_18; +x_7 = x_20; +goto _start; +} +else +{ +lean_object* x_22; +lean_dec(x_7); +lean_inc(x_14); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +lean_inc(x_1); +x_22 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop(x_1, x_2, x_3, x_4, x_5, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15); +if (lean_obj_tag(x_22) == 0) +{ +lean_object* x_23; lean_object* x_24; lean_object* x_25; size_t x_26; size_t x_27; lean_object* x_28; +x_23 = lean_ctor_get(x_22, 0); +lean_inc(x_23); +x_24 = lean_ctor_get(x_22, 1); +lean_inc(x_24); +lean_dec(x_22); +x_25 = lean_array_get_size(x_6); +x_26 = lean_usize_of_nat(x_25); +lean_dec(x_25); +x_27 = 0; +x_28 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processApp___spec__1(x_1, x_2, x_3, x_4, x_26, x_27, x_6, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_24); +if (lean_obj_tag(x_28) == 0) +{ +uint8_t x_29; +x_29 = !lean_is_exclusive(x_28); +if (x_29 == 0) +{ +lean_object* x_30; lean_object* x_31; +x_30 = lean_ctor_get(x_28, 0); +x_31 = l_Lean_mkAppN(x_23, x_30); +lean_ctor_set(x_28, 0, x_31); +return x_28; +} +else +{ +lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; +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 = l_Lean_mkAppN(x_23, x_32); +x_35 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_35, 0, x_34); +lean_ctor_set(x_35, 1, x_33); +return x_35; +} +} +else +{ +uint8_t x_36; +lean_dec(x_23); +x_36 = !lean_is_exclusive(x_28); +if (x_36 == 0) +{ +return x_28; +} +else +{ +lean_object* x_37; lean_object* x_38; lean_object* x_39; +x_37 = lean_ctor_get(x_28, 0); +x_38 = lean_ctor_get(x_28, 1); +lean_inc(x_38); +lean_inc(x_37); +lean_dec(x_28); +x_39 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_39, 0, x_37); +lean_ctor_set(x_39, 1, x_38); +return x_39; +} +} +} +else +{ +uint8_t x_40; +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_40 = !lean_is_exclusive(x_22); +if (x_40 == 0) +{ +return x_22; +} +else +{ +lean_object* x_41; lean_object* x_42; lean_object* x_43; +x_41 = lean_ctor_get(x_22, 0); +x_42 = lean_ctor_get(x_22, 1); +lean_inc(x_42); +lean_inc(x_41); +lean_dec(x_22); +x_43 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_43, 0, x_41); +lean_ctor_set(x_43, 1, x_42); +return x_43; +} +} +} +} +} +LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processApp(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_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; +x_14 = l_Lean_Expr_isAppOf(x_5, x_1); +if (x_14 == 0) +{ +lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_15 = lean_unsigned_to_nat(0u); +x_16 = l_Lean_Expr_getAppNumArgsAux(x_5, x_15); +x_17 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processRec___closed__1; +lean_inc(x_16); +x_18 = lean_mk_array(x_16, x_17); +x_19 = lean_unsigned_to_nat(1u); +x_20 = lean_nat_sub(x_16, x_19); +lean_dec(x_16); +x_21 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processApp___spec__2(x_1, x_2, x_3, x_4, x_5, x_18, x_20, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +return x_21; +} +else +{ +lean_object* x_22; +x_22 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processRec(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); +return x_22; +} +} +} +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processRec___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) { +_start: +{ +size_t x_16; size_t x_17; lean_object* x_18; +x_16 = lean_unbox_usize(x_5); +lean_dec(x_5); +x_17 = lean_unbox_usize(x_6); +lean_dec(x_6); +x_18 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processRec___spec__1(x_1, x_2, x_3, x_4, x_16, x_17, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15); return x_18; } } -} -LEAN_EXPORT lean_object* l_Lean_Meta_matchMatcherApp_x3f___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___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_EXPORT lean_object* l_Lean_Meta_getMatcherInfo_x3f___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__2___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { -lean_object* x_9; -x_9 = l_Lean_Expr_getAppFn(x_1); -if (lean_obj_tag(x_9) == 4) +lean_object* x_10; +x_10 = l_Lean_Meta_getMatcherInfo_x3f___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__2___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_10; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_getMatcherInfo_x3f___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__2___boxed(lean_object* x_1) { +_start: { -lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; -x_10 = lean_ctor_get(x_9, 0); -lean_inc(x_10); -x_11 = lean_ctor_get(x_9, 1); -lean_inc(x_11); -lean_dec(x_9); -lean_inc(x_10); -x_12 = l_Lean_Meta_getMatcherInfo_x3f___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__2(x_10, x_2, x_3, x_4, x_5, x_6, x_7, x_8); -x_13 = lean_ctor_get(x_12, 0); -lean_inc(x_13); -if (lean_obj_tag(x_13) == 0) -{ -uint8_t x_14; -lean_dec(x_11); -lean_dec(x_10); +lean_object* x_2; +x_2 = l_Lean_Meta_getMatcherInfo_x3f___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__2(x_1); lean_dec(x_1); -x_14 = !lean_is_exclusive(x_12); -if (x_14 == 0) +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_matchMatcherApp_x3f___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +_start: { -lean_object* x_15; lean_object* x_16; -x_15 = lean_ctor_get(x_12, 0); -lean_dec(x_15); -x_16 = lean_box(0); -lean_ctor_set(x_12, 0, x_16); -return x_12; +lean_object* x_11; +x_11 = l_Lean_Meta_matchMatcherApp_x3f___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_1); +return x_11; +} +} +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__3___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +_start: +{ +lean_object* x_10; +x_10 = l_Lean_throwError___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__3___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_10; +} +} +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__3___boxed(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = l_Lean_throwError___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__3(x_1); +lean_dec(x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4(x_1, x_2); +lean_dec(x_1); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__5___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) { +_start: +{ +lean_object* x_16; +x_16 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__5___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15); +lean_dec(x_7); +lean_dec(x_1); +return x_16; +} +} +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__5___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* 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_17; +x_17 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__5___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16); +lean_dec(x_1); +return x_17; +} +} +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__5___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) { +_start: +{ +size_t x_16; size_t x_17; lean_object* x_18; +x_16 = lean_unbox_usize(x_5); +lean_dec(x_5); +x_17 = lean_unbox_usize(x_6); +lean_dec(x_6); +x_18 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__5(x_1, x_2, x_3, x_4, x_16, x_17, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15); +return x_18; +} +} +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__6___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) { +_start: +{ +size_t x_16; size_t x_17; lean_object* x_18; +x_16 = lean_unbox_usize(x_5); +lean_dec(x_5); +x_17 = lean_unbox_usize(x_6); +lean_dec(x_6); +x_18 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__6(x_1, x_2, x_3, x_4, x_16, x_17, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15); +return x_18; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__7___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* 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_2); +lean_dec(x_2); +x_14 = l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__7___rarg(x_1, x_13, x_3, 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_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__7___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__7(x_1, x_2); +lean_dec(x_1); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__8___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* 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_2); +lean_dec(x_2); +x_14 = l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__8___rarg(x_1, x_13, x_3, 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_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__8___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__8(x_1, x_2); +lean_dec(x_1); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_withLetDecl___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__9___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = l_Lean_Meta_withLetDecl___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__9(x_1, x_2); +lean_dec(x_1); +return x_3; +} +} +LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___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) { +_start: +{ +lean_object* x_15; +x_15 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +lean_dec(x_1); +return x_15; +} +} +LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +_start: +{ +lean_object* x_15; +x_15 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__3(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +lean_dec(x_1); +return x_15; +} +} +LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +_start: +{ +lean_object* x_15; +x_15 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__4(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +lean_dec(x_1); +return x_15; +} +} +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processApp___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) { +_start: +{ +size_t x_16; size_t x_17; lean_object* x_18; +x_16 = lean_unbox_usize(x_5); +lean_dec(x_5); +x_17 = lean_unbox_usize(x_6); +lean_dec(x_6); +x_18 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processApp___spec__1(x_1, x_2, x_3, x_4, x_16, x_17, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15); +return x_18; +} +} +static lean_object* _init_l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = lean_unsigned_to_nat(0u); +x_2 = l_Std_mkHashMapImp___rarg(x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +_start: +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; +x_13 = lean_st_ref_get(x_11, x_12); +x_14 = lean_ctor_get(x_13, 1); +lean_inc(x_14); +lean_dec(x_13); +x_15 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps___closed__1; +x_16 = lean_st_mk_ref(x_15, x_14); +x_17 = lean_ctor_get(x_16, 0); +lean_inc(x_17); +x_18 = lean_ctor_get(x_16, 1); +lean_inc(x_18); +lean_dec(x_16); +lean_inc(x_11); +lean_inc(x_17); +x_19 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop(x_1, x_2, x_3, x_4, x_5, x_17, x_6, x_7, x_8, x_9, x_10, x_11, x_18); +if (lean_obj_tag(x_19) == 0) +{ +lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; uint8_t x_25; +x_20 = lean_ctor_get(x_19, 0); +lean_inc(x_20); +x_21 = lean_ctor_get(x_19, 1); +lean_inc(x_21); +lean_dec(x_19); +x_22 = lean_st_ref_get(x_11, x_21); +lean_dec(x_11); +x_23 = lean_ctor_get(x_22, 1); +lean_inc(x_23); +lean_dec(x_22); +x_24 = lean_st_ref_get(x_17, x_23); +lean_dec(x_17); +x_25 = !lean_is_exclusive(x_24); +if (x_25 == 0) +{ +lean_object* x_26; +x_26 = lean_ctor_get(x_24, 0); +lean_dec(x_26); +lean_ctor_set(x_24, 0, x_20); +return x_24; } else { -lean_object* x_17; lean_object* x_18; lean_object* x_19; -x_17 = lean_ctor_get(x_12, 1); -lean_inc(x_17); -lean_dec(x_12); -x_18 = lean_box(0); -x_19 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_19, 0, x_18); -lean_ctor_set(x_19, 1, x_17); +lean_object* x_27; lean_object* x_28; +x_27 = lean_ctor_get(x_24, 1); +lean_inc(x_27); +lean_dec(x_24); +x_28 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_28, 0, x_20); +lean_ctor_set(x_28, 1, x_27); +return x_28; +} +} +else +{ +uint8_t x_29; +lean_dec(x_17); +lean_dec(x_11); +x_29 = !lean_is_exclusive(x_19); +if (x_29 == 0) +{ return x_19; } -} else { -uint8_t x_20; -x_20 = !lean_is_exclusive(x_12); -if (x_20 == 0) -{ -lean_object* x_21; uint8_t x_22; -x_21 = lean_ctor_get(x_12, 0); -lean_dec(x_21); -x_22 = !lean_is_exclusive(x_13); -if (x_22 == 0) -{ -lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; uint8_t x_33; -x_23 = lean_ctor_get(x_13, 0); -x_24 = lean_unsigned_to_nat(0u); -x_25 = l_Lean_Expr_getAppNumArgsAux(x_1, x_24); -x_26 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processRec___closed__1; -lean_inc(x_25); -x_27 = lean_mk_array(x_25, x_26); -x_28 = lean_unsigned_to_nat(1u); -x_29 = lean_nat_sub(x_25, x_28); -lean_dec(x_25); -x_30 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_27, x_29); -x_31 = lean_array_get_size(x_30); -x_32 = l_Lean_Meta_Match_MatcherInfo_arity(x_23); -x_33 = lean_nat_dec_lt(x_31, x_32); -lean_dec(x_32); -if (x_33 == 0) -{ -lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; -x_34 = l_List_redLength___rarg(x_11); -x_35 = lean_mk_empty_array_with_capacity(x_34); -lean_dec(x_34); -x_36 = l_List_toArrayAux___rarg(x_11, x_35); -x_37 = lean_ctor_get(x_23, 3); -lean_inc(x_37); -x_38 = lean_ctor_get(x_23, 0); -lean_inc(x_38); -lean_inc(x_38); +lean_object* x_30; lean_object* x_31; lean_object* x_32; +x_30 = lean_ctor_get(x_19, 0); +x_31 = lean_ctor_get(x_19, 1); +lean_inc(x_31); lean_inc(x_30); -x_39 = l_Array_extract___rarg(x_30, x_24, x_38); -x_40 = l_Lean_instInhabitedExpr; -x_41 = lean_array_get(x_40, x_30, x_38); -x_42 = lean_nat_add(x_38, x_28); -lean_dec(x_38); -x_43 = lean_ctor_get(x_23, 1); -lean_inc(x_43); -x_44 = lean_nat_add(x_42, x_43); -lean_dec(x_43); -lean_inc(x_44); -lean_inc(x_30); -x_45 = l_Array_toSubarray___rarg(x_30, x_42, x_44); -x_46 = l_Array_ofSubarray___rarg(x_45); -x_47 = lean_ctor_get(x_23, 2); -lean_inc(x_47); -x_48 = l_Lean_Meta_Match_MatcherInfo_numAlts(x_23); -lean_dec(x_23); -x_49 = lean_nat_add(x_44, x_48); -lean_dec(x_48); -lean_inc(x_49); -lean_inc(x_30); -x_50 = l_Array_toSubarray___rarg(x_30, x_44, x_49); -x_51 = l_Array_ofSubarray___rarg(x_50); -x_52 = l_Array_toSubarray___rarg(x_30, x_49, x_31); -x_53 = l_Array_ofSubarray___rarg(x_52); -x_54 = lean_alloc_ctor(0, 9, 0); -lean_ctor_set(x_54, 0, x_10); -lean_ctor_set(x_54, 1, x_36); -lean_ctor_set(x_54, 2, x_37); -lean_ctor_set(x_54, 3, x_39); -lean_ctor_set(x_54, 4, x_41); -lean_ctor_set(x_54, 5, x_46); -lean_ctor_set(x_54, 6, x_47); -lean_ctor_set(x_54, 7, x_51); -lean_ctor_set(x_54, 8, x_53); -lean_ctor_set(x_13, 0, x_54); -return x_12; -} -else -{ -lean_object* x_55; -lean_dec(x_31); -lean_dec(x_30); -lean_free_object(x_13); -lean_dec(x_23); -lean_dec(x_11); -lean_dec(x_10); -x_55 = lean_box(0); -lean_ctor_set(x_12, 0, x_55); -return x_12; -} -} -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; uint8_t x_66; -x_56 = lean_ctor_get(x_13, 0); -lean_inc(x_56); -lean_dec(x_13); -x_57 = lean_unsigned_to_nat(0u); -x_58 = l_Lean_Expr_getAppNumArgsAux(x_1, x_57); -x_59 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processRec___closed__1; -lean_inc(x_58); -x_60 = lean_mk_array(x_58, x_59); -x_61 = lean_unsigned_to_nat(1u); -x_62 = lean_nat_sub(x_58, x_61); -lean_dec(x_58); -x_63 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_60, x_62); -x_64 = lean_array_get_size(x_63); -x_65 = l_Lean_Meta_Match_MatcherInfo_arity(x_56); -x_66 = lean_nat_dec_lt(x_64, x_65); -lean_dec(x_65); -if (x_66 == 0) -{ -lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; -x_67 = l_List_redLength___rarg(x_11); -x_68 = lean_mk_empty_array_with_capacity(x_67); -lean_dec(x_67); -x_69 = l_List_toArrayAux___rarg(x_11, x_68); -x_70 = lean_ctor_get(x_56, 3); -lean_inc(x_70); -x_71 = lean_ctor_get(x_56, 0); -lean_inc(x_71); -lean_inc(x_71); -lean_inc(x_63); -x_72 = l_Array_extract___rarg(x_63, x_57, x_71); -x_73 = l_Lean_instInhabitedExpr; -x_74 = lean_array_get(x_73, x_63, x_71); -x_75 = lean_nat_add(x_71, x_61); -lean_dec(x_71); -x_76 = lean_ctor_get(x_56, 1); -lean_inc(x_76); -x_77 = lean_nat_add(x_75, x_76); -lean_dec(x_76); -lean_inc(x_77); -lean_inc(x_63); -x_78 = l_Array_toSubarray___rarg(x_63, x_75, x_77); -x_79 = l_Array_ofSubarray___rarg(x_78); -x_80 = lean_ctor_get(x_56, 2); -lean_inc(x_80); -x_81 = l_Lean_Meta_Match_MatcherInfo_numAlts(x_56); -lean_dec(x_56); -x_82 = lean_nat_add(x_77, x_81); -lean_dec(x_81); -lean_inc(x_82); -lean_inc(x_63); -x_83 = l_Array_toSubarray___rarg(x_63, x_77, x_82); -x_84 = l_Array_ofSubarray___rarg(x_83); -x_85 = l_Array_toSubarray___rarg(x_63, x_82, x_64); -x_86 = l_Array_ofSubarray___rarg(x_85); -x_87 = lean_alloc_ctor(0, 9, 0); -lean_ctor_set(x_87, 0, x_10); -lean_ctor_set(x_87, 1, x_69); -lean_ctor_set(x_87, 2, x_70); -lean_ctor_set(x_87, 3, x_72); -lean_ctor_set(x_87, 4, x_74); -lean_ctor_set(x_87, 5, x_79); -lean_ctor_set(x_87, 6, x_80); -lean_ctor_set(x_87, 7, x_84); -lean_ctor_set(x_87, 8, x_86); -x_88 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_88, 0, x_87); -lean_ctor_set(x_12, 0, x_88); -return x_12; -} -else -{ -lean_object* x_89; -lean_dec(x_64); -lean_dec(x_63); -lean_dec(x_56); -lean_dec(x_11); -lean_dec(x_10); -x_89 = lean_box(0); -lean_ctor_set(x_12, 0, x_89); -return x_12; -} -} -} -else -{ -lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; uint8_t x_102; -x_90 = lean_ctor_get(x_12, 1); -lean_inc(x_90); -lean_dec(x_12); -x_91 = lean_ctor_get(x_13, 0); -lean_inc(x_91); -if (lean_is_exclusive(x_13)) { - lean_ctor_release(x_13, 0); - x_92 = x_13; -} else { - lean_dec_ref(x_13); - x_92 = lean_box(0); -} -x_93 = lean_unsigned_to_nat(0u); -x_94 = l_Lean_Expr_getAppNumArgsAux(x_1, x_93); -x_95 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processRec___closed__1; -lean_inc(x_94); -x_96 = lean_mk_array(x_94, x_95); -x_97 = lean_unsigned_to_nat(1u); -x_98 = lean_nat_sub(x_94, x_97); -lean_dec(x_94); -x_99 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_96, x_98); -x_100 = lean_array_get_size(x_99); -x_101 = l_Lean_Meta_Match_MatcherInfo_arity(x_91); -x_102 = lean_nat_dec_lt(x_100, x_101); -lean_dec(x_101); -if (x_102 == 0) -{ -lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125; -x_103 = l_List_redLength___rarg(x_11); -x_104 = lean_mk_empty_array_with_capacity(x_103); -lean_dec(x_103); -x_105 = l_List_toArrayAux___rarg(x_11, x_104); -x_106 = lean_ctor_get(x_91, 3); -lean_inc(x_106); -x_107 = lean_ctor_get(x_91, 0); -lean_inc(x_107); -lean_inc(x_107); -lean_inc(x_99); -x_108 = l_Array_extract___rarg(x_99, x_93, x_107); -x_109 = l_Lean_instInhabitedExpr; -x_110 = lean_array_get(x_109, x_99, x_107); -x_111 = lean_nat_add(x_107, x_97); -lean_dec(x_107); -x_112 = lean_ctor_get(x_91, 1); -lean_inc(x_112); -x_113 = lean_nat_add(x_111, x_112); -lean_dec(x_112); -lean_inc(x_113); -lean_inc(x_99); -x_114 = l_Array_toSubarray___rarg(x_99, x_111, x_113); -x_115 = l_Array_ofSubarray___rarg(x_114); -x_116 = lean_ctor_get(x_91, 2); -lean_inc(x_116); -x_117 = l_Lean_Meta_Match_MatcherInfo_numAlts(x_91); -lean_dec(x_91); -x_118 = lean_nat_add(x_113, x_117); -lean_dec(x_117); -lean_inc(x_118); -lean_inc(x_99); -x_119 = l_Array_toSubarray___rarg(x_99, x_113, x_118); -x_120 = l_Array_ofSubarray___rarg(x_119); -x_121 = l_Array_toSubarray___rarg(x_99, x_118, x_100); -x_122 = l_Array_ofSubarray___rarg(x_121); -x_123 = lean_alloc_ctor(0, 9, 0); -lean_ctor_set(x_123, 0, x_10); -lean_ctor_set(x_123, 1, x_105); -lean_ctor_set(x_123, 2, x_106); -lean_ctor_set(x_123, 3, x_108); -lean_ctor_set(x_123, 4, x_110); -lean_ctor_set(x_123, 5, x_115); -lean_ctor_set(x_123, 6, x_116); -lean_ctor_set(x_123, 7, x_120); -lean_ctor_set(x_123, 8, x_122); -if (lean_is_scalar(x_92)) { - x_124 = lean_alloc_ctor(1, 1, 0); -} else { - x_124 = x_92; -} -lean_ctor_set(x_124, 0, x_123); -x_125 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_125, 0, x_124); -lean_ctor_set(x_125, 1, x_90); -return x_125; -} -else -{ -lean_object* x_126; lean_object* x_127; -lean_dec(x_100); -lean_dec(x_99); -lean_dec(x_92); -lean_dec(x_91); -lean_dec(x_11); -lean_dec(x_10); -x_126 = lean_box(0); -x_127 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_127, 0, x_126); -lean_ctor_set(x_127, 1, x_90); -return x_127; +lean_dec(x_19); +x_32 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_32, 0, x_30); +lean_ctor_set(x_32, 1, x_31); +return x_32; } } } } -else -{ -lean_object* x_128; lean_object* x_129; -lean_dec(x_9); -lean_dec(x_1); -x_128 = lean_box(0); -x_129 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_129, 0, x_128); -lean_ctor_set(x_129, 1, x_8); -return x_129; -} -} -} -LEAN_EXPORT lean_object* l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__3___rarg___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +LEAN_EXPORT lean_object* l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processSumCasesOn___spec__1___rarg___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { lean_object* x_11; @@ -1539,11 +4192,11 @@ x_11 = lean_apply_9(x_1, x_4, x_5, x_2, x_3, x_6, x_7, x_8, x_9, x_10); return x_11; } } -LEAN_EXPORT lean_object* l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__3___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +LEAN_EXPORT lean_object* l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processSumCasesOn___spec__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { lean_object* x_10; uint8_t x_11; lean_object* x_12; -x_10 = lean_alloc_closure((void*)(l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__3___rarg___lambda__1), 10, 3); +x_10 = lean_alloc_closure((void*)(l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processSumCasesOn___spec__1___rarg___lambda__1), 10, 3); lean_closure_set(x_10, 0, x_2); lean_closure_set(x_10, 1, x_3); lean_closure_set(x_10, 2, x_4); @@ -1595,1981 +4248,14 @@ return x_20; } } } -LEAN_EXPORT lean_object* l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__3(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processSumCasesOn___spec__1(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__3___rarg), 9, 0); +x_2 = lean_alloc_closure((void*)(l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processSumCasesOn___spec__1___rarg), 9, 0); return x_2; } } -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { -_start: -{ -lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; -x_15 = lean_unsigned_to_nat(1u); -x_16 = lean_nat_sub(x_1, x_15); -x_17 = l_Lean_instInhabitedExpr; -x_18 = lean_array_get(x_17, x_2, x_16); -lean_dec(x_16); -lean_inc(x_13); -lean_inc(x_12); -lean_inc(x_11); -lean_inc(x_10); -x_19 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop(x_3, x_4, x_5, x_18, x_6, x_8, x_9, x_10, x_11, x_12, x_13, x_14); -if (lean_obj_tag(x_19) == 0) -{ -lean_object* x_20; lean_object* x_21; uint8_t x_22; uint8_t x_23; uint8_t x_24; lean_object* x_25; -x_20 = lean_ctor_get(x_19, 0); -lean_inc(x_20); -x_21 = lean_ctor_get(x_19, 1); -lean_inc(x_21); -lean_dec(x_19); -x_22 = 0; -x_23 = 1; -x_24 = 1; -x_25 = l_Lean_Meta_mkLambdaFVars(x_2, x_20, x_22, x_23, x_24, x_10, x_11, x_12, x_13, x_21); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -return x_25; -} -else -{ -uint8_t x_26; -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_2); -x_26 = !lean_is_exclusive(x_19); -if (x_26 == 0) -{ -return x_19; -} -else -{ -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_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; -} -} -} -} -static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4___lambda__2___closed__1() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string("unexpected matcher application alternative"); -return x_1; -} -} -static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4___lambda__2___closed__2() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4___lambda__2___closed__1; -x_2 = l_Lean_stringToMessageData(x_1); -return x_2; -} -} -static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4___lambda__2___closed__3() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string("\nat application"); -return x_1; -} -} -static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4___lambda__2___closed__4() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4___lambda__2___closed__3; -x_2 = l_Lean_stringToMessageData(x_1); -return x_2; -} -} -static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4___lambda__2___closed__5() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string(""); -return x_1; -} -} -static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4___lambda__2___closed__6() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4___lambda__2___closed__5; -x_2 = l_Lean_stringToMessageData(x_1); -return x_2; -} -} -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) { -_start: -{ -lean_object* x_16; uint8_t x_17; -x_16 = lean_array_get_size(x_7); -x_17 = lean_nat_dec_le(x_1, x_16); -lean_dec(x_16); -if (x_17 == 0) -{ -lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; uint8_t x_28; -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_18 = l_Lean_indentExpr(x_5); -x_19 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4___lambda__2___closed__2; -x_20 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_20, 0, x_19); -lean_ctor_set(x_20, 1, x_18); -x_21 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4___lambda__2___closed__4; -x_22 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_22, 0, x_20); -lean_ctor_set(x_22, 1, x_21); -x_23 = l_Lean_indentExpr(x_6); -x_24 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_24, 0, x_22); -lean_ctor_set(x_24, 1, x_23); -x_25 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4___lambda__2___closed__6; -x_26 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_26, 0, x_24); -lean_ctor_set(x_26, 1, x_25); -x_27 = l_Lean_throwError___at___private_Lean_Elab_Term_0__Lean_Elab_Term_applyAttributesCore___spec__1(x_26, x_9, x_10, x_11, x_12, x_13, x_14, x_15); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -x_28 = !lean_is_exclusive(x_27); -if (x_28 == 0) -{ -return x_27; -} -else -{ -lean_object* x_29; lean_object* x_30; lean_object* x_31; -x_29 = lean_ctor_get(x_27, 0); -x_30 = lean_ctor_get(x_27, 1); -lean_inc(x_30); -lean_inc(x_29); -lean_dec(x_27); -x_31 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_31, 0, x_29); -lean_ctor_set(x_31, 1, x_30); -return x_31; -} -} -else -{ -lean_object* x_32; lean_object* x_33; -lean_dec(x_6); -lean_dec(x_5); -x_32 = lean_box(0); -x_33 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4___lambda__1(x_1, x_7, x_2, x_3, x_4, x_8, x_32, x_9, x_10, x_11, x_12, x_13, x_14, x_15); -return x_33; -} -} -} -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, size_t x_5, size_t x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { -_start: -{ -uint8_t x_15; -x_15 = lean_usize_dec_lt(x_6, x_5); -if (x_15 == 0) -{ -lean_object* x_16; -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_16 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_16, 0, x_7); -lean_ctor_set(x_16, 1, x_14); -return x_16; -} -else -{ -lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; -x_17 = lean_array_uget(x_7, x_6); -x_18 = lean_unsigned_to_nat(0u); -x_19 = lean_array_uset(x_7, x_6, x_18); -x_20 = lean_ctor_get(x_17, 0); -lean_inc(x_20); -x_21 = lean_ctor_get(x_17, 1); -lean_inc(x_21); -lean_dec(x_17); -lean_inc(x_4); -lean_inc(x_20); -lean_inc(x_3); -lean_inc(x_2); -lean_inc(x_1); -x_22 = lean_alloc_closure((void*)(l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4___lambda__2___boxed), 15, 6); -lean_closure_set(x_22, 0, x_21); -lean_closure_set(x_22, 1, x_1); -lean_closure_set(x_22, 2, x_2); -lean_closure_set(x_22, 3, x_3); -lean_closure_set(x_22, 4, x_20); -lean_closure_set(x_22, 5, x_4); -lean_inc(x_13); -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_lambdaTelescope___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__3___rarg(x_20, x_22, x_8, x_9, x_10, x_11, x_12, x_13, x_14); -if (lean_obj_tag(x_23) == 0) -{ -lean_object* x_24; lean_object* x_25; size_t x_26; size_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_inc(x_25); -lean_dec(x_23); -x_26 = 1; -x_27 = lean_usize_add(x_6, x_26); -x_28 = lean_array_uset(x_19, x_6, x_24); -x_6 = x_27; -x_7 = x_28; -x_14 = x_25; -goto _start; -} -else -{ -uint8_t x_30; -lean_dec(x_19); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_30 = !lean_is_exclusive(x_23); -if (x_30 == 0) -{ -return x_23; -} -else -{ -lean_object* x_31; lean_object* x_32; lean_object* x_33; -x_31 = lean_ctor_get(x_23, 0); -x_32 = lean_ctor_get(x_23, 1); -lean_inc(x_32); -lean_inc(x_31); -lean_dec(x_23); -x_33 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_33, 0, x_31); -lean_ctor_set(x_33, 1, x_32); -return x_33; -} -} -} -} -} -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__5(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, size_t x_5, size_t x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { -_start: -{ -uint8_t x_15; -x_15 = lean_usize_dec_lt(x_6, x_5); -if (x_15 == 0) -{ -lean_object* x_16; -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_16 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_16, 0, x_7); -lean_ctor_set(x_16, 1, x_14); -return x_16; -} -else -{ -lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_17 = lean_array_uget(x_7, x_6); -x_18 = lean_unsigned_to_nat(0u); -x_19 = lean_array_uset(x_7, x_6, x_18); -lean_inc(x_13); -lean_inc(x_12); -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -lean_inc(x_1); -x_20 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop(x_1, x_2, x_3, x_4, x_17, x_8, x_9, x_10, x_11, x_12, x_13, x_14); -if (lean_obj_tag(x_20) == 0) -{ -lean_object* x_21; lean_object* x_22; size_t x_23; size_t x_24; lean_object* x_25; -x_21 = lean_ctor_get(x_20, 0); -lean_inc(x_21); -x_22 = lean_ctor_get(x_20, 1); -lean_inc(x_22); -lean_dec(x_20); -x_23 = 1; -x_24 = lean_usize_add(x_6, x_23); -x_25 = lean_array_uset(x_19, x_6, x_21); -x_6 = x_24; -x_7 = x_25; -x_14 = x_22; -goto _start; -} -else -{ -uint8_t x_27; -lean_dec(x_19); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_27 = !lean_is_exclusive(x_20); -if (x_27 == 0) -{ -return x_20; -} -else -{ -lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_28 = lean_ctor_get(x_20, 0); -x_29 = lean_ctor_get(x_20, 1); -lean_inc(x_29); -lean_inc(x_28); -lean_dec(x_20); -x_30 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_30, 0, x_28); -lean_ctor_set(x_30, 1, x_29); -return x_30; -} -} -} -} -} -static lean_object* _init_l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__1___closed__1() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string("failed to add functional argument to 'matcher' application"); -return x_1; -} -} -static lean_object* _init_l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__1___closed__2() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__1___closed__1; -x_2 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_2, 0, x_1); -return x_2; -} -} -static lean_object* _init_l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__1___closed__3() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__1___closed__2; -x_2 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_2, 0, x_1); -return x_2; -} -} -LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__1(lean_object* x_1) { -_start: -{ -lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_2 = l_Lean_indentD(x_1); -x_3 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__1___closed__3; -x_4 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_4, 0, x_3); -lean_ctor_set(x_4, 1, x_2); -return x_4; -} -} -LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { -_start: -{ -lean_object* x_14; lean_object* x_15; -x_14 = lean_expr_instantiate1(x_1, x_6); -lean_inc(x_12); -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -x_15 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop(x_2, x_3, x_4, x_5, x_14, x_7, x_8, x_9, x_10, x_11, x_12, x_13); -if (lean_obj_tag(x_15) == 0) -{ -lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t 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 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_applyDefaultDecrTactic___lambda__1___closed__4; -x_19 = lean_array_push(x_18, x_6); -x_20 = 0; -x_21 = 1; -x_22 = 1; -x_23 = l_Lean_Meta_mkLambdaFVars(x_19, x_16, x_20, x_21, x_22, x_9, x_10, x_11, x_12, x_17); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -return x_23; -} -else -{ -uint8_t x_24; -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_6); -x_24 = !lean_is_exclusive(x_15); -if (x_24 == 0) -{ -return x_15; -} -else -{ -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_27 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_27, 0, x_25); -lean_ctor_set(x_27, 1, x_26); -return x_27; -} -} -} -} -LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { -_start: -{ -lean_object* x_14; lean_object* x_15; -x_14 = lean_expr_instantiate1(x_1, x_6); -lean_inc(x_12); -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -x_15 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop(x_2, x_3, x_4, x_5, x_14, x_7, x_8, x_9, x_10, x_11, x_12, x_13); -if (lean_obj_tag(x_15) == 0) -{ -lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t 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 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_applyDefaultDecrTactic___lambda__1___closed__4; -x_19 = lean_array_push(x_18, x_6); -x_20 = 0; -x_21 = 1; -x_22 = 1; -x_23 = l_Lean_Meta_mkForallFVars(x_19, x_16, x_20, x_21, x_22, x_9, x_10, x_11, x_12, x_17); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -return x_23; -} -else -{ -uint8_t x_24; -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_6); -x_24 = !lean_is_exclusive(x_15); -if (x_24 == 0) -{ -return x_15; -} -else -{ -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_27 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_27, 0, x_25); -lean_ctor_set(x_27, 1, x_26); -return x_27; -} -} -} -} -LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { -_start: -{ -lean_object* x_14; lean_object* x_15; -x_14 = lean_expr_instantiate1(x_1, x_6); -lean_inc(x_12); -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -x_15 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop(x_2, x_3, x_4, x_5, x_14, x_7, x_8, x_9, x_10, x_11, x_12, x_13); -if (lean_obj_tag(x_15) == 0) -{ -lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t x_20; uint8_t x_21; lean_object* x_22; -x_16 = lean_ctor_get(x_15, 0); -lean_inc(x_16); -x_17 = lean_ctor_get(x_15, 1); -lean_inc(x_17); -lean_dec(x_15); -x_18 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_applyDefaultDecrTactic___lambda__1___closed__4; -x_19 = lean_array_push(x_18, x_6); -x_20 = 0; -x_21 = 1; -x_22 = l_Lean_Meta_mkLambdaFVars(x_19, x_16, x_20, x_20, x_21, x_9, x_10, x_11, x_12, x_17); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -return x_22; -} -else -{ -uint8_t x_23; -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_6); -x_23 = !lean_is_exclusive(x_15); -if (x_23 == 0) -{ -return x_15; -} -else -{ -lean_object* x_24; lean_object* x_25; lean_object* x_26; -x_24 = lean_ctor_get(x_15, 0); -x_25 = lean_ctor_get(x_15, 1); -lean_inc(x_25); -lean_inc(x_24); -lean_dec(x_15); -x_26 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_26, 0, x_24); -lean_ctor_set(x_26, 1, x_25); -return x_26; -} -} -} -} -static lean_object* _init_l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___closed__1() { -_start: -{ -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__1), 1, 0); -return x_1; -} -} -LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_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: -{ -switch (lean_obj_tag(x_5)) { -case 4: -{ -uint8_t x_13; -x_13 = l_Lean_Expr_isConstOf(x_5, x_1); -if (x_13 == 0) -{ -lean_object* x_14; -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -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; -x_15 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processRec(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); -return x_15; -} -} -case 5: -{ -lean_object* x_16; lean_object* x_17; -lean_inc(x_5); -x_16 = l_Lean_Meta_matchMatcherApp_x3f___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__1(x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); -x_17 = lean_ctor_get(x_16, 0); -lean_inc(x_17); -if (lean_obj_tag(x_17) == 0) -{ -lean_object* x_18; lean_object* x_19; -x_18 = lean_ctor_get(x_16, 1); -lean_inc(x_18); -lean_dec(x_16); -x_19 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processApp(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_18); -return x_19; -} -else -{ -lean_object* x_20; lean_object* x_21; uint8_t x_22; -x_20 = lean_ctor_get(x_16, 1); -lean_inc(x_20); -lean_dec(x_16); -x_21 = lean_ctor_get(x_17, 0); -lean_inc(x_21); -lean_dec(x_17); -lean_inc(x_5); -lean_inc(x_2); -lean_inc(x_1); -x_22 = l_Lean_Elab_Structural_recArgHasLooseBVarsAt(x_1, x_2, x_5); -if (x_22 == 0) -{ -lean_object* x_23; -lean_dec(x_21); -x_23 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processApp(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_20); -return x_23; -} -else -{ -lean_object* x_24; lean_object* x_25; lean_object* x_26; -lean_inc(x_4); -x_24 = lean_alloc_closure((void*)(l_Lean_Meta_MatcherApp_addArg), 7, 2); -lean_closure_set(x_24, 0, x_21); -lean_closure_set(x_24, 1, x_4); -x_25 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___closed__1; -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -x_26 = l_Lean_Meta_mapErrorImp___rarg(x_24, x_25, x_8, x_9, x_10, x_11, x_20); -if (lean_obj_tag(x_26) == 0) -{ -lean_object* x_27; lean_object* x_28; lean_object* x_29; -x_27 = lean_ctor_get(x_26, 0); -lean_inc(x_27); -x_28 = lean_ctor_get(x_26, 1); -lean_inc(x_28); -lean_dec(x_26); -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_4); -lean_inc(x_27); -x_29 = l_Lean_Elab_Structural_refinedArgType(x_27, x_4, x_8, x_9, x_10, x_11, x_28); -if (lean_obj_tag(x_29) == 0) -{ -lean_object* x_30; uint8_t x_31; -x_30 = lean_ctor_get(x_29, 0); -lean_inc(x_30); -x_31 = lean_unbox(x_30); -lean_dec(x_30); -if (x_31 == 0) -{ -lean_object* x_32; lean_object* x_33; -lean_dec(x_27); -x_32 = lean_ctor_get(x_29, 1); -lean_inc(x_32); -lean_dec(x_29); -x_33 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processApp(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_32); -return x_33; -} -else -{ -lean_object* x_34; uint8_t x_35; -x_34 = lean_ctor_get(x_29, 1); -lean_inc(x_34); -lean_dec(x_29); -x_35 = !lean_is_exclusive(x_27); -if (x_35 == 0) -{ -lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; size_t x_47; size_t x_48; lean_object* x_49; -x_36 = lean_ctor_get(x_27, 0); -x_37 = lean_ctor_get(x_27, 1); -x_38 = lean_ctor_get(x_27, 2); -x_39 = lean_ctor_get(x_27, 3); -x_40 = lean_ctor_get(x_27, 4); -x_41 = lean_ctor_get(x_27, 5); -x_42 = lean_ctor_get(x_27, 6); -x_43 = lean_ctor_get(x_27, 7); -x_44 = lean_ctor_get(x_27, 8); -x_45 = l_Array_zip___rarg(x_43, x_42); -lean_dec(x_43); -x_46 = lean_array_get_size(x_45); -x_47 = lean_usize_of_nat(x_46); -lean_dec(x_46); -x_48 = 0; -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_3); -lean_inc(x_2); -lean_inc(x_1); -x_49 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4(x_1, x_2, x_3, x_5, x_47, x_48, x_45, x_6, x_7, x_8, x_9, x_10, x_11, x_34); -if (lean_obj_tag(x_49) == 0) -{ -lean_object* x_50; lean_object* x_51; lean_object* x_52; size_t x_53; lean_object* x_54; -x_50 = lean_ctor_get(x_49, 0); -lean_inc(x_50); -x_51 = lean_ctor_get(x_49, 1); -lean_inc(x_51); -lean_dec(x_49); -x_52 = lean_array_get_size(x_41); -x_53 = lean_usize_of_nat(x_52); -lean_dec(x_52); -x_54 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__5(x_1, x_2, x_3, x_4, x_53, x_48, x_41, x_6, x_7, x_8, x_9, x_10, x_11, x_51); -if (lean_obj_tag(x_54) == 0) -{ -uint8_t x_55; -x_55 = !lean_is_exclusive(x_54); -if (x_55 == 0) -{ -lean_object* x_56; lean_object* x_57; -x_56 = lean_ctor_get(x_54, 0); -lean_ctor_set(x_27, 7, x_50); -lean_ctor_set(x_27, 5, x_56); -x_57 = l_Lean_Meta_MatcherApp_toExpr(x_27); -lean_ctor_set(x_54, 0, x_57); -return x_54; -} -else -{ -lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; -x_58 = lean_ctor_get(x_54, 0); -x_59 = lean_ctor_get(x_54, 1); -lean_inc(x_59); -lean_inc(x_58); -lean_dec(x_54); -lean_ctor_set(x_27, 7, x_50); -lean_ctor_set(x_27, 5, x_58); -x_60 = l_Lean_Meta_MatcherApp_toExpr(x_27); -x_61 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_61, 0, x_60); -lean_ctor_set(x_61, 1, x_59); -return x_61; -} -} -else -{ -uint8_t x_62; -lean_dec(x_50); -lean_free_object(x_27); -lean_dec(x_44); -lean_dec(x_42); -lean_dec(x_40); -lean_dec(x_39); -lean_dec(x_38); -lean_dec(x_37); -lean_dec(x_36); -x_62 = !lean_is_exclusive(x_54); -if (x_62 == 0) -{ -return x_54; -} -else -{ -lean_object* x_63; lean_object* x_64; lean_object* x_65; -x_63 = lean_ctor_get(x_54, 0); -x_64 = lean_ctor_get(x_54, 1); -lean_inc(x_64); -lean_inc(x_63); -lean_dec(x_54); -x_65 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_65, 0, x_63); -lean_ctor_set(x_65, 1, x_64); -return x_65; -} -} -} -else -{ -uint8_t x_66; -lean_free_object(x_27); -lean_dec(x_44); -lean_dec(x_42); -lean_dec(x_41); -lean_dec(x_40); -lean_dec(x_39); -lean_dec(x_38); -lean_dec(x_37); -lean_dec(x_36); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_66 = !lean_is_exclusive(x_49); -if (x_66 == 0) -{ -return x_49; -} -else -{ -lean_object* x_67; lean_object* x_68; lean_object* x_69; -x_67 = lean_ctor_get(x_49, 0); -x_68 = lean_ctor_get(x_49, 1); -lean_inc(x_68); -lean_inc(x_67); -lean_dec(x_49); -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 -{ -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; size_t x_81; size_t x_82; lean_object* x_83; -x_70 = lean_ctor_get(x_27, 0); -x_71 = lean_ctor_get(x_27, 1); -x_72 = lean_ctor_get(x_27, 2); -x_73 = lean_ctor_get(x_27, 3); -x_74 = lean_ctor_get(x_27, 4); -x_75 = lean_ctor_get(x_27, 5); -x_76 = lean_ctor_get(x_27, 6); -x_77 = lean_ctor_get(x_27, 7); -x_78 = lean_ctor_get(x_27, 8); -lean_inc(x_78); -lean_inc(x_77); -lean_inc(x_76); -lean_inc(x_75); -lean_inc(x_74); -lean_inc(x_73); -lean_inc(x_72); -lean_inc(x_71); -lean_inc(x_70); -lean_dec(x_27); -x_79 = l_Array_zip___rarg(x_77, x_76); -lean_dec(x_77); -x_80 = lean_array_get_size(x_79); -x_81 = lean_usize_of_nat(x_80); -lean_dec(x_80); -x_82 = 0; -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_3); -lean_inc(x_2); -lean_inc(x_1); -x_83 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4(x_1, x_2, x_3, x_5, x_81, x_82, x_79, x_6, x_7, x_8, x_9, x_10, x_11, x_34); -if (lean_obj_tag(x_83) == 0) -{ -lean_object* x_84; lean_object* x_85; lean_object* x_86; size_t x_87; lean_object* x_88; -x_84 = lean_ctor_get(x_83, 0); -lean_inc(x_84); -x_85 = lean_ctor_get(x_83, 1); -lean_inc(x_85); -lean_dec(x_83); -x_86 = lean_array_get_size(x_75); -x_87 = lean_usize_of_nat(x_86); -lean_dec(x_86); -x_88 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__5(x_1, x_2, x_3, x_4, x_87, x_82, x_75, x_6, x_7, x_8, x_9, x_10, x_11, x_85); -if (lean_obj_tag(x_88) == 0) -{ -lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; -x_89 = lean_ctor_get(x_88, 0); -lean_inc(x_89); -x_90 = lean_ctor_get(x_88, 1); -lean_inc(x_90); -if (lean_is_exclusive(x_88)) { - lean_ctor_release(x_88, 0); - lean_ctor_release(x_88, 1); - x_91 = x_88; -} else { - lean_dec_ref(x_88); - x_91 = lean_box(0); -} -x_92 = lean_alloc_ctor(0, 9, 0); -lean_ctor_set(x_92, 0, x_70); -lean_ctor_set(x_92, 1, x_71); -lean_ctor_set(x_92, 2, x_72); -lean_ctor_set(x_92, 3, x_73); -lean_ctor_set(x_92, 4, x_74); -lean_ctor_set(x_92, 5, x_89); -lean_ctor_set(x_92, 6, x_76); -lean_ctor_set(x_92, 7, x_84); -lean_ctor_set(x_92, 8, x_78); -x_93 = l_Lean_Meta_MatcherApp_toExpr(x_92); -if (lean_is_scalar(x_91)) { - x_94 = lean_alloc_ctor(0, 2, 0); -} else { - x_94 = x_91; -} -lean_ctor_set(x_94, 0, x_93); -lean_ctor_set(x_94, 1, x_90); -return x_94; -} -else -{ -lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; -lean_dec(x_84); -lean_dec(x_78); -lean_dec(x_76); -lean_dec(x_74); -lean_dec(x_73); -lean_dec(x_72); -lean_dec(x_71); -lean_dec(x_70); -x_95 = lean_ctor_get(x_88, 0); -lean_inc(x_95); -x_96 = lean_ctor_get(x_88, 1); -lean_inc(x_96); -if (lean_is_exclusive(x_88)) { - lean_ctor_release(x_88, 0); - lean_ctor_release(x_88, 1); - x_97 = x_88; -} else { - lean_dec_ref(x_88); - x_97 = lean_box(0); -} -if (lean_is_scalar(x_97)) { - x_98 = lean_alloc_ctor(1, 2, 0); -} else { - x_98 = x_97; -} -lean_ctor_set(x_98, 0, x_95); -lean_ctor_set(x_98, 1, x_96); -return x_98; -} -} -else -{ -lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; -lean_dec(x_78); -lean_dec(x_76); -lean_dec(x_75); -lean_dec(x_74); -lean_dec(x_73); -lean_dec(x_72); -lean_dec(x_71); -lean_dec(x_70); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_99 = lean_ctor_get(x_83, 0); -lean_inc(x_99); -x_100 = lean_ctor_get(x_83, 1); -lean_inc(x_100); -if (lean_is_exclusive(x_83)) { - lean_ctor_release(x_83, 0); - lean_ctor_release(x_83, 1); - x_101 = x_83; -} else { - lean_dec_ref(x_83); - x_101 = lean_box(0); -} -if (lean_is_scalar(x_101)) { - x_102 = lean_alloc_ctor(1, 2, 0); -} else { - x_102 = x_101; -} -lean_ctor_set(x_102, 0, x_99); -lean_ctor_set(x_102, 1, x_100); -return x_102; -} -} -} -} -else -{ -uint8_t x_103; -lean_dec(x_27); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_103 = !lean_is_exclusive(x_29); -if (x_103 == 0) -{ -return x_29; -} -else -{ -lean_object* x_104; lean_object* x_105; lean_object* x_106; -x_104 = lean_ctor_get(x_29, 0); -x_105 = lean_ctor_get(x_29, 1); -lean_inc(x_105); -lean_inc(x_104); -lean_dec(x_29); -x_106 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_106, 0, x_104); -lean_ctor_set(x_106, 1, x_105); -return x_106; -} -} -} -else -{ -uint8_t x_107; -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_107 = !lean_is_exclusive(x_26); -if (x_107 == 0) -{ -return x_26; -} -else -{ -lean_object* x_108; lean_object* x_109; lean_object* x_110; -x_108 = lean_ctor_get(x_26, 0); -x_109 = lean_ctor_get(x_26, 1); -lean_inc(x_109); -lean_inc(x_108); -lean_dec(x_26); -x_110 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_110, 0, x_108); -lean_ctor_set(x_110, 1, x_109); -return x_110; -} -} -} -} -} -case 6: -{ -lean_object* x_111; lean_object* x_112; lean_object* x_113; uint64_t x_114; lean_object* x_115; -x_111 = lean_ctor_get(x_5, 0); -lean_inc(x_111); -x_112 = lean_ctor_get(x_5, 1); -lean_inc(x_112); -x_113 = lean_ctor_get(x_5, 2); -lean_inc(x_113); -x_114 = lean_ctor_get_uint64(x_5, sizeof(void*)*3); -lean_dec(x_5); -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -lean_inc(x_1); -x_115 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop(x_1, x_2, x_3, x_4, x_112, x_6, x_7, x_8, x_9, x_10, x_11, x_12); -if (lean_obj_tag(x_115) == 0) -{ -lean_object* x_116; lean_object* x_117; uint8_t x_118; lean_object* x_119; lean_object* x_120; -x_116 = lean_ctor_get(x_115, 0); -lean_inc(x_116); -x_117 = lean_ctor_get(x_115, 1); -lean_inc(x_117); -lean_dec(x_115); -x_118 = (uint8_t)((x_114 << 24) >> 61); -x_119 = lean_alloc_closure((void*)(l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__2___boxed), 13, 5); -lean_closure_set(x_119, 0, x_113); -lean_closure_set(x_119, 1, x_1); -lean_closure_set(x_119, 2, x_2); -lean_closure_set(x_119, 3, x_3); -lean_closure_set(x_119, 4, x_4); -x_120 = l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabImplicitLambda_loop___spec__1___rarg(x_111, x_118, x_116, x_119, x_6, x_7, x_8, x_9, x_10, x_11, x_117); -return x_120; -} -else -{ -uint8_t x_121; -lean_dec(x_113); -lean_dec(x_111); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_121 = !lean_is_exclusive(x_115); -if (x_121 == 0) -{ -return x_115; -} -else -{ -lean_object* x_122; lean_object* x_123; lean_object* x_124; -x_122 = lean_ctor_get(x_115, 0); -x_123 = lean_ctor_get(x_115, 1); -lean_inc(x_123); -lean_inc(x_122); -lean_dec(x_115); -x_124 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_124, 0, x_122); -lean_ctor_set(x_124, 1, x_123); -return x_124; -} -} -} -case 7: -{ -lean_object* x_125; lean_object* x_126; lean_object* x_127; uint64_t x_128; lean_object* x_129; -x_125 = lean_ctor_get(x_5, 0); -lean_inc(x_125); -x_126 = lean_ctor_get(x_5, 1); -lean_inc(x_126); -x_127 = lean_ctor_get(x_5, 2); -lean_inc(x_127); -x_128 = lean_ctor_get_uint64(x_5, sizeof(void*)*3); -lean_dec(x_5); -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -lean_inc(x_1); -x_129 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop(x_1, x_2, x_3, x_4, x_126, x_6, x_7, x_8, x_9, x_10, x_11, x_12); -if (lean_obj_tag(x_129) == 0) -{ -lean_object* x_130; lean_object* x_131; uint8_t x_132; lean_object* x_133; lean_object* x_134; -x_130 = lean_ctor_get(x_129, 0); -lean_inc(x_130); -x_131 = lean_ctor_get(x_129, 1); -lean_inc(x_131); -lean_dec(x_129); -x_132 = (uint8_t)((x_128 << 24) >> 61); -x_133 = lean_alloc_closure((void*)(l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__3___boxed), 13, 5); -lean_closure_set(x_133, 0, x_127); -lean_closure_set(x_133, 1, x_1); -lean_closure_set(x_133, 2, x_2); -lean_closure_set(x_133, 3, x_3); -lean_closure_set(x_133, 4, x_4); -x_134 = l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabImplicitLambda_loop___spec__1___rarg(x_125, x_132, x_130, x_133, x_6, x_7, x_8, x_9, x_10, x_11, x_131); -return x_134; -} -else -{ -uint8_t x_135; -lean_dec(x_127); -lean_dec(x_125); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_135 = !lean_is_exclusive(x_129); -if (x_135 == 0) -{ -return x_129; -} -else -{ -lean_object* x_136; lean_object* x_137; lean_object* x_138; -x_136 = lean_ctor_get(x_129, 0); -x_137 = lean_ctor_get(x_129, 1); -lean_inc(x_137); -lean_inc(x_136); -lean_dec(x_129); -x_138 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_138, 0, x_136); -lean_ctor_set(x_138, 1, x_137); -return x_138; -} -} -} -case 8: -{ -lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; lean_object* x_143; -x_139 = lean_ctor_get(x_5, 0); -lean_inc(x_139); -x_140 = lean_ctor_get(x_5, 1); -lean_inc(x_140); -x_141 = lean_ctor_get(x_5, 2); -lean_inc(x_141); -x_142 = lean_ctor_get(x_5, 3); -lean_inc(x_142); -lean_dec(x_5); -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -lean_inc(x_1); -x_143 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop(x_1, x_2, x_3, x_4, x_140, x_6, x_7, x_8, x_9, x_10, x_11, x_12); -if (lean_obj_tag(x_143) == 0) -{ -lean_object* x_144; lean_object* x_145; lean_object* x_146; -x_144 = lean_ctor_get(x_143, 0); -lean_inc(x_144); -x_145 = lean_ctor_get(x_143, 1); -lean_inc(x_145); -lean_dec(x_143); -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -lean_inc(x_1); -x_146 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop(x_1, x_2, x_3, x_4, x_141, x_6, x_7, x_8, x_9, x_10, x_11, x_145); -if (lean_obj_tag(x_146) == 0) -{ -lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; -x_147 = lean_ctor_get(x_146, 0); -lean_inc(x_147); -x_148 = lean_ctor_get(x_146, 1); -lean_inc(x_148); -lean_dec(x_146); -x_149 = lean_alloc_closure((void*)(l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__4___boxed), 13, 5); -lean_closure_set(x_149, 0, x_142); -lean_closure_set(x_149, 1, x_1); -lean_closure_set(x_149, 2, x_2); -lean_closure_set(x_149, 3, x_3); -lean_closure_set(x_149, 4, x_4); -x_150 = l_Lean_Meta_withLetDecl___at_Lean_Elab_Term_elabLetDeclAux___spec__2___rarg(x_139, x_144, x_147, x_149, x_6, x_7, x_8, x_9, x_10, x_11, x_148); -return x_150; -} -else -{ -uint8_t x_151; -lean_dec(x_144); -lean_dec(x_142); -lean_dec(x_139); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_151 = !lean_is_exclusive(x_146); -if (x_151 == 0) -{ -return x_146; -} -else -{ -lean_object* x_152; lean_object* x_153; lean_object* x_154; -x_152 = lean_ctor_get(x_146, 0); -x_153 = lean_ctor_get(x_146, 1); -lean_inc(x_153); -lean_inc(x_152); -lean_dec(x_146); -x_154 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_154, 0, x_152); -lean_ctor_set(x_154, 1, x_153); -return x_154; -} -} -} -else -{ -uint8_t x_155; -lean_dec(x_142); -lean_dec(x_141); -lean_dec(x_139); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_155 = !lean_is_exclusive(x_143); -if (x_155 == 0) -{ -return x_143; -} -else -{ -lean_object* x_156; lean_object* x_157; lean_object* x_158; -x_156 = lean_ctor_get(x_143, 0); -x_157 = lean_ctor_get(x_143, 1); -lean_inc(x_157); -lean_inc(x_156); -lean_dec(x_143); -x_158 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_158, 0, x_156); -lean_ctor_set(x_158, 1, x_157); -return x_158; -} -} -} -case 10: -{ -lean_object* x_159; lean_object* x_160; lean_object* x_161; -x_159 = lean_ctor_get(x_5, 0); -lean_inc(x_159); -x_160 = lean_ctor_get(x_5, 1); -lean_inc(x_160); -x_161 = l_Lean_getRecAppSyntax_x3f(x_5); -lean_dec(x_5); -if (lean_obj_tag(x_161) == 0) -{ -lean_object* x_162; -x_162 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop(x_1, x_2, x_3, x_4, x_160, x_6, x_7, x_8, x_9, x_10, x_11, x_12); -if (lean_obj_tag(x_162) == 0) -{ -uint8_t x_163; -x_163 = !lean_is_exclusive(x_162); -if (x_163 == 0) -{ -lean_object* x_164; lean_object* x_165; -x_164 = lean_ctor_get(x_162, 0); -x_165 = l_Lean_mkMData(x_159, x_164); -lean_ctor_set(x_162, 0, x_165); -return x_162; -} -else -{ -lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; -x_166 = lean_ctor_get(x_162, 0); -x_167 = lean_ctor_get(x_162, 1); -lean_inc(x_167); -lean_inc(x_166); -lean_dec(x_162); -x_168 = l_Lean_mkMData(x_159, x_166); -x_169 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_169, 0, x_168); -lean_ctor_set(x_169, 1, x_167); -return x_169; -} -} -else -{ -uint8_t x_170; -lean_dec(x_159); -x_170 = !lean_is_exclusive(x_162); -if (x_170 == 0) -{ -return x_162; -} -else -{ -lean_object* x_171; lean_object* x_172; lean_object* x_173; -x_171 = lean_ctor_get(x_162, 0); -x_172 = lean_ctor_get(x_162, 1); -lean_inc(x_172); -lean_inc(x_171); -lean_dec(x_162); -x_173 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_173, 0, x_171); -lean_ctor_set(x_173, 1, x_172); -return x_173; -} -} -} -else -{ -lean_object* x_174; uint8_t x_175; -lean_dec(x_159); -x_174 = lean_ctor_get(x_161, 0); -lean_inc(x_174); -lean_dec(x_161); -x_175 = !lean_is_exclusive(x_10); -if (x_175 == 0) -{ -lean_object* x_176; lean_object* x_177; -x_176 = lean_ctor_get(x_10, 3); -x_177 = l_Lean_replaceRef(x_174, x_176); -lean_dec(x_176); -lean_dec(x_174); -lean_ctor_set(x_10, 3, x_177); -x_5 = x_160; -goto _start; -} -else -{ -lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; -x_179 = lean_ctor_get(x_10, 0); -x_180 = lean_ctor_get(x_10, 1); -x_181 = lean_ctor_get(x_10, 2); -x_182 = lean_ctor_get(x_10, 3); -x_183 = lean_ctor_get(x_10, 4); -x_184 = lean_ctor_get(x_10, 5); -x_185 = lean_ctor_get(x_10, 6); -x_186 = lean_ctor_get(x_10, 7); -x_187 = lean_ctor_get(x_10, 8); -lean_inc(x_187); -lean_inc(x_186); -lean_inc(x_185); -lean_inc(x_184); -lean_inc(x_183); -lean_inc(x_182); -lean_inc(x_181); -lean_inc(x_180); -lean_inc(x_179); -lean_dec(x_10); -x_188 = l_Lean_replaceRef(x_174, x_182); -lean_dec(x_182); -lean_dec(x_174); -x_189 = lean_alloc_ctor(0, 9, 0); -lean_ctor_set(x_189, 0, x_179); -lean_ctor_set(x_189, 1, x_180); -lean_ctor_set(x_189, 2, x_181); -lean_ctor_set(x_189, 3, x_188); -lean_ctor_set(x_189, 4, x_183); -lean_ctor_set(x_189, 5, x_184); -lean_ctor_set(x_189, 6, x_185); -lean_ctor_set(x_189, 7, x_186); -lean_ctor_set(x_189, 8, x_187); -x_5 = x_160; -x_10 = x_189; -goto _start; -} -} -} -case 11: -{ -lean_object* x_191; lean_object* x_192; lean_object* x_193; lean_object* x_194; -x_191 = lean_ctor_get(x_5, 0); -lean_inc(x_191); -x_192 = lean_ctor_get(x_5, 1); -lean_inc(x_192); -x_193 = lean_ctor_get(x_5, 2); -lean_inc(x_193); -lean_dec(x_5); -x_194 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop(x_1, x_2, x_3, x_4, x_193, x_6, x_7, x_8, x_9, x_10, x_11, x_12); -if (lean_obj_tag(x_194) == 0) -{ -uint8_t x_195; -x_195 = !lean_is_exclusive(x_194); -if (x_195 == 0) -{ -lean_object* x_196; lean_object* x_197; -x_196 = lean_ctor_get(x_194, 0); -x_197 = l_Lean_mkProj(x_191, x_192, x_196); -lean_ctor_set(x_194, 0, x_197); -return x_194; -} -else -{ -lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; -x_198 = lean_ctor_get(x_194, 0); -x_199 = lean_ctor_get(x_194, 1); -lean_inc(x_199); -lean_inc(x_198); -lean_dec(x_194); -x_200 = l_Lean_mkProj(x_191, x_192, x_198); -x_201 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_201, 0, x_200); -lean_ctor_set(x_201, 1, x_199); -return x_201; -} -} -else -{ -uint8_t x_202; -lean_dec(x_192); -lean_dec(x_191); -x_202 = !lean_is_exclusive(x_194); -if (x_202 == 0) -{ -return x_194; -} -else -{ -lean_object* x_203; lean_object* x_204; lean_object* x_205; -x_203 = lean_ctor_get(x_194, 0); -x_204 = lean_ctor_get(x_194, 1); -lean_inc(x_204); -lean_inc(x_203); -lean_dec(x_194); -x_205 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_205, 0, x_203); -lean_ctor_set(x_205, 1, x_204); -return x_205; -} -} -} -default: -{ -lean_object* x_206; -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_206 = l_Lean_Elab_ensureNoRecFn(x_1, x_5, x_8, x_9, x_10, x_11, x_12); -return x_206; -} -} -} -} -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processApp___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, size_t x_5, size_t x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { -_start: -{ -uint8_t x_15; -x_15 = lean_usize_dec_lt(x_6, x_5); -if (x_15 == 0) -{ -lean_object* x_16; -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_16 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_16, 0, x_7); -lean_ctor_set(x_16, 1, x_14); -return x_16; -} -else -{ -lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_17 = lean_array_uget(x_7, x_6); -x_18 = lean_unsigned_to_nat(0u); -x_19 = lean_array_uset(x_7, x_6, x_18); -lean_inc(x_13); -lean_inc(x_12); -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -lean_inc(x_1); -x_20 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop(x_1, x_2, x_3, x_4, x_17, x_8, x_9, x_10, x_11, x_12, x_13, x_14); -if (lean_obj_tag(x_20) == 0) -{ -lean_object* x_21; lean_object* x_22; size_t x_23; size_t x_24; lean_object* x_25; -x_21 = lean_ctor_get(x_20, 0); -lean_inc(x_21); -x_22 = lean_ctor_get(x_20, 1); -lean_inc(x_22); -lean_dec(x_20); -x_23 = 1; -x_24 = lean_usize_add(x_6, x_23); -x_25 = lean_array_uset(x_19, x_6, x_21); -x_6 = x_24; -x_7 = x_25; -x_14 = x_22; -goto _start; -} -else -{ -uint8_t x_27; -lean_dec(x_19); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_27 = !lean_is_exclusive(x_20); -if (x_27 == 0) -{ -return x_20; -} -else -{ -lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_28 = lean_ctor_get(x_20, 0); -x_29 = lean_ctor_get(x_20, 1); -lean_inc(x_29); -lean_inc(x_28); -lean_dec(x_20); -x_30 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_30, 0, x_28); -lean_ctor_set(x_30, 1, x_29); -return x_30; -} -} -} -} -} -LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processApp___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { -_start: -{ -if (lean_obj_tag(x_5) == 5) -{ -lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; -x_15 = lean_ctor_get(x_5, 0); -lean_inc(x_15); -x_16 = lean_ctor_get(x_5, 1); -lean_inc(x_16); -lean_dec(x_5); -x_17 = lean_array_set(x_6, x_7, x_16); -x_18 = lean_unsigned_to_nat(1u); -x_19 = lean_nat_sub(x_7, x_18); -lean_dec(x_7); -x_5 = x_15; -x_6 = x_17; -x_7 = x_19; -goto _start; -} -else -{ -lean_object* x_21; -lean_dec(x_7); -lean_inc(x_13); -lean_inc(x_12); -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -lean_inc(x_1); -x_21 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop(x_1, x_2, x_3, x_4, x_5, x_8, x_9, x_10, x_11, x_12, x_13, x_14); -if (lean_obj_tag(x_21) == 0) -{ -lean_object* x_22; lean_object* x_23; lean_object* x_24; size_t x_25; size_t x_26; lean_object* x_27; -x_22 = lean_ctor_get(x_21, 0); -lean_inc(x_22); -x_23 = lean_ctor_get(x_21, 1); -lean_inc(x_23); -lean_dec(x_21); -x_24 = lean_array_get_size(x_6); -x_25 = lean_usize_of_nat(x_24); -lean_dec(x_24); -x_26 = 0; -x_27 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processApp___spec__1(x_1, x_2, x_3, x_4, x_25, x_26, x_6, x_8, x_9, x_10, x_11, x_12, x_13, x_23); -if (lean_obj_tag(x_27) == 0) -{ -uint8_t x_28; -x_28 = !lean_is_exclusive(x_27); -if (x_28 == 0) -{ -lean_object* x_29; lean_object* x_30; -x_29 = lean_ctor_get(x_27, 0); -x_30 = l_Lean_mkAppN(x_22, x_29); -lean_ctor_set(x_27, 0, x_30); -return x_27; -} -else -{ -lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_31 = lean_ctor_get(x_27, 0); -x_32 = lean_ctor_get(x_27, 1); -lean_inc(x_32); -lean_inc(x_31); -lean_dec(x_27); -x_33 = l_Lean_mkAppN(x_22, x_31); -x_34 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_34, 0, x_33); -lean_ctor_set(x_34, 1, x_32); -return x_34; -} -} -else -{ -uint8_t x_35; -lean_dec(x_22); -x_35 = !lean_is_exclusive(x_27); -if (x_35 == 0) -{ -return x_27; -} -else -{ -lean_object* x_36; lean_object* x_37; lean_object* x_38; -x_36 = lean_ctor_get(x_27, 0); -x_37 = lean_ctor_get(x_27, 1); -lean_inc(x_37); -lean_inc(x_36); -lean_dec(x_27); -x_38 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_38, 0, x_36); -lean_ctor_set(x_38, 1, x_37); -return x_38; -} -} -} -else -{ -uint8_t x_39; -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_6); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_39 = !lean_is_exclusive(x_21); -if (x_39 == 0) -{ -return x_21; -} -else -{ -lean_object* x_40; lean_object* x_41; lean_object* x_42; -x_40 = lean_ctor_get(x_21, 0); -x_41 = lean_ctor_get(x_21, 1); -lean_inc(x_41); -lean_inc(x_40); -lean_dec(x_21); -x_42 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_42, 0, x_40); -lean_ctor_set(x_42, 1, x_41); -return x_42; -} -} -} -} -} -LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processApp(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_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; -x_13 = l_Lean_Expr_isAppOf(x_5, x_1); -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; -x_14 = lean_unsigned_to_nat(0u); -x_15 = l_Lean_Expr_getAppNumArgsAux(x_5, x_14); -x_16 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processRec___closed__1; -lean_inc(x_15); -x_17 = lean_mk_array(x_15, x_16); -x_18 = lean_unsigned_to_nat(1u); -x_19 = lean_nat_sub(x_15, x_18); -lean_dec(x_15); -x_20 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processApp___spec__2(x_1, x_2, x_3, x_4, x_5, x_17, x_19, x_6, x_7, x_8, x_9, x_10, x_11, x_12); -return x_20; -} -else -{ -lean_object* x_21; -x_21 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processRec(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); -return x_21; -} -} -} -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processRec___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) { -_start: -{ -size_t x_15; size_t x_16; lean_object* x_17; -x_15 = lean_unbox_usize(x_5); -lean_dec(x_5); -x_16 = lean_unbox_usize(x_6); -lean_dec(x_6); -x_17 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processRec___spec__1(x_1, x_2, x_3, x_4, x_15, x_16, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14); -return x_17; -} -} -LEAN_EXPORT lean_object* l_Lean_Meta_getMatcherInfo_x3f___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { -_start: -{ -lean_object* x_9; -x_9 = l_Lean_Meta_getMatcherInfo_x3f___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -return x_9; -} -} -LEAN_EXPORT lean_object* l_Lean_Meta_matchMatcherApp_x3f___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { -_start: -{ -lean_object* x_9; -x_9 = l_Lean_Meta_matchMatcherApp_x3f___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -return x_9; -} -} -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { -_start: -{ -lean_object* x_15; -x_15 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14); -lean_dec(x_7); -lean_dec(x_1); -return x_15; -} -} -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) { -_start: -{ -lean_object* x_16; -x_16 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15); -lean_dec(x_1); -return x_16; -} -} -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { -_start: -{ -size_t x_15; size_t x_16; lean_object* x_17; -x_15 = lean_unbox_usize(x_5); -lean_dec(x_5); -x_16 = lean_unbox_usize(x_6); -lean_dec(x_6); -x_17 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4(x_1, x_2, x_3, x_4, x_15, x_16, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14); -return x_17; -} -} -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__5___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { -_start: -{ -size_t x_15; size_t x_16; lean_object* x_17; -x_15 = lean_unbox_usize(x_5); -lean_dec(x_5); -x_16 = lean_unbox_usize(x_6); -lean_dec(x_6); -x_17 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__5(x_1, x_2, x_3, x_4, x_15, x_16, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14); -return x_17; -} -} -LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___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: -{ -lean_object* x_14; -x_14 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); -lean_dec(x_1); -return x_14; -} -} -LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { -_start: -{ -lean_object* x_14; -x_14 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__3(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); -lean_dec(x_1); -return x_14; -} -} -LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { -_start: -{ -lean_object* x_14; -x_14 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__4(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); -lean_dec(x_1); -return x_14; -} -} -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processApp___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) { -_start: -{ -size_t x_15; size_t x_16; lean_object* x_17; -x_15 = lean_unbox_usize(x_5); -lean_dec(x_5); -x_16 = lean_unbox_usize(x_6); -lean_dec(x_6); -x_17 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processApp___spec__1(x_1, x_2, x_3, x_4, x_15, x_16, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14); -return x_17; -} -} -LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { -_start: -{ -lean_object* x_13; -x_13 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); -return x_13; -} -} LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processSumCasesOn___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: { @@ -4008,7 +4694,6 @@ x_21 = lean_nat_sub(x_19, x_20); x_22 = lean_unsigned_to_nat(1u); x_23 = lean_nat_sub(x_21, x_22); lean_dec(x_21); -lean_inc(x_3); x_24 = l_Lean_Expr_getRevArg_x21(x_3, x_23); x_25 = lean_expr_eqv(x_24, x_1); lean_dec(x_24); @@ -4026,7 +4711,6 @@ x_27 = lean_unsigned_to_nat(4u); x_28 = lean_nat_sub(x_19, x_27); x_29 = lean_nat_sub(x_28, x_22); lean_dec(x_28); -lean_inc(x_3); x_30 = l_Lean_Expr_getRevArg_x21(x_3, x_29); x_31 = l_Lean_Expr_isLambda(x_30); lean_dec(x_30); @@ -4044,7 +4728,6 @@ x_33 = lean_unsigned_to_nat(5u); x_34 = lean_nat_sub(x_19, x_33); x_35 = lean_nat_sub(x_34, x_22); lean_dec(x_34); -lean_inc(x_3); x_36 = l_Lean_Expr_getRevArg_x21(x_3, x_35); x_37 = l_Lean_Expr_isLambda(x_36); lean_dec(x_36); @@ -4092,7 +4775,7 @@ lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); -x_53 = l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__3___rarg(x_51, x_52, x_5, x_6, x_7, x_8, x_9, x_10, x_49); +x_53 = l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processSumCasesOn___spec__1___rarg(x_51, x_52, x_5, x_6, x_7, x_8, x_9, x_10, x_49); if (lean_obj_tag(x_53) == 0) { lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; @@ -4126,7 +4809,7 @@ lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); -x_61 = l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__3___rarg(x_58, x_60, x_5, x_6, x_7, x_8, x_9, x_10, x_55); +x_61 = l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processSumCasesOn___spec__1___rarg(x_58, x_60, x_5, x_6, x_7, x_8, x_9, x_10, x_55); if (lean_obj_tag(x_61) == 0) { lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; @@ -4152,7 +4835,7 @@ lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); -x_67 = l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__3___rarg(x_64, x_66, x_5, x_6, x_7, x_8, x_9, x_10, x_63); +x_67 = l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processSumCasesOn___spec__1___rarg(x_64, x_66, x_5, x_6, x_7, x_8, x_9, x_10, x_63); if (lean_obj_tag(x_67) == 0) { lean_object* x_68; lean_object* x_69; lean_object* x_70; @@ -4775,7 +5458,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___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processPSigmaCasesOn___closed__4; x_2 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processPSigmaCasesOn___closed__5; -x_3 = lean_unsigned_to_nat(118u); +x_3 = lean_unsigned_to_nat(124u); x_4 = lean_unsigned_to_nat(49u); x_5 = l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processPSigmaCasesOn___closed__6; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -4826,7 +5509,6 @@ x_21 = lean_nat_sub(x_19, x_20); x_22 = lean_unsigned_to_nat(1u); x_23 = lean_nat_sub(x_21, x_22); lean_dec(x_21); -lean_inc(x_3); x_24 = l_Lean_Expr_getRevArg_x21(x_3, x_23); x_25 = lean_expr_eqv(x_24, x_1); lean_dec(x_24); @@ -4845,7 +5527,6 @@ x_27 = lean_unsigned_to_nat(4u); x_28 = lean_nat_sub(x_19, x_27); x_29 = lean_nat_sub(x_28, x_22); lean_dec(x_28); -lean_inc(x_3); x_30 = l_Lean_Expr_getRevArg_x21(x_3, x_29); x_31 = l_Lean_Expr_isLambda(x_30); if (x_31 == 0) @@ -4986,7 +5667,7 @@ lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); -x_69 = l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__3___rarg(x_67, x_68, x_5, x_6, x_7, x_8, x_9, x_10, x_65); +x_69 = l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processSumCasesOn___spec__1___rarg(x_67, x_68, x_5, x_6, x_7, x_8, x_9, x_10, x_65); if (lean_obj_tag(x_69) == 0) { lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; @@ -5013,7 +5694,7 @@ lean_closure_set(x_76, 2, x_61); lean_closure_set(x_76, 3, x_64); lean_closure_set(x_76, 4, x_1); lean_closure_set(x_76, 5, x_4); -x_77 = l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__3___rarg(x_74, x_76, x_5, x_6, x_7, x_8, x_9, x_10, x_71); +x_77 = l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processSumCasesOn___spec__1___rarg(x_74, x_76, x_5, x_6, x_7, x_8, x_9, x_10, x_71); if (lean_obj_tag(x_77) == 0) { uint8_t x_78; @@ -5212,7 +5893,7 @@ lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); -x_126 = l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__3___rarg(x_124, x_125, x_5, x_6, x_7, x_8, x_9, x_10, x_122); +x_126 = l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processSumCasesOn___spec__1___rarg(x_124, x_125, x_5, x_6, x_7, x_8, x_9, x_10, x_122); if (lean_obj_tag(x_126) == 0) { lean_object* x_127; lean_object* x_128; lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; @@ -5239,7 +5920,7 @@ lean_closure_set(x_133, 2, x_118); lean_closure_set(x_133, 3, x_121); lean_closure_set(x_133, 4, x_1); lean_closure_set(x_133, 5, x_4); -x_134 = l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__3___rarg(x_131, x_133, x_5, x_6, x_7, x_8, x_9, x_10, x_128); +x_134 = l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processSumCasesOn___spec__1___rarg(x_131, x_133, x_5, x_6, x_7, x_8, x_9, x_10, x_128); if (lean_obj_tag(x_134) == 0) { lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; @@ -5442,7 +6123,7 @@ lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); -x_175 = l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__3___rarg(x_173, x_174, x_5, x_6, x_7, x_8, x_9, x_10, x_171); +x_175 = l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processSumCasesOn___spec__1___rarg(x_173, x_174, x_5, x_6, x_7, x_8, x_9, x_10, x_171); if (lean_obj_tag(x_175) == 0) { lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; @@ -5469,7 +6150,7 @@ lean_closure_set(x_182, 2, x_167); lean_closure_set(x_182, 3, x_170); lean_closure_set(x_182, 4, x_1); lean_closure_set(x_182, 5, x_4); -x_183 = l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__3___rarg(x_180, x_182, x_5, x_6, x_7, x_8, x_9, x_10, x_177); +x_183 = l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processSumCasesOn___spec__1___rarg(x_180, x_182, x_5, x_6, x_7, x_8, x_9, x_10, x_177); if (lean_obj_tag(x_183) == 0) { lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192; lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196; lean_object* x_197; lean_object* x_198; lean_object* x_199; @@ -5743,7 +6424,7 @@ lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); -x_235 = l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__3___rarg(x_233, x_234, x_5, x_6, x_7, x_8, x_9, x_10, x_231); +x_235 = l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processSumCasesOn___spec__1___rarg(x_233, x_234, x_5, x_6, x_7, x_8, x_9, x_10, x_231); if (lean_obj_tag(x_235) == 0) { lean_object* x_236; lean_object* x_237; lean_object* x_238; lean_object* x_239; lean_object* x_240; lean_object* x_241; lean_object* x_242; lean_object* x_243; @@ -5770,7 +6451,7 @@ lean_closure_set(x_242, 2, x_227); lean_closure_set(x_242, 3, x_230); lean_closure_set(x_242, 4, x_1); lean_closure_set(x_242, 5, x_4); -x_243 = l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__3___rarg(x_240, x_242, x_5, x_6, x_7, x_8, x_9, x_10, x_237); +x_243 = l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processSumCasesOn___spec__1___rarg(x_240, x_242, x_5, x_6, x_7, x_8, x_9, x_10, x_237); if (lean_obj_tag(x_243) == 0) { lean_object* x_244; lean_object* x_245; lean_object* x_246; lean_object* x_247; lean_object* x_248; lean_object* x_249; lean_object* x_250; lean_object* x_251; lean_object* x_252; lean_object* x_253; lean_object* x_254; lean_object* x_255; lean_object* x_256; lean_object* x_257; lean_object* x_258; lean_object* x_259; lean_object* x_260; @@ -6865,6 +7546,7 @@ return x_15; } } lean_object* initialize_Init(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Util_HasConstCache(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Meta_Match_Match(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Meta_Tactic_Simp_Main(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Meta_Tactic_Cleanup(uint8_t builtin, lean_object*); @@ -6881,6 +7563,9 @@ _G_initialized = true; res = initialize_Init(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); +res = initialize_Lean_Util_HasConstCache(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); res = initialize_Lean_Meta_Match_Match(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); @@ -6917,26 +7602,28 @@ l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_applyDefaultDecrTacti lean_mark_persistent(l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_applyDefaultDecrTactic___closed__1); l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processRec___closed__1 = _init_l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processRec___closed__1(); lean_mark_persistent(l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_processRec___closed__1); -l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4___lambda__2___closed__1 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4___lambda__2___closed__1(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4___lambda__2___closed__1); -l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4___lambda__2___closed__2 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4___lambda__2___closed__2(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4___lambda__2___closed__2); -l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4___lambda__2___closed__3 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4___lambda__2___closed__3(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4___lambda__2___closed__3); -l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4___lambda__2___closed__4 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4___lambda__2___closed__4(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4___lambda__2___closed__4); -l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4___lambda__2___closed__5 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4___lambda__2___closed__5(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4___lambda__2___closed__5); -l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4___lambda__2___closed__6 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4___lambda__2___closed__6(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__4___lambda__2___closed__6); +l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__5___lambda__2___closed__1 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__5___lambda__2___closed__1(); +lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__5___lambda__2___closed__1); +l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__5___lambda__2___closed__2 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__5___lambda__2___closed__2(); +lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__5___lambda__2___closed__2); +l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__5___lambda__2___closed__3 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__5___lambda__2___closed__3(); +lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__5___lambda__2___closed__3); +l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__5___lambda__2___closed__4 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__5___lambda__2___closed__4(); +lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__5___lambda__2___closed__4); +l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__5___lambda__2___closed__5 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__5___lambda__2___closed__5(); +lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__5___lambda__2___closed__5); +l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__5___lambda__2___closed__6 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__5___lambda__2___closed__6(); +lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__5___lambda__2___closed__6); l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__1___closed__1 = _init_l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__1___closed__1(); lean_mark_persistent(l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__1___closed__1); l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__1___closed__2 = _init_l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__1___closed__2(); lean_mark_persistent(l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__1___closed__2); l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__1___closed__3 = _init_l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__1___closed__3(); lean_mark_persistent(l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__1___closed__3); -l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___closed__1 = _init_l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___closed__1(); -lean_mark_persistent(l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___closed__1); +l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__5___closed__1 = _init_l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__5___closed__1(); +lean_mark_persistent(l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__5___closed__1); +l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps___closed__1 = _init_l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps___closed__1(); +lean_mark_persistent(l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps___closed__1); l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processSumCasesOn___lambda__2___closed__1 = _init_l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processSumCasesOn___lambda__2___closed__1(); lean_mark_persistent(l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processSumCasesOn___lambda__2___closed__1); l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processSumCasesOn___lambda__3___closed__1 = _init_l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processSumCasesOn___lambda__3___closed__1(); diff --git a/stage0/stdlib/Lean/Elab/PreDefinition/WF/Main.c b/stage0/stdlib/Lean/Elab/PreDefinition/WF/Main.c index 764a33be7d..d1ae605ae3 100644 --- a/stage0/stdlib/Lean/Elab/PreDefinition/WF/Main.c +++ b/stage0/stdlib/Lean/Elab/PreDefinition/WF/Main.c @@ -141,6 +141,7 @@ lean_object* l_Lean_Expr_bindingName_x21(lean_object*); uint8_t lean_nat_dec_le(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__4(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_mkApp(lean_object*, lean_object*); +lean_object* l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processSumCasesOn___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___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_isOnlyOneUnaryDef___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_wfRecursion___closed__2; lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_instantiateForallAux(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -151,7 +152,6 @@ static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_getFixedPrefix___spe static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_getFixedPrefix___spec__3___closed__1; lean_object* l_List_mapTRAux___at_Lean_mkConstWithLevelParams___spec__1(lean_object*, lean_object*); lean_object* l_Array_ofSubarray___rarg(lean_object*); -lean_object* l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__3___rarg(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_getFixedPrefix___spec__2___closed__1; lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_wfRecursion___lambda__2___closed__2; @@ -1076,7 +1076,7 @@ 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_replaceRecApps_loop___spec__3___rarg(x_30, x_31, x_10, x_11, x_12, x_13, x_14, x_15, x_16); +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) { 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; diff --git a/stage0/stdlib/Lean/Elab/StructInst.c b/stage0/stdlib/Lean/Elab/StructInst.c index ed2c63dd6a..e2720c47c6 100644 --- a/stage0/stdlib/Lean/Elab/StructInst.c +++ b/stage0/stdlib/Lean/Elab/StructInst.c @@ -16694,6 +16694,7 @@ x_327 = lean_unsigned_to_nat(1u); x_328 = lean_nat_sub(x_326, x_327); lean_dec(x_326); x_329 = l_Lean_Expr_getRevArg_x21(x_251, x_328); +lean_dec(x_251); x_330 = lean_expr_consume_type_annotations(x_329); lean_ctor_set(x_253, 0, x_330); x_331 = lean_box(0); @@ -17059,6 +17060,7 @@ x_436 = lean_unsigned_to_nat(1u); x_437 = lean_nat_sub(x_435, x_436); lean_dec(x_435); x_438 = l_Lean_Expr_getRevArg_x21(x_251, x_437); +lean_dec(x_251); x_439 = lean_expr_consume_type_annotations(x_438); x_440 = lean_alloc_ctor(1, 1, 0); lean_ctor_set(x_440, 0, x_439); diff --git a/stage0/stdlib/Lean/Elab/Structure.c b/stage0/stdlib/Lean/Elab/Structure.c index ff4299ef78..70f4d20f9d 100644 --- a/stage0/stdlib/Lean/Elab/Structure.c +++ b/stage0/stdlib/Lean/Elab/Structure.c @@ -48,7 +48,7 @@ static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_ lean_object* l_Lean_stringToMessageData(lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223_(lean_object*, lean_object*); +lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245_(lean_object*, lean_object*); lean_object* lean_mk_empty_array_with_capacity(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__5___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Command_checkResultingUniverse(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -134,6 +134,7 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Command_checkValidCtorModifier___at___priva static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_reprStructFieldInfo____x40_Lean_Elab_Structure___hyg_551____closed__18; LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_addDefaults(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_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___closed__3; +lean_object* l_panic___at_Lean_mkApp___spec__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields_go___spec__7___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_checkValidCtorModifier___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__15___closed__2; static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_reprStructFieldInfo____x40_Lean_Elab_Structure___hyg_551____closed__3; @@ -396,7 +397,6 @@ static lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure lean_object* lean_name_append_index_after(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields_go___spec__4(lean_object*); lean_object* l_Lean_Meta_withLetDecl___at_Lean_Elab_Term_elabLetDeclAux___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_panic___at_Lean_Expr_getRevArg_x21___spec__1(lean_object*); static lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__5___lambda__4___closed__2; LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_elabStructure___closed__4; @@ -1928,7 +1928,7 @@ lean_ctor_set(x_23, 0, x_22); lean_ctor_set(x_23, 1, x_14); x_24 = lean_ctor_get(x_1, 2); lean_inc(x_24); -x_25 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223_(x_24, x_4); +x_25 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245_(x_24, x_4); x_26 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_26, 0, x_23); lean_ctor_set(x_26, 1, x_25); @@ -2032,7 +2032,7 @@ x_59 = lean_ctor_get(x_41, 0); lean_inc(x_59); lean_dec(x_41); x_60 = lean_unsigned_to_nat(1024u); -x_61 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223_(x_59, x_60); +x_61 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245_(x_59, x_60); x_62 = l___private_Lean_Elab_Structure_0__Lean_Elab_Command_reprStructFieldInfo____x40_Lean_Elab_Structure___hyg_551____closed__28; x_63 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_63, 0, x_62); @@ -22736,7 +22736,7 @@ if (lean_obj_tag(x_22) == 0) { lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; size_t x_27; size_t x_28; lean_object* x_29; x_23 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___spec__5___closed__4; -x_24 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_23); +x_24 = l_panic___at_Lean_mkApp___spec__1(x_23); x_25 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_25, 0, x_18); lean_ctor_set(x_25, 1, x_24); diff --git a/stage0/stdlib/Lean/Expr.c b/stage0/stdlib/Lean/Expr.c index 2ad3293ea0..e5ee6f748d 100644 --- a/stage0/stdlib/Lean/Expr.c +++ b/stage0/stdlib/Lean/Expr.c @@ -16,9 +16,9 @@ extern "C" { lean_object* l_List_reverse___rarg(lean_object*); LEAN_EXPORT lean_object* l_Lean_BinderInfo_isImplicit___boxed(lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_isBinding___boxed(lean_object*); +static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__25; static lean_object* l_Lean_Expr_letName_x21___closed__2; static lean_object* l_Lean_Expr_ctorName___closed__7; -static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__28; static lean_object* l_Lean_mkNatLit___closed__8; LEAN_EXPORT lean_object* l_Lean_instLTLiteral; static lean_object* l_Lean_mkLHSGoal___closed__2; @@ -27,8 +27,6 @@ LEAN_EXPORT lean_object* l_Lean_Expr_updateSort___boxed(lean_object*, lean_objec lean_object* lean_expr_update_forall(lean_object*, uint8_t, lean_object*, lean_object*); lean_object* lean_array_set(lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Lean_Expr_hasAnyFVar_visit___at_Lean_Expr_containsFVar___spec__1(lean_object*, lean_object*); -static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__5; -LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__3___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_mkDecIsFalse___closed__2; static lean_object* l_Lean_Expr_bvarIdx_x21___closed__3; static lean_object* l___private_Lean_Expr_0__Lean_reprBinderInfo____x40_Lean_Expr___hyg_378____closed__16; @@ -40,6 +38,7 @@ static lean_object* l_Lean_mkNatLit___closed__4; LEAN_EXPORT lean_object* l_Lean_isLHSGoal_x3f(lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_mvarId_x21(lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_bindingDomain_x21___boxed(lean_object*); +static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__6; LEAN_EXPORT uint8_t l_Lean_Expr_isCharLit(lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_litValue_x21(lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_letName_x21(lean_object*); @@ -49,7 +48,7 @@ LEAN_EXPORT lean_object* l_Lean_mkFreshMVarId___rarg(lean_object*, lean_object*) LEAN_EXPORT lean_object* l_Lean_Expr_replaceFVar___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_projIdx_x21___boxed(lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_updateLambda___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223_(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245_(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_getAppNumArgs___boxed(lean_object*); lean_object* lean_mk_empty_array_with_capacity(lean_object*); static lean_object* l_Lean_Expr_projExpr_x21___closed__3; @@ -74,6 +73,7 @@ LEAN_EXPORT lean_object* l_Lean_mkApp6(lean_object*, lean_object*, lean_object*, LEAN_EXPORT lean_object* l_Lean_Expr_eqv___boxed(lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Lean_Expr_isMData(lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___rarg(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Expr_getRevArg_x21___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_letBody_x21___boxed(lean_object*); uint8_t lean_uint8_dec_eq(uint8_t, uint8_t); static lean_object* l_Lean_mkDecIsFalse___closed__1; @@ -91,14 +91,15 @@ LEAN_EXPORT uint8_t l_Lean_Expr_isProp(lean_object*); uint64_t lean_uint64_of_nat(lean_object*); static lean_object* l_Lean_Expr_instHashableExpr___closed__1; static lean_object* l_Lean_mkInaccessible___closed__1; -LEAN_EXPORT uint64_t l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1732_(lean_object*); +LEAN_EXPORT uint64_t l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1754_(lean_object*); static lean_object* l_Lean_Expr_litValue_x21___closed__1; lean_object* lean_expr_update_mdata(lean_object*, lean_object*); uint32_t lean_uint8_to_uint32(uint8_t); LEAN_EXPORT lean_object* l_Lean_Expr_bindingDomain_x21(lean_object*); +static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__30; static lean_object* l_Lean_Expr_letBody_x21___closed__2; LEAN_EXPORT lean_object* l_Lean_Expr_getAppArgs(lean_object*); -static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__25; +static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__5; static lean_object* l_Lean_Expr_projIdx_x21___closed__2; LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_Expr_etaExpandedBody(lean_object*, lean_object*, lean_object*); extern lean_object* l_Std_Format_defWidth; @@ -111,6 +112,7 @@ static lean_object* l_Lean_Expr_updateLambda_x21___closed__3; uint64_t lean_uint64_add(uint64_t, uint64_t); LEAN_EXPORT lean_object* l_Lean_instReprData__1___lambda__1(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Expr_bindingInfo_x21___closed__1; +static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__42; LEAN_EXPORT lean_object* l_Lean_Level_instantiateParams___at_Lean_Expr_instantiateLevelParams___spec__3___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_ExprStructEq_instHashableExprStructEq; uint64_t lean_bool_to_uint64(uint8_t); @@ -131,17 +133,18 @@ LEAN_EXPORT lean_object* l_Lean_mkLambda___boxed(lean_object*, lean_object*, lea LEAN_EXPORT lean_object* l_Lean_Expr_getAutoParamTactic_x3f(lean_object*); LEAN_EXPORT lean_object* l_Lean_mkLit(lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_getAppRevArgs(lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_beqFVarId____x40_Lean_Expr___hyg_1677____boxed(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_panic___at_Lean_mkApp___spec__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_Level_instantiateParams___at_Lean_Expr_instantiateLevelParamsArray___spec__2(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_hasLevelParamEx___boxed(lean_object*); LEAN_EXPORT uint64_t l_Lean_Expr_Data_hash(uint64_t); LEAN_EXPORT lean_object* l_Lean_mkLHSGoal(lean_object*); -static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__6; -LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1732____boxed(lean_object*); uint8_t lean_uint32_to_uint8(uint32_t); static lean_object* l_Lean_mkDecIsTrue___closed__5; +LEAN_EXPORT uint64_t l_Lean_Expr_mkAppData(uint64_t, uint64_t, uint64_t, uint8_t, uint16_t); LEAN_EXPORT lean_object* l_Lean_instFVarIdSetEmptyCollection; +LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_mkMVar(lean_object*); +static lean_object* l_Lean_mkApp___closed__3; size_t lean_usize_sub(size_t, size_t); LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_Expr_etaExpandedAux(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_hash___boxed(lean_object*); @@ -154,19 +157,23 @@ LEAN_EXPORT lean_object* l_Lean_Expr_instantiateLevelParamsArray(lean_object*, l static lean_object* l_Lean_Expr_litValue_x21___closed__3; static lean_object* l_Lean_Expr_constName_x21___closed__1; static lean_object* l_Lean_Expr_mvarId_x21___closed__1; -static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__46; +static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__23; uint8_t l_Lean_Level_hasMVar(lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_constName_x21___boxed(lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_isArrow___boxed(lean_object*); +static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__1; LEAN_EXPORT lean_object* l_Lean_Expr_withAppRev___rarg(lean_object*, lean_object*); lean_object* l_Lean_Name_reprPrec(lean_object*, lean_object*); static lean_object* l_Lean_Expr_mkData___closed__3; LEAN_EXPORT lean_object* l_Lean_annotation_x3f___boxed(lean_object*, lean_object*); +static lean_object* l_Lean_mkApp___closed__5; LEAN_EXPORT lean_object* l_Lean_Expr_mkDataForBinder(uint64_t, lean_object*, uint32_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t); uint8_t lean_name_eq(lean_object*, lean_object*); static lean_object* l___private_Lean_Expr_0__Lean_reprBinderInfo____x40_Lean_Expr___hyg_378____closed__12; LEAN_EXPORT lean_object* l_Lean_Expr_setPPExplicit(lean_object*, uint8_t); -static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__33; +static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__47; +static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__21; +static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__38; LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_Expr_getParamSubst___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_annotation_x3f(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_constName_x3f___boxed(lean_object*); @@ -174,19 +181,16 @@ LEAN_EXPORT lean_object* l_Lean_Expr_binderInfoEx___boxed(lean_object*); LEAN_EXPORT uint8_t l_Lean_Expr_isApp(lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_Data_binderInfo___boxed(lean_object*); static lean_object* l_Lean_Expr_ctorName___closed__2; -static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__22; static lean_object* l_Lean_Expr_updateApp_x21___closed__2; LEAN_EXPORT uint8_t l_Lean_Expr_hasLooseBVarInExplicitDomain(lean_object*, lean_object*, uint8_t); -LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__7___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_hasFVarEx___boxed(lean_object*); uint64_t l_Lean_Level_hash(lean_object*); static lean_object* l_Lean_Expr_ctorName___closed__8; static lean_object* l___private_Lean_Expr_0__Lean_reprBinderInfo____x40_Lean_Expr___hyg_378____closed__26; LEAN_EXPORT lean_object* l_Lean_Expr_lt___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_updateLet___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__38; -static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__21; LEAN_EXPORT lean_object* l_Lean_Expr_appFn_x21(lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_beqFVarId____x40_Lean_Expr___hyg_1699____boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_hasLevelMVar___boxed(lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_isAutoParam___boxed(lean_object*); LEAN_EXPORT uint8_t l_Lean_Expr_isAppOf(lean_object*, lean_object*); @@ -195,12 +199,13 @@ static lean_object* l_Lean_Expr_mvarId_x21___closed__2; static lean_object* l_Lean_mkSimpleThunkType___closed__1; LEAN_EXPORT lean_object* l_Lean_BinderInfo_toUInt64___boxed(lean_object*); static lean_object* l_Lean_Expr_bindingBody_x21___closed__1; -static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__29; LEAN_EXPORT lean_object* l_Lean_BinderInfo_toCtorIdx(uint8_t); static lean_object* l_Lean_Expr_ctorName___closed__4; LEAN_EXPORT uint8_t l_List_foldr___at_Lean_mkConst___spec__2(uint8_t, lean_object*); LEAN_EXPORT uint8_t l_Lean_Expr_isBVar(lean_object*); LEAN_EXPORT lean_object* l_Lean_instReprData__1___lambda__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__13; +static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__41; lean_object* lean_expr_instantiate1(lean_object*, lean_object*); static lean_object* l_Lean_Literal_type___closed__3; lean_object* lean_array_push(lean_object*, lean_object*); @@ -210,35 +215,39 @@ LEAN_EXPORT lean_object* l_Lean_mkLetFunAnnotation(lean_object*); lean_object* lean_string_append(lean_object*, lean_object*); LEAN_EXPORT uint8_t lean_expr_has_level_mvar(lean_object*); static lean_object* l_Lean_ExprStructEq_instBEqExprStructEq___closed__1; +static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__33; static lean_object* l_Lean_Expr_updateForall_x21___closed__1; static lean_object* l_Lean_ExprStructEq_instHashableExprStructEq___closed__1; +static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__22; static lean_object* l_Lean_Expr_appFn_x21___closed__3; LEAN_EXPORT lean_object* l_Lean_Expr_getOptParamDefault_x3f(lean_object*); +LEAN_EXPORT uint8_t l_Lean_Expr_ptrEq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_getRevArgD(lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint64_t l_List_foldl___at_Lean_mkConst___spec__1(uint64_t, lean_object*); LEAN_EXPORT lean_object* l_List_mapTRAux___at_Lean_Expr_instantiateLevelParams___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Expr_getAppArgs___closed__1; static lean_object* l_Lean_mkNatLit___closed__2; uint8_t l_Lean_Level_hasParam(lean_object*); -LEAN_EXPORT uint8_t l___private_Lean_Expr_0__Lean_beqFVarId____x40_Lean_Expr___hyg_1677_(lean_object*, lean_object*); +static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__46; +LEAN_EXPORT uint8_t l___private_Lean_Expr_0__Lean_beqFVarId____x40_Lean_Expr___hyg_1699_(lean_object*, lean_object*); lean_object* l_Std_mkHashSetImp___rarg(lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__1(lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Lean_instDecidableLtLiteralInstLTLiteral(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_updateApp_x21(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_mkAppRevRange(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_updateForall_x21___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_appArg_x21(lean_object*); +static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__29; static lean_object* l_Lean_Expr_fvarId_x21___closed__2; uint8_t lean_expr_lt(lean_object*, lean_object*); -static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__13; static lean_object* l_Lean_Expr_sortLevel_x21___closed__3; LEAN_EXPORT lean_object* l_Lean_Expr_getRevArg_x21(lean_object*, lean_object*); static lean_object* l_Lean_Expr_letName_x21___closed__1; +LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__1___boxed(lean_object*, lean_object*); static lean_object* l_Lean_Expr_projExpr_x21___closed__2; LEAN_EXPORT lean_object* l_Lean_Expr_replaceFVars(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_mdataExpr_x21(lean_object*); +uint32_t lean_uint32_of_nat(lean_object*); uint8_t lean_usize_dec_lt(size_t, size_t); -static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__47; LEAN_EXPORT lean_object* l_Lean_Expr_letName_x21___boxed(lean_object*); static lean_object* l_Lean_Expr_projExpr_x21___closed__1; LEAN_EXPORT lean_object* l_Lean_instCoeExprExprStructEq___boxed(lean_object*); @@ -247,7 +256,6 @@ static lean_object* l_Lean_Expr_updateForall_x21___closed__3; LEAN_EXPORT lean_object* l_Lean_Expr_updateForall_x21(lean_object*, uint8_t, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_looseBVarRange___boxed(lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_mkDataForBinder___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__23; LEAN_EXPORT lean_object* l_Lean_BinderInfo_hash___boxed(lean_object*); LEAN_EXPORT lean_object* l_Array_foldrMUnsafe_fold___at_Lean_mkAppRev___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_containsFVar___boxed(lean_object*, lean_object*); @@ -262,19 +270,22 @@ lean_object* lean_nat_add(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_hasExprMVarEx___boxed(lean_object*); LEAN_EXPORT lean_object* l_Lean_instReprLiteral; LEAN_EXPORT lean_object* l_Lean_Expr_hasExprMVar___boxed(lean_object*); +static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__16; static lean_object* l_Lean_Expr_setPPExplicit___closed__4; +uint16_t lean_uint16_add(uint16_t, uint16_t); LEAN_EXPORT lean_object* l_Lean_Expr_getAppNumArgs(lean_object*); LEAN_EXPORT lean_object* l_Lean_mkFreshFVarId(lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__2(uint64_t, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_instReprFVarId(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__2___boxed(lean_object*, lean_object*, lean_object*); +static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__35; LEAN_EXPORT lean_object* l_Lean_Expr_bindingName_x21___boxed(lean_object*); -static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__2___closed__1; static lean_object* l_Lean_Expr_updateLambdaE_x21___closed__1; LEAN_EXPORT lean_object* l_Lean_Expr_getAppFn___boxed(lean_object*); static lean_object* l_Lean_mkOr___closed__1; static lean_object* l_Lean_instReprData__1___lambda__5___closed__1; uint32_t lean_uint32_add(uint32_t, uint32_t); static lean_object* l_Lean_Expr_sortLevel_x21___closed__2; +static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__7; static lean_object* l_Lean_instReprData__1___lambda__4___closed__1; uint8_t lean_expr_has_loose_bvar(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_mkAppN(lean_object*, lean_object*); @@ -283,11 +294,13 @@ LEAN_EXPORT lean_object* l_Lean_mkMData(lean_object*, lean_object*); static lean_object* l_Lean_mkOr___closed__3; LEAN_EXPORT lean_object* l_Lean_Expr_Data_approxDepth___boxed(lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_instantiateLevelParamsCore(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__5___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_updateFn___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_sortLevel_x21___boxed(lean_object*); LEAN_EXPORT lean_object* l_Lean_mkDecIsTrue(lean_object*, lean_object*); extern uint64_t l_instInhabitedUInt64; LEAN_EXPORT lean_object* l_Lean_mkLet___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__24; static lean_object* l___private_Lean_Expr_0__Lean_reprBinderInfo____x40_Lean_Expr___hyg_378____closed__19; LEAN_EXPORT lean_object* l_Lean_BinderInfo_noConfusion___rarg(uint8_t, uint8_t, lean_object*); lean_object* lean_expr_lower_loose_bvars(lean_object*, lean_object*, lean_object*); @@ -295,6 +308,7 @@ LEAN_EXPORT lean_object* l_Lean_Expr_setOption___at_Lean_Expr_setPPExplicit___sp LEAN_EXPORT lean_object* l_Lean_letFunAnnotation_x3f(lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_isMVar___boxed(lean_object*); LEAN_EXPORT uint8_t l_Lean_Expr_Data_hasExprMVar(uint64_t); +static uint32_t l_Lean_mkApp___closed__1; LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Literal_type(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_Expr_getParamSubstArray(lean_object*, lean_object*, lean_object*, lean_object*); @@ -304,7 +318,6 @@ static lean_object* l_Lean_Expr_bindingName_x21___closed__3; LEAN_EXPORT lean_object* l_Lean_Expr_hasLooseBVarInExplicitDomain___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_isConstOf___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* lean_expr_mk_mdata(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__2(uint64_t, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_instBEqBinderInfo; static lean_object* l___private_Lean_Expr_0__Lean_reprBinderInfo____x40_Lean_Expr___hyg_378____closed__1; static lean_object* l_Lean_Expr_updateSort_x21___closed__3; @@ -314,7 +327,6 @@ static lean_object* l_Lean_mkEM___closed__3; LEAN_EXPORT lean_object* l_Lean_Expr_updateLambda_x21(lean_object*, uint8_t, lean_object*, lean_object*); lean_object* lean_array_fget(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprLiteral____x40_Lean_Expr___hyg_109_(lean_object*, lean_object*); -static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__35; static lean_object* l_Lean_instHashableFVarId___closed__1; static lean_object* l_Lean_Expr_updateForall_x21___closed__2; static lean_object* l_Lean_Expr_updateLambdaE_x21___closed__2; @@ -336,36 +348,38 @@ LEAN_EXPORT lean_object* l_Lean_Expr_setPPUniverses(lean_object*, uint8_t); LEAN_EXPORT lean_object* lean_expr_consume_type_annotations(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprBinderInfo____x40_Lean_Expr___hyg_378____boxed(lean_object*, lean_object*); static lean_object* l_Lean_Expr_constName_x21___closed__3; -static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__16; static lean_object* l_Lean_Literal_type___closed__6; LEAN_EXPORT uint8_t l_Lean_Expr_hasLevelParam(lean_object*); LEAN_EXPORT lean_object* l_Lean_instCoeExprExprStructEq(lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_updateConst_x21(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_instEmptyCollectionFVarIdMap(lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__1___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_projExpr_x21(lean_object*); lean_object* lean_nat_sub(lean_object*, lean_object*); static lean_object* l___private_Lean_Expr_0__Lean_reprBinderInfo____x40_Lean_Expr___hyg_378____closed__2; +uint16_t lean_uint32_to_uint16(uint32_t); LEAN_EXPORT lean_object* l_Lean_instReprData__1___lambda__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_constLevels_x21(lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_hasLevelParam___boxed(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_beqLiteral____x40_Lean_Expr___hyg_31____boxed(lean_object*, lean_object*); -static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__7; LEAN_EXPORT lean_object* l_Lean_instFVarIdSetInhabited; static lean_object* l_Lean_Expr_sortLevel_x21___closed__1; +static lean_object* l_Lean_mkApp___closed__2; +LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__6___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t lean_expr_has_mvar(lean_object*); +static lean_object* l_Lean_Expr_mkData___closed__7; LEAN_EXPORT lean_object* l_Lean_mkRawNatLit(lean_object*); static lean_object* l_Lean_mkNatLit___closed__6; uint8_t l_Lean_KVMap_getBool(lean_object*, lean_object*, uint8_t); static lean_object* l___private_Lean_Expr_0__Lean_reprBinderInfo____x40_Lean_Expr___hyg_378____closed__9; +static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__15; static lean_object* l_Lean_Expr_ctorName___closed__5; -static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__24; LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_Expr_mkAppRevRangeAux___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_BinderInfo_noConfusion___rarg___closed__1; static lean_object* l_Lean_Expr_bindingBody_x21___closed__2; LEAN_EXPORT lean_object* l_Lean_Expr_replaceFVar(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_headBeta(lean_object*); lean_object* l_panic___at_Lean_Level_normalize___spec__1(lean_object*); +static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__3; static lean_object* l_Lean_isLHSGoal_x3f___closed__1; LEAN_EXPORT uint8_t lean_expr_binder_info(lean_object*); static lean_object* l_Lean_Expr_mkData___closed__2; @@ -377,31 +391,30 @@ LEAN_EXPORT lean_object* l_Lean_Expr_looseBVarRangeEx___boxed(lean_object*); LEAN_EXPORT uint8_t l_Lean_Expr_hasExprMVar(lean_object*); LEAN_EXPORT uint8_t lean_is_out_param(lean_object*); lean_object* lean_array_get(lean_object*, lean_object*, lean_object*); +static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__18; +LEAN_EXPORT lean_object* l_repr___at___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____spec__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_abstractRange___boxed(lean_object*, lean_object*, lean_object*); uint32_t lean_uint64_to_uint32(uint64_t); static lean_object* l___private_Lean_Expr_0__Lean_reprBinderInfo____x40_Lean_Expr___hyg_378____closed__27; lean_object* l_Lean_mkFreshId___rarg(lean_object*, lean_object*); uint8_t lean_uint32_dec_lt(uint32_t, uint32_t); -static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__10; -static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__32; LEAN_EXPORT lean_object* l_Lean_instInhabitedLiteral; static lean_object* l_Lean_Expr_instToStringExpr___closed__1; LEAN_EXPORT uint64_t l_Lean_Expr_data(lean_object*); +static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__14; LEAN_EXPORT lean_object* l_Lean_Expr_fvarId_x21(lean_object*); -static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__20; +static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__28; LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_Expr_withAppRevAux(lean_object*); -static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__30; LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_Expr_getParamSubstArray___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_inaccessible_x3f(lean_object*); -static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__18; +uint16_t lean_uint8_to_uint16(uint8_t); +LEAN_EXPORT lean_object* l_Lean_Expr_mkAppData___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Lean_Expr_isHeadBetaTarget(lean_object*, uint8_t); static lean_object* l___private_Lean_Expr_0__Lean_reprBinderInfo____x40_Lean_Expr___hyg_378____closed__17; LEAN_EXPORT uint8_t l_Lean_Expr_isBinding(lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_bindingBody_x21___boxed(lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_updateProj_x21(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_panic___at_Lean_Expr_getRevArg_x21___spec__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_BinderInfo_noConfusion___rarg___boxed(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__4(uint64_t, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Level_instantiateParams___at_Lean_Expr_instantiateLevelParams___spec__3(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_mkDecIsTrue___closed__1; LEAN_EXPORT lean_object* l_Lean_Expr_instantiateLevelParams(lean_object*, lean_object*, lean_object*); @@ -413,14 +426,18 @@ LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Expr_setAppPPExplicitF uint64_t l_Lean_Name_hash(lean_object*); static lean_object* l___private_Lean_Expr_0__Lean_reprBinderInfo____x40_Lean_Expr___hyg_378____closed__6; lean_object* l_Nat_repr(lean_object*); +static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__10; +static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__32; LEAN_EXPORT uint8_t l_Lean_Expr_Data_hasFVar(uint64_t); static lean_object* l_Lean_Expr_instBEqExpr___closed__1; LEAN_EXPORT lean_object* l_Lean_Expr_hasMVarEx___boxed(lean_object*); LEAN_EXPORT lean_object* l_Lean_mkAppRange___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint32_t l_Lean_Expr_approxDepth(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Expr_ptrEq___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_setAppPPExplicitForExposingMVars(lean_object*); static lean_object* l_Lean_Expr_fvarId_x21___closed__1; LEAN_EXPORT lean_object* l_Lean_Expr_isType___boxed(lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__7___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Expr_updateConst_x21___closed__2; LEAN_EXPORT lean_object* lean_expr_mk_bvar(lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_instHashableExpr; @@ -429,7 +446,6 @@ LEAN_EXPORT uint64_t l_Lean_Expr_hash(lean_object*); lean_object* lean_format_pretty(lean_object*, lean_object*); static lean_object* l_Lean_Expr_mvarId_x21___closed__3; LEAN_EXPORT lean_object* l_Lean_Literal_type___boxed(lean_object*); -static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__15; static lean_object* l_Lean_Literal_type___closed__1; lean_object* lean_expr_abstract_range(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_panic___at_Lean_Expr_constLevels_x21___spec__1(lean_object*); @@ -438,11 +454,13 @@ static lean_object* l_Lean_Expr_bindingDomain_x21___closed__1; lean_object* l_panic___at_String_toNat_x21___spec__1(lean_object*); static lean_object* l_Lean_mkInaccessible___closed__2; LEAN_EXPORT lean_object* l_Lean_isLHSGoal_x3f___boxed(lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__4(uint64_t, lean_object*, lean_object*); static lean_object* l_Lean_Expr_getRevArg_x21___closed__3; LEAN_EXPORT lean_object* l_Lean_Expr_letType_x21(lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_instantiateLevelParamsCore_visit___at_Lean_Expr_instantiateLevelParams___spec__1___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Expr_ctorName___closed__3; LEAN_EXPORT lean_object* l_Lean_Expr_hasAnyFVar_visit___at_Lean_Expr_containsFVar___spec__1___boxed(lean_object*, lean_object*); +static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__20; LEAN_EXPORT lean_object* l_Lean_instReprExpr; static lean_object* l_Lean_isLHSGoal_x3f___closed__2; LEAN_EXPORT lean_object* l_Lean_Expr_natLit_x3f(lean_object*); @@ -450,10 +468,8 @@ LEAN_EXPORT lean_object* l_Lean_BinderInfo_noConfusion___rarg___lambda__1(lean_o LEAN_EXPORT lean_object* lean_expr_mk_const(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_mkAppRange(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Expr_isCharLit___closed__3; -static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__3; static lean_object* l_Lean_mkEM___closed__5; static lean_object* l_Lean_mkOr___closed__2; -static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__14; static lean_object* l_Lean_Expr_mdataExpr_x21___closed__3; static lean_object* l_Lean_Literal_type___closed__4; static lean_object* l_Lean_mkDecIsTrue___closed__4; @@ -461,12 +477,12 @@ LEAN_EXPORT lean_object* lean_expr_mk_lit(lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_updateMData_x21(lean_object*, lean_object*); uint64_t lean_uint64_of_nat(lean_object*); LEAN_EXPORT uint8_t l_Lean_Expr_isAppOfArity(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_Format_joinSep___at___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____spec__2(lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Lean_Expr_Data_hasLevelMVar(uint64_t); lean_object* lean_expr_dbg_to_string(lean_object*); LEAN_EXPORT lean_object* l_Lean_Level_instantiateParams___at_Lean_Expr_instantiateLevelParams___spec__2(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Expr_updateConst_x21___closed__1; LEAN_EXPORT lean_object* l_Lean_instInhabitedExpr; -LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__6(uint64_t, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_mkDataForLet(uint64_t, lean_object*, uint32_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t); static lean_object* l_Lean_mkSimpleThunk___closed__2; LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_mkAppRangeAux___boxed(lean_object*, lean_object*, lean_object*, lean_object*); @@ -474,26 +490,23 @@ static lean_object* l_Lean_instReprData__1___lambda__7___closed__1; static lean_object* l_Lean_Expr_updateProj_x21___closed__3; static lean_object* l___private_Lean_Expr_0__Lean_reprBinderInfo____x40_Lean_Expr___hyg_378____closed__4; static lean_object* l_Lean_Literal_type___closed__2; -LEAN_EXPORT lean_object* l_repr___at___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____spec__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_mkDataForLet___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Expr_0__Lean_reprBinderInfo____x40_Lean_Expr___hyg_378____closed__23; uint64_t l___private_Lean_Level_0__Lean_hashMVarId____x40_Lean_Level___hyg_484_(lean_object*); -static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__36; LEAN_EXPORT lean_object* l_Lean_Expr_instantiate___boxed(lean_object*, lean_object*); LEAN_EXPORT uint8_t l___private_Lean_Expr_0__Lean_beqLiteral____x40_Lean_Expr___hyg_31_(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_isLetFun___boxed(lean_object*); static lean_object* l_Lean_mkSimpleThunk___closed__1; lean_object* l_panic___at___private_Init_Prelude_0__Lean_assembleParts___spec__1(lean_object*); -static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__11; static lean_object* l_Lean_Expr_appFn_x21___closed__1; static lean_object* l_Lean_Expr_updateApp_x21___closed__1; lean_object* l___private_Init_Util_0__mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_reverse___rarg(lean_object*); +static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__12; LEAN_EXPORT uint8_t l_Lean_Expr_isConst(lean_object*); LEAN_EXPORT uint8_t l_Lean_Expr_hasLevelMVar(lean_object*); static lean_object* l___private_Lean_Expr_0__Lean_reprBinderInfo____x40_Lean_Expr___hyg_378____closed__13; LEAN_EXPORT lean_object* lean_expr_mk_let(lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Std_Format_joinSep___at___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____spec__2(lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Lean_Expr_isConstOf(lean_object*, lean_object*); static lean_object* l_Lean_Expr_fvarId_x21___closed__3; LEAN_EXPORT lean_object* l_Lean_Expr_instantiateRange___boxed(lean_object*, lean_object*, lean_object*, lean_object*); @@ -511,8 +524,8 @@ LEAN_EXPORT lean_object* l_Lean_mkEM(lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_isHeadBetaTargetFn___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_mkFreshFVarId___rarg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_consumeMData(lean_object*); +static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__26; uint64_t lean_uint64_land(uint64_t, uint64_t); -static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__39; LEAN_EXPORT lean_object* lean_expr_mk_app(lean_object*, lean_object*); static lean_object* l_Lean_Expr_constName_x21___closed__2; LEAN_EXPORT lean_object* l_Lean_instReprData__1___lambda__4(lean_object*, uint64_t, lean_object*, lean_object*); @@ -523,6 +536,7 @@ LEAN_EXPORT lean_object* l_Lean_mkDecIsFalse(lean_object*, lean_object*); uint8_t lean_expr_quick_lt(lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Lean_Expr_isLit(lean_object*); LEAN_EXPORT lean_object* l_Lean_mkFVar(lean_object*); +static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__36; static lean_object* l_Lean_Expr_getAutoParamTactic_x3f___closed__1; LEAN_EXPORT uint8_t l_Lean_Expr_Data_binderInfo(uint64_t); LEAN_EXPORT lean_object* l_Lean_Expr_letValue_x21(lean_object*); @@ -533,47 +547,48 @@ LEAN_EXPORT lean_object* l_Lean_mkSimpleThunkType(lean_object*); static lean_object* l___private_Lean_Expr_0__Lean_reprBinderInfo____x40_Lean_Expr___hyg_378____closed__14; LEAN_EXPORT uint64_t l_Lean_ExprStructEq_hash(lean_object*); LEAN_EXPORT uint8_t l_Lean_Expr_isAutoParam(lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__3___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Expr_getAutoParamTactic_x3f___closed__2; LEAN_EXPORT uint8_t l_Lean_Expr_isLambda(lean_object*); static lean_object* l_Lean_instInhabitedLiteral___closed__1; static lean_object* l_Lean_Expr_updateSort_x21___closed__2; -LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__7(uint64_t, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_ctorName(lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_replaceFVarId(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_mkApp9(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_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__12; LEAN_EXPORT lean_object* l_Lean_Expr_data___boxed(lean_object*); static lean_object* l_Lean_Expr_setPPExplicit___closed__1; lean_object* lean_expr_update_proj(lean_object*, lean_object*); static lean_object* l_Lean_Expr_setPPExplicit___closed__2; LEAN_EXPORT uint8_t l_Lean_BinderInfo_isImplicit(uint8_t); +static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__39; LEAN_EXPORT lean_object* l_Lean_Expr_getForallBody___boxed(lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_setPPExplicit___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Level_instantiateParams___at_Lean_Expr_instantiateLevelParamsArray___spec__3(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_looseBVarRange(lean_object*); -static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__26; LEAN_EXPORT lean_object* l_Lean_Expr_bvarIdx_x21(lean_object*); static lean_object* l_Lean_Expr_updateProj_x21___closed__2; LEAN_EXPORT lean_object* l_panic___at_Lean_Expr_mkData___spec__1___boxed__const__1; LEAN_EXPORT lean_object* l_Lean_Expr_setAppPPExplicit(lean_object*); static lean_object* l_Lean_Expr_ctorName___closed__9; LEAN_EXPORT lean_object* l_Lean_Expr_instantiateRevRange___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__6___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_mkNatLit___closed__7; LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprBinderInfo____x40_Lean_Expr___hyg_378_(uint8_t, lean_object*); LEAN_EXPORT lean_object* l_panic___at_Lean_Expr_bindingInfo_x21___spec__1(lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__4___boxed(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__6(uint64_t, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__7(uint64_t, lean_object*, lean_object*); +static lean_object* l_Lean_Expr_mkData___closed__6; LEAN_EXPORT uint8_t l_Lean_instInhabitedBinderInfo; static lean_object* l___private_Lean_Expr_0__Lean_reprBinderInfo____x40_Lean_Expr___hyg_378____closed__29; static lean_object* l_Lean_Expr_updateLambda_x21___closed__1; LEAN_EXPORT lean_object* l_Lean_instBEqFVarId; uint8_t lean_uint32_dec_eq(uint32_t, uint32_t); LEAN_EXPORT lean_object* l_Lean_instInhabitedFVarId; -LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__5___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Expr_updateProj_x21___closed__1; +size_t lean_ptr_addr(lean_object*); LEAN_EXPORT uint8_t l_Lean_Expr_isType(lean_object*); lean_object* lean_level_update_imax(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_mkNatLit___closed__3; +LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__4___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_isProj___boxed(lean_object*); static lean_object* l_Lean_Expr_updateLambda_x21___closed__2; LEAN_EXPORT lean_object* l_Lean_instReprData__1___lambda__7(lean_object*, uint64_t, lean_object*, lean_object*); @@ -581,6 +596,7 @@ LEAN_EXPORT lean_object* l_Lean_Expr_getAppNumArgsAux(lean_object*, lean_object* LEAN_EXPORT lean_object* l_panic___at_Lean_Expr_mkData___spec__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_getOptParamDefault_x3f___boxed(lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_updateMData___boxed(lean_object*, lean_object*, lean_object*); +static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__43; LEAN_EXPORT lean_object* l_Lean_Expr_appFn_x21___boxed(lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_hasLevelMVarEx___boxed(lean_object*); static lean_object* l_Lean_instHashableBinderInfo___closed__1; @@ -610,7 +626,6 @@ static lean_object* l_Lean_Expr_constLevels_x21___closed__2; LEAN_EXPORT lean_object* l_Lean_Expr_beta(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_mkApp(lean_object*, lean_object*); lean_object* l_String_quote(lean_object*); -static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__31; LEAN_EXPORT lean_object* l_Lean_Expr_getAppNumArgsAux___boxed(lean_object*, lean_object*); LEAN_EXPORT uint64_t l_Lean_Literal_hash(lean_object*); LEAN_EXPORT lean_object* l_Lean_mkLambdaEx___boxed(lean_object*, lean_object*, lean_object*, lean_object*); @@ -619,10 +634,13 @@ LEAN_EXPORT lean_object* l_Lean_Expr_betaRev(lean_object*, lean_object*, uint8_t LEAN_EXPORT uint64_t l_Lean_instInhabitedData__1; static lean_object* l_Lean_instBEqLiteral___closed__1; LEAN_EXPORT lean_object* l_Lean_instHashableBinderInfo; +LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__2___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_BinderInfo_isInstImplicit___boxed(lean_object*); extern lean_object* l_Lean_KVMap_empty; LEAN_EXPORT lean_object* l_Lean_instReprData__1___lambda__5(lean_object*, uint64_t, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_mapTRAux___at_Lean_Expr_instantiateLevelParamsArray___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__31; +static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__2___closed__1; LEAN_EXPORT uint8_t l_Lean_BinderInfo_isExplicit(uint8_t); static lean_object* l_Lean_Expr_updateMData_x21___closed__3; static lean_object* l___private_Lean_Expr_0__Lean_reprBinderInfo____x40_Lean_Expr___hyg_378____closed__24; @@ -651,6 +669,7 @@ LEAN_EXPORT lean_object* l_Lean_mkApp7(lean_object*, lean_object*, lean_object*, LEAN_EXPORT lean_object* l_Lean_mkFreshFVarId___rarg___lambda__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_updateLambda_x21___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* lean_expr_mk_proj(lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_mkApp___closed__4; static lean_object* l_Lean_Expr_projIdx_x21___closed__1; static lean_object* l___private_Lean_Expr_0__Lean_reprBinderInfo____x40_Lean_Expr___hyg_378____closed__22; static lean_object* l_Lean_Expr_appFn_x21___closed__2; @@ -659,10 +678,11 @@ LEAN_EXPORT lean_object* l_Lean_Expr_Data_hasExprMVar___boxed(lean_object*); LEAN_EXPORT lean_object* l_Lean_instReprBinderInfo; LEAN_EXPORT lean_object* l_Lean_Expr_etaExpanded_x3f(lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_liftLooseBVars___boxed(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__3(uint64_t, lean_object*, lean_object*); static lean_object* l_Lean_Expr_bvarIdx_x21___closed__2; LEAN_EXPORT lean_object* l_Lean_Expr_instantiateLevelParamsCore_visit(lean_object*, lean_object*); -static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__43; static lean_object* l_Lean_Expr_appArg_x21___closed__1; +uint8_t lean_uint16_dec_lt(uint16_t, uint16_t); LEAN_EXPORT uint8_t l_Lean_Expr_Data_hasLevelParam(uint64_t); LEAN_EXPORT lean_object* l_Lean_Expr_dbgToString___boxed(lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_isForall___boxed(lean_object*); @@ -685,7 +705,6 @@ static lean_object* l_Lean_mkSimpleThunkType___closed__2; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Expr_setAppPPExplicit___spec__1(size_t, size_t, lean_object*); LEAN_EXPORT lean_object* l_Lean_BinderInfo_isAuxDecl___boxed(lean_object*); LEAN_EXPORT lean_object* l_List_foldl___at_Lean_mkConst___spec__1___boxed(lean_object*, lean_object*); -static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__41; LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_Expr_mkAppRevRangeAux(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_mapTRAux___at_Lean_Expr_instantiateLevelParamsArray___spec__4(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Lean_Expr_isFVar(lean_object*); @@ -694,12 +713,15 @@ uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_Expr_setPPUniverses___closed__1; LEAN_EXPORT lean_object* l_Lean_mkForall(lean_object*, uint8_t, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_instantiate1___boxed(lean_object*, lean_object*); +static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__37; LEAN_EXPORT lean_object* l_Lean_Expr_getRevArgD___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_instReprData__1___lambda__2___closed__2; LEAN_EXPORT lean_object* l_Lean_Expr_instantiateRev___boxed(lean_object*, lean_object*); static lean_object* l___private_Lean_Expr_0__Lean_reprBinderInfo____x40_Lean_Expr___hyg_378____closed__3; LEAN_EXPORT lean_object* l_Lean_Expr_isSort___boxed(lean_object*); static lean_object* l_Lean_Expr_isOutParam___closed__1; +static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__27; +uint8_t lean_uint16_to_uint8(uint16_t); static lean_object* l_Lean_Expr_updateLet_x21___closed__1; LEAN_EXPORT lean_object* l_Lean_Expr_constName_x3f(lean_object*); lean_object* lean_expr_update_lambda(lean_object*, uint8_t, lean_object*, lean_object*); @@ -707,6 +729,7 @@ static lean_object* l_Lean_Expr_mkData___closed__4; LEAN_EXPORT lean_object* lean_expr_mk_sort(lean_object*); LEAN_EXPORT lean_object* l_Lean_Literal_hash___boxed(lean_object*); lean_object* lean_level_update_succ(lean_object*, lean_object*); +static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__45; static lean_object* l_Lean_instReprData__1___lambda__2___closed__1; LEAN_EXPORT lean_object* l_Lean_Expr_isBVar___boxed(lean_object*); static lean_object* l___private_Lean_Expr_0__Lean_reprBinderInfo____x40_Lean_Expr___hyg_378____closed__15; @@ -723,7 +746,7 @@ LEAN_EXPORT lean_object* l_Lean_instFVarIdHashSetInhabited; LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_beqBinderInfo____x40_Lean_Expr___hyg_362____boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_mkLet(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t); LEAN_EXPORT uint8_t l_Lean_Expr_hasLooseBVars(lean_object*); -static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__34; +static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__17; lean_object* l_Lean_Name_quickCmp___boxed(lean_object*, lean_object*); static lean_object* l_Lean_instForInFVarIdSetFVarId___closed__1; LEAN_EXPORT lean_object* l_Lean_Expr_letType_x21___boxed(lean_object*); @@ -736,6 +759,7 @@ lean_object* lean_uint64_to_nat(uint64_t); LEAN_EXPORT uint64_t lean_expr_hash(lean_object*); LEAN_EXPORT lean_object* l_Lean_instReprData__1___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_mk_array(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_Data_hasFVar___boxed(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_mkAppRangeAux(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Expr_0__Lean_reprBinderInfo____x40_Lean_Expr___hyg_378____closed__30; @@ -758,7 +782,6 @@ static lean_object* l_Lean_instForInFVarIdSetFVarId___closed__2; LEAN_EXPORT lean_object* l_Lean_Expr_instBEqExpr; LEAN_EXPORT lean_object* l_Lean_instInhabitedExprStructEq; LEAN_EXPORT uint8_t l_List_foldr___at_Lean_mkConst___spec__3(uint8_t, lean_object*); -static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__37; static lean_object* l_Lean_Expr_ctorName___closed__6; LEAN_EXPORT lean_object* l_Lean_mkAnd(lean_object*, lean_object*); static lean_object* l___private_Lean_Expr_0__Lean_reprLiteral____x40_Lean_Expr___hyg_109____closed__8; @@ -767,9 +790,6 @@ LEAN_EXPORT lean_object* l_Lean_Expr_inferImplicit(lean_object*, lean_object*, u static lean_object* l_Lean_instBEqFVarId___closed__1; LEAN_EXPORT lean_object* l_Lean_Expr_mkAppRevRange___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_updateForallE_x21(lean_object*, lean_object*, lean_object*); -static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__4; -static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__27; -static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__42; LEAN_EXPORT uint8_t l_Lean_instBEqData__1(uint64_t, uint64_t); lean_object* lean_string_length(lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_mkAppN___spec__1(lean_object*, size_t, size_t, lean_object*); @@ -781,12 +801,12 @@ LEAN_EXPORT lean_object* l_Lean_Expr_mkData___boxed(lean_object*, lean_object*, LEAN_EXPORT lean_object* l_Lean_ExprStructEq_instToStringExprStructEq(lean_object*); LEAN_EXPORT lean_object* l_Lean_BinderInfo_isExplicit___boxed(lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_getForallBody(lean_object*); +static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__34; lean_object* l_List_lengthTRAux___rarg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_instDecidableLtLiteralInstLTLiteral___boxed(lean_object*, lean_object*); static lean_object* l_Lean_Expr_mkData___closed__1; LEAN_EXPORT lean_object* l_List_foldr___at_Lean_mkConst___spec__2___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_hashEx___boxed(lean_object*); -static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__17; static lean_object* l___private_Lean_Expr_0__Lean_reprLiteral____x40_Lean_Expr___hyg_109____closed__6; static lean_object* l_Lean_mkDecIsFalse___closed__3; static lean_object* l___private_Lean_Expr_0__Lean_reprBinderInfo____x40_Lean_Expr___hyg_378____closed__20; @@ -799,22 +819,18 @@ LEAN_EXPORT lean_object* l_Lean_instInhabitedFVarIdMap(lean_object*); LEAN_EXPORT lean_object* l_Lean_mkNatLit(lean_object*); lean_object* l_Lean_Level_instantiateParams(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_mkStrLit(lean_object*); +static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__4; LEAN_EXPORT lean_object* l_Lean_Expr_sortLevel_x21(lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_getArgD(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_getAppFn(lean_object*); -static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__45; -static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__40; -static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__9; LEAN_EXPORT lean_object* l_Lean_Expr_etaExpandedStrict_x3f(lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_updateLambdaE_x21(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_hasLooseBVar___boxed(lean_object*, lean_object*); static lean_object* l_Lean_Expr_ctorName___closed__11; static lean_object* l_Lean_mkNot___closed__1; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Expr_setAppPPExplicit___spec__1___boxed(lean_object*, lean_object*, lean_object*); -static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__1; static lean_object* l_Lean_Expr_letValue_x21___closed__1; LEAN_EXPORT lean_object* l_Lean_instReprData__1(uint64_t, lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____boxed(lean_object*, lean_object*); static lean_object* l_Lean_mkLHSGoal___closed__1; uint64_t lean_uint64_shift_right(uint64_t, uint64_t); LEAN_EXPORT lean_object* l_Lean_Expr_hasLooseBVars___boxed(lean_object*); @@ -826,30 +842,32 @@ static lean_object* l_Lean_mkLetFunAnnotation___closed__2; static lean_object* l_Lean_instBEqBinderInfo___closed__1; lean_object* lean_expr_update_app(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Expr_isCharLit___closed__2; +LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__5(uint64_t, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_setOption___rarg(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_instantiateLevelParamsCore_visit___at_Lean_Expr_instantiateLevelParams___spec__1(lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint64_t l_Lean_BinderInfo_hash(uint8_t); +static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__11; static lean_object* l_Lean_Expr_setPPUniverses___closed__2; LEAN_EXPORT lean_object* l_Lean_Expr_instantiateLevelParamsCore_visit___at_Lean_Expr_instantiateLevelParamsArray___spec__1___boxed(lean_object*, lean_object*, lean_object*); +uint8_t lean_uint32_dec_le(uint32_t, uint32_t); static lean_object* l___private_Lean_Expr_0__Lean_reprLiteral____x40_Lean_Expr___hyg_109____closed__3; LEAN_EXPORT uint8_t l_Lean_Expr_Data_approxDepth(uint64_t); LEAN_EXPORT lean_object* l_Lean_mkAppB(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Expr_mdataExpr_x21___closed__2; LEAN_EXPORT lean_object* l_Lean_mkApp10(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_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__2; static lean_object* l_Lean_mkNot___closed__3; LEAN_EXPORT lean_object* l_Lean_Expr_isApp___boxed(lean_object*); +static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__19; LEAN_EXPORT lean_object* l_Lean_mkApp8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_mkBVar(lean_object*); LEAN_EXPORT lean_object* l_Lean_instReprData__1___lambda__2(lean_object*, uint64_t, lean_object*, lean_object*); -static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__8; -static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__44; LEAN_EXPORT uint8_t l_Lean_Expr_hasFVar(lean_object*); LEAN_EXPORT lean_object* lean_expr_mk_lambda(lean_object*, lean_object*, lean_object*, uint8_t); LEAN_EXPORT lean_object* l_Lean_Expr_consumeMData___boxed(lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_bindingBody_x21(lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_equal___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_updateLet_x21(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1754____boxed(lean_object*); LEAN_EXPORT uint8_t l_Lean_Literal_lt(lean_object*, lean_object*); static lean_object* l_Lean_mkLetFunAnnotation___closed__1; LEAN_EXPORT lean_object* l_Lean_Expr_updateForall___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -863,13 +881,14 @@ static lean_object* l_Lean_Expr_updateForallE_x21___closed__2; lean_object* lean_expr_instantiate_range(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_uint32_to_nat(uint32_t); LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux(lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__3(uint64_t, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_panic___at_Lean_Expr_fvarId_x21___spec__1(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprLiteral____x40_Lean_Expr___hyg_109____boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_lowerLooseBVars___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_instReprData__1___closed__2; +static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__9; LEAN_EXPORT lean_object* l_Lean_Expr_isOutParam___boxed(lean_object*); lean_object* lean_nat_to_int(lean_object*); +static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__40; static lean_object* l_Lean_Expr_getRevArg_x21___closed__2; static lean_object* l_Lean_Expr_updateForallE_x21___closed__1; LEAN_EXPORT lean_object* l_Lean_instReprData__1___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*); @@ -886,11 +905,12 @@ static lean_object* l_Lean_Expr_mdataExpr_x21___closed__1; uint64_t lean_string_hash(lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_isNatLit___boxed(lean_object*); lean_object* l_List_mapTRAux___rarg(lean_object*, lean_object*, lean_object*); +static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__44; LEAN_EXPORT lean_object* l_List_foldr___at_Lean_mkConst___spec__3___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_mkApp3(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Lean_Expr_isSort(lean_object*); LEAN_EXPORT uint8_t l_Lean_Expr_isLet(lean_object*); -static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__19; +static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__2; uint8_t lean_string_dec_lt(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_isLet___boxed(lean_object*); static lean_object* l_Lean_Expr_bindingInfo_x21___closed__2; @@ -908,9 +928,9 @@ uint8_t lean_nat_dec_lt(lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Lean_Expr_containsFVar(lean_object*, lean_object*); static lean_object* l_Lean_mkAnnotation___closed__1; LEAN_EXPORT lean_object* l_Lean_Expr_mkData(uint64_t, lean_object*, uint32_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t); +static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__8; static lean_object* l___private_Lean_Expr_0__Lean_reprLiteral____x40_Lean_Expr___hyg_109____closed__2; LEAN_EXPORT lean_object* l_Lean_Expr_betaRev_go(lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__5(uint64_t, lean_object*, lean_object*); LEAN_EXPORT uint8_t lean_expr_has_level_param(lean_object*); lean_object* l_Repr_addAppParen(lean_object*, lean_object*); static lean_object* _init_l_Lean_instInhabitedLiteral___closed__1() { @@ -2425,7 +2445,7 @@ static lean_object* _init_l_Lean_Expr_mkData___closed__2() { _start: { lean_object* x_1; -x_1 = lean_mk_string("Lean.Expr"); +x_1 = lean_mk_string("assertion violation: "); return x_1; } } @@ -2433,26 +2453,44 @@ static lean_object* _init_l_Lean_Expr_mkData___closed__3() { _start: { lean_object* x_1; -x_1 = lean_mk_string("Lean.Expr.mkData"); +x_1 = lean_mk_string("(looseBVarRange ≤ Nat.pow 2 16 - 1)\n "); return x_1; } } static lean_object* _init_l_Lean_Expr_mkData___closed__4() { _start: { -lean_object* x_1; -x_1 = lean_mk_string("bound variable index is too big"); -return x_1; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Expr_mkData___closed__2; +x_2 = l_Lean_Expr_mkData___closed__3; +x_3 = lean_string_append(x_1, x_2); +return x_3; } } static lean_object* _init_l_Lean_Expr_mkData___closed__5() { _start: { +lean_object* x_1; +x_1 = lean_mk_string("Lean.Expr"); +return x_1; +} +} +static lean_object* _init_l_Lean_Expr_mkData___closed__6() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("Lean.Expr.mkData"); +return x_1; +} +} +static lean_object* _init_l_Lean_Expr_mkData___closed__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_mkData___closed__2; -x_2 = l_Lean_Expr_mkData___closed__3; +x_1 = l_Lean_Expr_mkData___closed__5; +x_2 = l_Lean_Expr_mkData___closed__6; x_3 = lean_unsigned_to_nat(136u); -x_4 = lean_unsigned_to_nat(44u); +x_4 = lean_unsigned_to_nat(2u); x_5 = l_Lean_Expr_mkData___closed__4; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); return x_6; @@ -2465,39 +2503,39 @@ uint8_t x_10; uint32_t x_47; uint8_t x_48; lean_object* x_49; uint8_t x_50; x_47 = 255; x_48 = lean_uint32_dec_lt(x_47, x_3); x_49 = l_Lean_Expr_mkData___closed__1; -x_50 = lean_nat_dec_lt(x_49, x_2); +x_50 = lean_nat_dec_le(x_2, x_49); if (x_48 == 0) { if (x_50 == 0) { -uint8_t x_51; -x_51 = lean_uint32_to_uint8(x_3); -x_10 = x_51; -goto block_46; +lean_object* x_51; lean_object* x_52; +x_51 = l_Lean_Expr_mkData___closed__7; +x_52 = l_panic___at_Lean_Expr_mkData___spec__1(x_51); +return x_52; } else { -lean_object* x_52; lean_object* x_53; -x_52 = l_Lean_Expr_mkData___closed__5; -x_53 = l_panic___at_Lean_Expr_mkData___spec__1(x_52); -return x_53; +uint8_t x_53; +x_53 = lean_uint32_to_uint8(x_3); +x_10 = x_53; +goto block_46; } } else { if (x_50 == 0) { -uint8_t x_54; -x_54 = 255; -x_10 = x_54; -goto block_46; +lean_object* x_54; lean_object* x_55; +x_54 = l_Lean_Expr_mkData___closed__7; +x_55 = l_panic___at_Lean_Expr_mkData___spec__1(x_54); +return x_55; } else { -lean_object* x_55; lean_object* x_56; -x_55 = l_Lean_Expr_mkData___closed__5; -x_56 = l_panic___at_Lean_Expr_mkData___spec__1(x_55); -return x_56; +uint8_t x_56; +x_56 = 255; +x_10 = x_56; +goto block_46; } } block_46: @@ -2567,6 +2605,25 @@ lean_dec(x_2); return x_18; } } +LEAN_EXPORT lean_object* l_Lean_Expr_mkAppData___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +uint64_t x_6; uint64_t x_7; uint64_t x_8; uint8_t x_9; uint16_t x_10; uint64_t x_11; lean_object* x_12; +x_6 = lean_unbox_uint64(x_1); +lean_dec(x_1); +x_7 = lean_unbox_uint64(x_2); +lean_dec(x_2); +x_8 = lean_unbox_uint64(x_3); +lean_dec(x_3); +x_9 = lean_unbox(x_4); +lean_dec(x_4); +x_10 = lean_unbox(x_5); +lean_dec(x_5); +x_11 = (((uint64_t)x_10) << 48) | (((uint64_t)x_9) << 40) | ((((x_6 | x_7) << 28) >> 60) << 32) | ((uint64_t)((uint32_t)x_8)); +x_12 = lean_box_uint64(x_11); +return x_12; +} +} LEAN_EXPORT lean_object* l_Lean_Expr_mkDataForBinder(uint64_t x_1, lean_object* x_2, uint32_t x_3, uint8_t x_4, uint8_t x_5, uint8_t x_6, uint8_t x_7, uint8_t x_8) { _start: { @@ -3032,7 +3089,7 @@ x_1 = lean_box(0); return x_1; } } -LEAN_EXPORT uint8_t l___private_Lean_Expr_0__Lean_beqFVarId____x40_Lean_Expr___hyg_1677_(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT uint8_t l___private_Lean_Expr_0__Lean_beqFVarId____x40_Lean_Expr___hyg_1699_(lean_object* x_1, lean_object* x_2) { _start: { uint8_t x_3; @@ -3040,11 +3097,11 @@ x_3 = lean_name_eq(x_1, x_2); return x_3; } } -LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_beqFVarId____x40_Lean_Expr___hyg_1677____boxed(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_beqFVarId____x40_Lean_Expr___hyg_1699____boxed(lean_object* x_1, lean_object* x_2) { _start: { uint8_t x_3; lean_object* x_4; -x_3 = l___private_Lean_Expr_0__Lean_beqFVarId____x40_Lean_Expr___hyg_1677_(x_1, x_2); +x_3 = l___private_Lean_Expr_0__Lean_beqFVarId____x40_Lean_Expr___hyg_1699_(x_1, x_2); lean_dec(x_2); lean_dec(x_1); x_4 = lean_box(x_3); @@ -3055,7 +3112,7 @@ static lean_object* _init_l_Lean_instBEqFVarId___closed__1() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l___private_Lean_Expr_0__Lean_beqFVarId____x40_Lean_Expr___hyg_1677____boxed), 2, 0); +x_1 = lean_alloc_closure((void*)(l___private_Lean_Expr_0__Lean_beqFVarId____x40_Lean_Expr___hyg_1699____boxed), 2, 0); return x_1; } } @@ -3067,7 +3124,7 @@ x_1 = l_Lean_instBEqFVarId___closed__1; return x_1; } } -LEAN_EXPORT uint64_t l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1732_(lean_object* x_1) { +LEAN_EXPORT uint64_t l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1754_(lean_object* x_1) { _start: { uint64_t x_2; uint64_t x_3; uint64_t x_4; @@ -3077,11 +3134,11 @@ x_4 = lean_uint64_mix_hash(x_2, x_3); return x_4; } } -LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1732____boxed(lean_object* x_1) { +LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1754____boxed(lean_object* x_1) { _start: { uint64_t x_2; lean_object* x_3; -x_2 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1732_(x_1); +x_2 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1754_(x_1); lean_dec(x_1); x_3 = lean_box_uint64(x_2); return x_3; @@ -3091,7 +3148,7 @@ static lean_object* _init_l_Lean_instHashableFVarId___closed__1() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1732____boxed), 1, 0); +x_1 = lean_alloc_closure((void*)(l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1754____boxed), 1, 0); return x_1; } } @@ -3234,7 +3291,7 @@ x_1 = l_Lean_instInhabitedExpr___closed__2; return x_1; } } -LEAN_EXPORT lean_object* l_repr___at___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____spec__1(lean_object* x_1) { +LEAN_EXPORT lean_object* l_repr___at___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____spec__1(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; @@ -3243,7 +3300,7 @@ x_3 = l___private_Lean_Level_0__Lean_reprLevel____x40_Lean_Level___hyg_809_(x_1, return x_3; } } -LEAN_EXPORT lean_object* l_Std_Format_joinSep___at___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____spec__2(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l_Std_Format_joinSep___at___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____spec__2(lean_object* x_1, lean_object* x_2) { _start: { if (lean_obj_tag(x_1) == 0) @@ -3281,7 +3338,7 @@ lean_inc(x_2); x_11 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_11, 0, x_10); lean_ctor_set(x_11, 1, x_2); -x_12 = l_Std_Format_joinSep___at___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____spec__2(x_4, x_2); +x_12 = l_Std_Format_joinSep___at___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____spec__2(x_4, x_2); x_13 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_13, 0, x_11); lean_ctor_set(x_13, 1, x_12); @@ -3290,7 +3347,7 @@ return x_13; } } } -LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__1(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__1(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; lean_object* x_4; lean_object* x_5; @@ -3301,19 +3358,19 @@ x_5 = l_Repr_addAppParen(x_3, x_4); return x_5; } } -static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__2___closed__1() { +static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__2___closed__1() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__1___boxed), 2, 0); +x_1 = lean_alloc_closure((void*)(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__1___boxed), 2, 0); return x_1; } } -LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__2(uint64_t x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__2(uint64_t x_1, lean_object* x_2, lean_object* x_3) { _start: { lean_object* x_4; uint8_t x_5; uint8_t x_6; uint8_t x_7; -x_4 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__2___closed__1; +x_4 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__2___closed__1; x_5 = (uint8_t)((x_1 << 24) >> 61); x_6 = 0; x_7 = l___private_Lean_Expr_0__Lean_beqBinderInfo____x40_Lean_Expr___hyg_362_(x_5, x_6); @@ -3343,7 +3400,7 @@ return x_20; } } } -LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__3(uint64_t x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__3(uint64_t x_1, lean_object* x_2, lean_object* x_3) { _start: { uint8_t x_4; @@ -3353,7 +3410,7 @@ if (x_4 == 0) { lean_object* x_5; lean_object* x_6; x_5 = lean_box(0); -x_6 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__2(x_1, x_2, x_5); +x_6 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__2(x_1, x_2, x_5); return x_6; } else @@ -3366,12 +3423,12 @@ x_10 = lean_string_append(x_8, x_9); x_11 = l_Lean_instReprData__1___lambda__2___closed__2; x_12 = lean_string_append(x_10, x_11); x_13 = lean_box(0); -x_14 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__2(x_1, x_12, x_13); +x_14 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__2(x_1, x_12, x_13); return x_14; } } } -LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__4(uint64_t x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__4(uint64_t x_1, lean_object* x_2, lean_object* x_3) { _start: { uint8_t x_4; @@ -3381,7 +3438,7 @@ if (x_4 == 0) { lean_object* x_5; lean_object* x_6; x_5 = lean_box(0); -x_6 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__3(x_1, x_2, x_5); +x_6 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__3(x_1, x_2, x_5); return x_6; } else @@ -3394,12 +3451,12 @@ x_10 = lean_string_append(x_8, x_9); x_11 = l_Lean_instReprData__1___lambda__2___closed__2; x_12 = lean_string_append(x_10, x_11); x_13 = lean_box(0); -x_14 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__3(x_1, x_12, x_13); +x_14 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__3(x_1, x_12, x_13); return x_14; } } } -LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__5(uint64_t x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__5(uint64_t x_1, lean_object* x_2, lean_object* x_3) { _start: { uint8_t x_4; @@ -3409,7 +3466,7 @@ if (x_4 == 0) { lean_object* x_5; lean_object* x_6; x_5 = lean_box(0); -x_6 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__4(x_1, x_2, x_5); +x_6 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__4(x_1, x_2, x_5); return x_6; } else @@ -3422,12 +3479,12 @@ x_10 = lean_string_append(x_8, x_9); x_11 = l_Lean_instReprData__1___lambda__2___closed__2; x_12 = lean_string_append(x_10, x_11); x_13 = lean_box(0); -x_14 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__4(x_1, x_12, x_13); +x_14 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__4(x_1, x_12, x_13); return x_14; } } } -LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__6(uint64_t x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__6(uint64_t x_1, lean_object* x_2, lean_object* x_3) { _start: { uint8_t x_4; @@ -3437,7 +3494,7 @@ if (x_4 == 0) { lean_object* x_5; lean_object* x_6; x_5 = lean_box(0); -x_6 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__5(x_1, x_2, x_5); +x_6 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__5(x_1, x_2, x_5); return x_6; } else @@ -3450,12 +3507,12 @@ x_10 = lean_string_append(x_8, x_9); x_11 = l_Lean_instReprData__1___lambda__2___closed__2; x_12 = lean_string_append(x_10, x_11); x_13 = lean_box(0); -x_14 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__5(x_1, x_12, x_13); +x_14 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__5(x_1, x_12, x_13); return x_14; } } } -LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__7(uint64_t x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__7(uint64_t x_1, lean_object* x_2, lean_object* x_3) { _start: { uint8_t x_4; uint8_t x_5; uint8_t x_6; @@ -3475,19 +3532,19 @@ lean_dec(x_10); x_12 = l_Lean_instReprData__1___lambda__2___closed__2; x_13 = lean_string_append(x_11, x_12); x_14 = lean_box(0); -x_15 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__6(x_1, x_13, x_14); +x_15 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__6(x_1, x_13, x_14); return x_15; } else { lean_object* x_16; lean_object* x_17; x_16 = lean_box(0); -x_17 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__6(x_1, x_2, x_16); +x_17 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__6(x_1, x_2, x_16); return x_17; } } } -static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__1() { +static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__1() { _start: { lean_object* x_1; @@ -3495,21 +3552,21 @@ x_1 = lean_mk_string("Lean.Expr.bvar"); return x_1; } } -static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__2() { +static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__1; +x_1 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__1; x_2 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__3() { +static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__2; +x_1 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__2; x_2 = lean_box(1); x_3 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3517,7 +3574,7 @@ lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__4() { +static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__4() { _start: { lean_object* x_1; @@ -3525,21 +3582,21 @@ x_1 = lean_mk_string("Lean.Expr.fvar"); return x_1; } } -static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__5() { +static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__5() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__4; +x_1 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__4; x_2 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__6() { +static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__6() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__5; +x_1 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__5; x_2 = lean_box(1); x_3 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3547,7 +3604,7 @@ lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__7() { +static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__7() { _start: { lean_object* x_1; @@ -3555,21 +3612,21 @@ x_1 = lean_mk_string("Lean.Expr.mvar"); return x_1; } } -static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__8() { +static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__8() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__7; +x_1 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__7; x_2 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__9() { +static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__9() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__8; +x_1 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__8; x_2 = lean_box(1); x_3 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3577,7 +3634,7 @@ lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__10() { +static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__10() { _start: { lean_object* x_1; @@ -3585,21 +3642,21 @@ x_1 = lean_mk_string("Lean.Expr.sort"); return x_1; } } -static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__11() { +static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__11() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__10; +x_1 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__10; x_2 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__12() { +static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__12() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__11; +x_1 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__11; x_2 = lean_box(1); x_3 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3607,7 +3664,7 @@ lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__13() { +static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__13() { _start: { lean_object* x_1; @@ -3615,21 +3672,21 @@ x_1 = lean_mk_string("Lean.Expr.const"); return x_1; } } -static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__14() { +static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__14() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__13; +x_1 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__13; x_2 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__15() { +static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__15() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__14; +x_1 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__14; x_2 = lean_box(1); x_3 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3637,7 +3694,7 @@ lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__16() { +static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__16() { _start: { lean_object* x_1; @@ -3645,21 +3702,21 @@ x_1 = lean_mk_string(","); return x_1; } } -static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__17() { +static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__17() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__16; +x_1 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__16; x_2 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__18() { +static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__18() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__17; +x_1 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__17; x_2 = lean_box(1); x_3 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3667,7 +3724,7 @@ lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__19() { +static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__19() { _start: { lean_object* x_1; @@ -3675,35 +3732,35 @@ x_1 = lean_mk_string("["); return x_1; } } -static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__20() { +static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__20() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__19; +x_1 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__19; x_2 = lean_string_length(x_1); return x_2; } } -static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__21() { +static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__21() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__20; +x_1 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__20; x_2 = lean_nat_to_int(x_1); return x_2; } } -static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__22() { +static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__22() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__19; +x_1 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__19; x_2 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__23() { +static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__23() { _start: { lean_object* x_1; @@ -3711,17 +3768,17 @@ x_1 = lean_mk_string("]"); return x_1; } } -static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__24() { +static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__24() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__23; +x_1 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__23; x_2 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__25() { +static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__25() { _start: { lean_object* x_1; @@ -3729,17 +3786,17 @@ x_1 = lean_mk_string("[]"); return x_1; } } -static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__26() { +static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__26() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__25; +x_1 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__25; x_2 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__27() { +static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__27() { _start: { lean_object* x_1; @@ -3747,21 +3804,21 @@ x_1 = lean_mk_string("Lean.Expr.app"); return x_1; } } -static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__28() { +static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__28() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__27; +x_1 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__27; x_2 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__29() { +static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__29() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__28; +x_1 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__28; x_2 = lean_box(1); x_3 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3769,7 +3826,7 @@ lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__30() { +static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__30() { _start: { lean_object* x_1; @@ -3777,21 +3834,21 @@ x_1 = lean_mk_string("Lean.Expr.lam"); return x_1; } } -static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__31() { +static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__31() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__30; +x_1 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__30; x_2 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__32() { +static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__32() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__31; +x_1 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__31; x_2 = lean_box(1); x_3 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3799,7 +3856,7 @@ lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__33() { +static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__33() { _start: { lean_object* x_1; @@ -3807,21 +3864,21 @@ x_1 = lean_mk_string("Lean.Expr.forallE"); return x_1; } } -static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__34() { +static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__34() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__33; +x_1 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__33; x_2 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__35() { +static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__35() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__34; +x_1 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__34; x_2 = lean_box(1); x_3 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3829,7 +3886,7 @@ lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__36() { +static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__36() { _start: { lean_object* x_1; @@ -3837,21 +3894,21 @@ x_1 = lean_mk_string("Lean.Expr.letE"); return x_1; } } -static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__37() { +static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__37() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__36; +x_1 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__36; x_2 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__38() { +static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__38() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__37; +x_1 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__37; x_2 = lean_box(1); x_3 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3859,7 +3916,7 @@ lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__39() { +static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__39() { _start: { lean_object* x_1; @@ -3867,21 +3924,21 @@ x_1 = lean_mk_string("Lean.Expr.lit"); return x_1; } } -static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__40() { +static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__40() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__39; +x_1 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__39; x_2 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__41() { +static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__41() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__40; +x_1 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__40; x_2 = lean_box(1); x_3 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3889,7 +3946,7 @@ lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__42() { +static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__42() { _start: { lean_object* x_1; @@ -3897,21 +3954,21 @@ x_1 = lean_mk_string("Lean.Expr.mdata"); return x_1; } } -static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__43() { +static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__43() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__42; +x_1 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__42; x_2 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__44() { +static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__44() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__43; +x_1 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__43; x_2 = lean_box(1); x_3 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3919,7 +3976,7 @@ lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__45() { +static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__45() { _start: { lean_object* x_1; @@ -3927,21 +3984,21 @@ x_1 = lean_mk_string("Lean.Expr.proj"); return x_1; } } -static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__46() { +static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__46() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__45; +x_1 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__45; x_2 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__47() { +static lean_object* _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__47() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__46; +x_1 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__46; x_2 = lean_box(1); x_3 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3949,7 +4006,7 @@ lean_ctor_set(x_3, 1, x_2); return x_3; } } -LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223_(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245_(lean_object* x_1, lean_object* x_2) { _start: { switch (lean_obj_tag(x_1)) { @@ -3965,7 +4022,7 @@ x_6 = lean_nat_dec_le(x_5, x_2); x_7 = l_Nat_repr(x_3); x_8 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_8, 0, x_7); -x_9 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__3; +x_9 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__3; x_10 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_10, 0, x_9); lean_ctor_set(x_10, 1, x_8); @@ -3996,7 +4053,7 @@ lean_dec(x_24); x_26 = l_Lean_instReprData__1___lambda__2___closed__2; x_27 = lean_string_append(x_25, x_26); x_28 = lean_box(0); -x_29 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__7(x_4, x_27, x_28); +x_29 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__7(x_4, x_27, x_28); x_30 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_30, 0, x_12); lean_ctor_set(x_30, 1, x_29); @@ -4015,7 +4072,7 @@ else { lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; uint8_t x_41; lean_object* x_42; lean_object* x_43; x_36 = lean_box(0); -x_37 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__7(x_4, x_17, x_36); +x_37 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__7(x_4, x_17, x_36); x_38 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_38, 0, x_12); lean_ctor_set(x_38, 1, x_37); @@ -4045,7 +4102,7 @@ lean_dec(x_47); x_49 = l_Lean_instReprData__1___lambda__2___closed__2; x_50 = lean_string_append(x_48, x_49); x_51 = lean_box(0); -x_52 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__7(x_4, x_50, x_51); +x_52 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__7(x_4, x_50, x_51); x_53 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_53, 0, x_12); lean_ctor_set(x_53, 1, x_52); @@ -4064,7 +4121,7 @@ else { lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; uint8_t x_64; lean_object* x_65; lean_object* x_66; x_59 = lean_box(0); -x_60 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__7(x_4, x_17, x_59); +x_60 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__7(x_4, x_17, x_59); x_61 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_61, 0, x_12); lean_ctor_set(x_61, 1, x_60); @@ -4091,7 +4148,7 @@ lean_dec(x_1); x_69 = lean_unsigned_to_nat(1024u); x_70 = lean_nat_dec_le(x_69, x_2); x_71 = l_Lean_Name_reprPrec(x_67, x_69); -x_72 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__6; +x_72 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__6; x_73 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_73, 0, x_72); lean_ctor_set(x_73, 1, x_71); @@ -4122,7 +4179,7 @@ lean_dec(x_87); x_89 = l_Lean_instReprData__1___lambda__2___closed__2; x_90 = lean_string_append(x_88, x_89); x_91 = lean_box(0); -x_92 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__7(x_68, x_90, x_91); +x_92 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__7(x_68, x_90, x_91); x_93 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_93, 0, x_75); lean_ctor_set(x_93, 1, x_92); @@ -4141,7 +4198,7 @@ else { lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; uint8_t x_104; lean_object* x_105; lean_object* x_106; x_99 = lean_box(0); -x_100 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__7(x_68, x_80, x_99); +x_100 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__7(x_68, x_80, x_99); x_101 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_101, 0, x_75); lean_ctor_set(x_101, 1, x_100); @@ -4171,7 +4228,7 @@ lean_dec(x_110); x_112 = l_Lean_instReprData__1___lambda__2___closed__2; x_113 = lean_string_append(x_111, x_112); x_114 = lean_box(0); -x_115 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__7(x_68, x_113, x_114); +x_115 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__7(x_68, x_113, x_114); x_116 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_116, 0, x_75); lean_ctor_set(x_116, 1, x_115); @@ -4190,7 +4247,7 @@ else { lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; uint8_t x_127; lean_object* x_128; lean_object* x_129; x_122 = lean_box(0); -x_123 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__7(x_68, x_80, x_122); +x_123 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__7(x_68, x_80, x_122); x_124 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_124, 0, x_75); lean_ctor_set(x_124, 1, x_123); @@ -4217,7 +4274,7 @@ lean_dec(x_1); x_132 = lean_unsigned_to_nat(1024u); x_133 = lean_nat_dec_le(x_132, x_2); x_134 = l_Lean_Name_reprPrec(x_130, x_132); -x_135 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__9; +x_135 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__9; x_136 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_136, 0, x_135); lean_ctor_set(x_136, 1, x_134); @@ -4248,7 +4305,7 @@ lean_dec(x_150); x_152 = l_Lean_instReprData__1___lambda__2___closed__2; x_153 = lean_string_append(x_151, x_152); x_154 = lean_box(0); -x_155 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__7(x_131, x_153, x_154); +x_155 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__7(x_131, x_153, x_154); x_156 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_156, 0, x_138); lean_ctor_set(x_156, 1, x_155); @@ -4267,7 +4324,7 @@ else { lean_object* x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; uint8_t x_167; lean_object* x_168; lean_object* x_169; x_162 = lean_box(0); -x_163 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__7(x_131, x_143, x_162); +x_163 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__7(x_131, x_143, x_162); x_164 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_164, 0, x_138); lean_ctor_set(x_164, 1, x_163); @@ -4297,7 +4354,7 @@ lean_dec(x_173); x_175 = l_Lean_instReprData__1___lambda__2___closed__2; x_176 = lean_string_append(x_174, x_175); x_177 = lean_box(0); -x_178 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__7(x_131, x_176, x_177); +x_178 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__7(x_131, x_176, x_177); x_179 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_179, 0, x_138); lean_ctor_set(x_179, 1, x_178); @@ -4316,7 +4373,7 @@ else { lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; uint8_t x_190; lean_object* x_191; lean_object* x_192; x_185 = lean_box(0); -x_186 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__7(x_131, x_143, x_185); +x_186 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__7(x_131, x_143, x_185); x_187 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_187, 0, x_138); lean_ctor_set(x_187, 1, x_186); @@ -4343,7 +4400,7 @@ lean_dec(x_1); x_195 = lean_unsigned_to_nat(1024u); x_196 = lean_nat_dec_le(x_195, x_2); x_197 = l___private_Lean_Level_0__Lean_reprLevel____x40_Lean_Level___hyg_809_(x_193, x_195); -x_198 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__12; +x_198 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__12; x_199 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_199, 0, x_198); lean_ctor_set(x_199, 1, x_197); @@ -4374,7 +4431,7 @@ lean_dec(x_213); x_215 = l_Lean_instReprData__1___lambda__2___closed__2; x_216 = lean_string_append(x_214, x_215); x_217 = lean_box(0); -x_218 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__7(x_194, x_216, x_217); +x_218 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__7(x_194, x_216, x_217); x_219 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_219, 0, x_201); lean_ctor_set(x_219, 1, x_218); @@ -4393,7 +4450,7 @@ else { lean_object* x_225; lean_object* x_226; lean_object* x_227; lean_object* x_228; lean_object* x_229; uint8_t x_230; lean_object* x_231; lean_object* x_232; x_225 = lean_box(0); -x_226 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__7(x_194, x_206, x_225); +x_226 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__7(x_194, x_206, x_225); x_227 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_227, 0, x_201); lean_ctor_set(x_227, 1, x_226); @@ -4423,7 +4480,7 @@ lean_dec(x_236); x_238 = l_Lean_instReprData__1___lambda__2___closed__2; x_239 = lean_string_append(x_237, x_238); x_240 = lean_box(0); -x_241 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__7(x_194, x_239, x_240); +x_241 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__7(x_194, x_239, x_240); x_242 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_242, 0, x_201); lean_ctor_set(x_242, 1, x_241); @@ -4442,7 +4499,7 @@ else { lean_object* x_248; lean_object* x_249; lean_object* x_250; lean_object* x_251; lean_object* x_252; uint8_t x_253; lean_object* x_254; lean_object* x_255; x_248 = lean_box(0); -x_249 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__7(x_194, x_206, x_248); +x_249 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__7(x_194, x_206, x_248); x_250 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_250, 0, x_201); lean_ctor_set(x_250, 1, x_249); @@ -4471,7 +4528,7 @@ lean_dec(x_1); x_259 = lean_unsigned_to_nat(1024u); x_260 = lean_nat_dec_le(x_259, x_2); x_261 = l_Lean_Name_reprPrec(x_256, x_259); -x_262 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__15; +x_262 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__15; x_263 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_263, 0, x_262); lean_ctor_set(x_263, 1, x_261); @@ -4493,7 +4550,7 @@ if (x_260 == 0) if (lean_obj_tag(x_257) == 0) { lean_object* x_307; lean_object* x_308; lean_object* x_309; -x_307 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__26; +x_307 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__26; x_308 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_308, 0, x_265); lean_ctor_set(x_308, 1, x_307); @@ -4512,7 +4569,7 @@ lean_dec(x_313); x_315 = l_Lean_instReprData__1___lambda__2___closed__2; x_316 = lean_string_append(x_314, x_315); x_317 = lean_box(0); -x_318 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__7(x_258, x_316, x_317); +x_318 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__7(x_258, x_316, x_317); x_319 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_319, 0, x_309); lean_ctor_set(x_319, 1, x_318); @@ -4531,7 +4588,7 @@ else { lean_object* x_325; lean_object* x_326; lean_object* x_327; lean_object* x_328; lean_object* x_329; uint8_t x_330; lean_object* x_331; lean_object* x_332; x_325 = lean_box(0); -x_326 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__7(x_258, x_270, x_325); +x_326 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__7(x_258, x_270, x_325); x_327 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_327, 0, x_309); lean_ctor_set(x_327, 1, x_326); @@ -4560,7 +4617,7 @@ else if (lean_obj_tag(x_257) == 0) { lean_object* x_334; lean_object* x_335; lean_object* x_336; -x_334 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__26; +x_334 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__26; x_335 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_335, 0, x_265); lean_ctor_set(x_335, 1, x_334); @@ -4579,7 +4636,7 @@ lean_dec(x_340); x_342 = l_Lean_instReprData__1___lambda__2___closed__2; x_343 = lean_string_append(x_341, x_342); x_344 = lean_box(0); -x_345 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__7(x_258, x_343, x_344); +x_345 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__7(x_258, x_343, x_344); x_346 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_346, 0, x_336); lean_ctor_set(x_346, 1, x_345); @@ -4598,7 +4655,7 @@ else { lean_object* x_352; lean_object* x_353; lean_object* x_354; lean_object* x_355; lean_object* x_356; uint8_t x_357; lean_object* x_358; lean_object* x_359; x_352 = lean_box(0); -x_353 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__7(x_258, x_270, x_352); +x_353 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__7(x_258, x_270, x_352); x_354 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_354, 0, x_336); lean_ctor_set(x_354, 1, x_353); @@ -4625,17 +4682,17 @@ goto block_306; block_306: { lean_object* x_275; lean_object* x_276; lean_object* x_277; lean_object* x_278; lean_object* x_279; lean_object* x_280; lean_object* x_281; lean_object* x_282; uint8_t x_283; lean_object* x_284; lean_object* x_285; lean_object* x_286; -x_275 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__18; -x_276 = l_Std_Format_joinSep___at___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____spec__2(x_257, x_275); -x_277 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__22; +x_275 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__18; +x_276 = l_Std_Format_joinSep___at___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____spec__2(x_257, x_275); +x_277 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__22; x_278 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_278, 0, x_277); lean_ctor_set(x_278, 1, x_276); -x_279 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__24; +x_279 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__24; x_280 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_280, 0, x_278); lean_ctor_set(x_280, 1, x_279); -x_281 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__21; +x_281 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__21; x_282 = lean_alloc_ctor(3, 2, 0); lean_ctor_set(x_282, 0, x_281); lean_ctor_set(x_282, 1, x_280); @@ -4661,7 +4718,7 @@ lean_dec(x_290); x_292 = l_Lean_instReprData__1___lambda__2___closed__2; x_293 = lean_string_append(x_291, x_292); x_294 = lean_box(0); -x_295 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__7(x_258, x_293, x_294); +x_295 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__7(x_258, x_293, x_294); x_296 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_296, 0, x_286); lean_ctor_set(x_296, 1, x_295); @@ -4678,7 +4735,7 @@ else { lean_object* x_300; lean_object* x_301; lean_object* x_302; lean_object* x_303; lean_object* x_304; lean_object* x_305; x_300 = lean_box(0); -x_301 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__7(x_258, x_270, x_300); +x_301 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__7(x_258, x_270, x_300); x_302 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_302, 0, x_286); lean_ctor_set(x_302, 1, x_301); @@ -4704,8 +4761,8 @@ x_363 = lean_ctor_get_uint64(x_1, sizeof(void*)*2); lean_dec(x_1); x_364 = lean_unsigned_to_nat(1024u); x_365 = lean_nat_dec_le(x_364, x_2); -x_366 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223_(x_361, x_364); -x_367 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__29; +x_366 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245_(x_361, x_364); +x_367 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__29; x_368 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_368, 0, x_367); lean_ctor_set(x_368, 1, x_366); @@ -4713,7 +4770,7 @@ x_369 = lean_box(1); x_370 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_370, 0, x_368); lean_ctor_set(x_370, 1, x_369); -x_371 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223_(x_362, x_364); +x_371 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245_(x_362, x_364); x_372 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_372, 0, x_370); lean_ctor_set(x_372, 1, x_371); @@ -4743,7 +4800,7 @@ lean_dec(x_385); x_387 = l_Lean_instReprData__1___lambda__2___closed__2; x_388 = lean_string_append(x_386, x_387); x_389 = lean_box(0); -x_390 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__7(x_363, x_388, x_389); +x_390 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__7(x_363, x_388, x_389); x_391 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_391, 0, x_373); lean_ctor_set(x_391, 1, x_390); @@ -4762,7 +4819,7 @@ else { lean_object* x_397; lean_object* x_398; lean_object* x_399; lean_object* x_400; lean_object* x_401; uint8_t x_402; lean_object* x_403; lean_object* x_404; x_397 = lean_box(0); -x_398 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__7(x_363, x_378, x_397); +x_398 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__7(x_363, x_378, x_397); x_399 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_399, 0, x_373); lean_ctor_set(x_399, 1, x_398); @@ -4792,7 +4849,7 @@ lean_dec(x_408); x_410 = l_Lean_instReprData__1___lambda__2___closed__2; x_411 = lean_string_append(x_409, x_410); x_412 = lean_box(0); -x_413 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__7(x_363, x_411, x_412); +x_413 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__7(x_363, x_411, x_412); x_414 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_414, 0, x_373); lean_ctor_set(x_414, 1, x_413); @@ -4811,7 +4868,7 @@ else { lean_object* x_420; lean_object* x_421; lean_object* x_422; lean_object* x_423; lean_object* x_424; uint8_t x_425; lean_object* x_426; lean_object* x_427; x_420 = lean_box(0); -x_421 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__7(x_363, x_378, x_420); +x_421 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__7(x_363, x_378, x_420); x_422 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_422, 0, x_373); lean_ctor_set(x_422, 1, x_421); @@ -4842,7 +4899,7 @@ lean_dec(x_1); x_432 = lean_unsigned_to_nat(1024u); x_433 = lean_nat_dec_le(x_432, x_2); x_434 = l_Lean_Name_reprPrec(x_428, x_432); -x_435 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__32; +x_435 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__32; x_436 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_436, 0, x_435); lean_ctor_set(x_436, 1, x_434); @@ -4850,14 +4907,14 @@ x_437 = lean_box(1); x_438 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_438, 0, x_436); lean_ctor_set(x_438, 1, x_437); -x_439 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223_(x_429, x_432); +x_439 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245_(x_429, x_432); x_440 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_440, 0, x_438); lean_ctor_set(x_440, 1, x_439); x_441 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_441, 0, x_440); lean_ctor_set(x_441, 1, x_437); -x_442 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223_(x_430, x_432); +x_442 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245_(x_430, x_432); x_443 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_443, 0, x_441); lean_ctor_set(x_443, 1, x_442); @@ -4887,7 +4944,7 @@ lean_dec(x_456); x_458 = l_Lean_instReprData__1___lambda__2___closed__2; x_459 = lean_string_append(x_457, x_458); x_460 = lean_box(0); -x_461 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__7(x_431, x_459, x_460); +x_461 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__7(x_431, x_459, x_460); x_462 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_462, 0, x_444); lean_ctor_set(x_462, 1, x_461); @@ -4906,7 +4963,7 @@ else { lean_object* x_468; lean_object* x_469; lean_object* x_470; lean_object* x_471; lean_object* x_472; uint8_t x_473; lean_object* x_474; lean_object* x_475; x_468 = lean_box(0); -x_469 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__7(x_431, x_449, x_468); +x_469 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__7(x_431, x_449, x_468); x_470 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_470, 0, x_444); lean_ctor_set(x_470, 1, x_469); @@ -4936,7 +4993,7 @@ lean_dec(x_479); x_481 = l_Lean_instReprData__1___lambda__2___closed__2; x_482 = lean_string_append(x_480, x_481); x_483 = lean_box(0); -x_484 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__7(x_431, x_482, x_483); +x_484 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__7(x_431, x_482, x_483); x_485 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_485, 0, x_444); lean_ctor_set(x_485, 1, x_484); @@ -4955,7 +5012,7 @@ else { lean_object* x_491; lean_object* x_492; lean_object* x_493; lean_object* x_494; lean_object* x_495; uint8_t x_496; lean_object* x_497; lean_object* x_498; x_491 = lean_box(0); -x_492 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__7(x_431, x_449, x_491); +x_492 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__7(x_431, x_449, x_491); x_493 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_493, 0, x_444); lean_ctor_set(x_493, 1, x_492); @@ -4986,7 +5043,7 @@ lean_dec(x_1); x_503 = lean_unsigned_to_nat(1024u); x_504 = lean_nat_dec_le(x_503, x_2); x_505 = l_Lean_Name_reprPrec(x_499, x_503); -x_506 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__35; +x_506 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__35; x_507 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_507, 0, x_506); lean_ctor_set(x_507, 1, x_505); @@ -4994,14 +5051,14 @@ x_508 = lean_box(1); x_509 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_509, 0, x_507); lean_ctor_set(x_509, 1, x_508); -x_510 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223_(x_500, x_503); +x_510 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245_(x_500, x_503); x_511 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_511, 0, x_509); lean_ctor_set(x_511, 1, x_510); x_512 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_512, 0, x_511); lean_ctor_set(x_512, 1, x_508); -x_513 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223_(x_501, x_503); +x_513 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245_(x_501, x_503); x_514 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_514, 0, x_512); lean_ctor_set(x_514, 1, x_513); @@ -5031,7 +5088,7 @@ lean_dec(x_527); x_529 = l_Lean_instReprData__1___lambda__2___closed__2; x_530 = lean_string_append(x_528, x_529); x_531 = lean_box(0); -x_532 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__7(x_502, x_530, x_531); +x_532 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__7(x_502, x_530, x_531); x_533 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_533, 0, x_515); lean_ctor_set(x_533, 1, x_532); @@ -5050,7 +5107,7 @@ else { lean_object* x_539; lean_object* x_540; lean_object* x_541; lean_object* x_542; lean_object* x_543; uint8_t x_544; lean_object* x_545; lean_object* x_546; x_539 = lean_box(0); -x_540 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__7(x_502, x_520, x_539); +x_540 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__7(x_502, x_520, x_539); x_541 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_541, 0, x_515); lean_ctor_set(x_541, 1, x_540); @@ -5080,7 +5137,7 @@ lean_dec(x_550); x_552 = l_Lean_instReprData__1___lambda__2___closed__2; x_553 = lean_string_append(x_551, x_552); x_554 = lean_box(0); -x_555 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__7(x_502, x_553, x_554); +x_555 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__7(x_502, x_553, x_554); x_556 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_556, 0, x_515); lean_ctor_set(x_556, 1, x_555); @@ -5099,7 +5156,7 @@ else { lean_object* x_562; lean_object* x_563; lean_object* x_564; lean_object* x_565; lean_object* x_566; uint8_t x_567; lean_object* x_568; lean_object* x_569; x_562 = lean_box(0); -x_563 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__7(x_502, x_520, x_562); +x_563 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__7(x_502, x_520, x_562); x_564 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_564, 0, x_515); lean_ctor_set(x_564, 1, x_563); @@ -5132,7 +5189,7 @@ lean_dec(x_1); x_575 = lean_unsigned_to_nat(1024u); x_576 = lean_nat_dec_le(x_575, x_2); x_577 = l_Lean_Name_reprPrec(x_570, x_575); -x_578 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__38; +x_578 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__38; x_579 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_579, 0, x_578); lean_ctor_set(x_579, 1, x_577); @@ -5140,21 +5197,21 @@ x_580 = lean_box(1); x_581 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_581, 0, x_579); lean_ctor_set(x_581, 1, x_580); -x_582 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223_(x_571, x_575); +x_582 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245_(x_571, x_575); x_583 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_583, 0, x_581); lean_ctor_set(x_583, 1, x_582); x_584 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_584, 0, x_583); lean_ctor_set(x_584, 1, x_580); -x_585 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223_(x_572, x_575); +x_585 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245_(x_572, x_575); x_586 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_586, 0, x_584); lean_ctor_set(x_586, 1, x_585); x_587 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_587, 0, x_586); lean_ctor_set(x_587, 1, x_580); -x_588 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223_(x_573, x_575); +x_588 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245_(x_573, x_575); x_589 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_589, 0, x_587); lean_ctor_set(x_589, 1, x_588); @@ -5184,7 +5241,7 @@ lean_dec(x_602); x_604 = l_Lean_instReprData__1___lambda__2___closed__2; x_605 = lean_string_append(x_603, x_604); x_606 = lean_box(0); -x_607 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__7(x_574, x_605, x_606); +x_607 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__7(x_574, x_605, x_606); x_608 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_608, 0, x_590); lean_ctor_set(x_608, 1, x_607); @@ -5203,7 +5260,7 @@ else { lean_object* x_614; lean_object* x_615; lean_object* x_616; lean_object* x_617; lean_object* x_618; uint8_t x_619; lean_object* x_620; lean_object* x_621; x_614 = lean_box(0); -x_615 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__7(x_574, x_595, x_614); +x_615 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__7(x_574, x_595, x_614); x_616 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_616, 0, x_590); lean_ctor_set(x_616, 1, x_615); @@ -5233,7 +5290,7 @@ lean_dec(x_625); x_627 = l_Lean_instReprData__1___lambda__2___closed__2; x_628 = lean_string_append(x_626, x_627); x_629 = lean_box(0); -x_630 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__7(x_574, x_628, x_629); +x_630 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__7(x_574, x_628, x_629); x_631 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_631, 0, x_590); lean_ctor_set(x_631, 1, x_630); @@ -5252,7 +5309,7 @@ else { lean_object* x_637; lean_object* x_638; lean_object* x_639; lean_object* x_640; lean_object* x_641; uint8_t x_642; lean_object* x_643; lean_object* x_644; x_637 = lean_box(0); -x_638 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__7(x_574, x_595, x_637); +x_638 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__7(x_574, x_595, x_637); x_639 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_639, 0, x_590); lean_ctor_set(x_639, 1, x_638); @@ -5279,7 +5336,7 @@ lean_dec(x_1); x_647 = lean_unsigned_to_nat(1024u); x_648 = lean_nat_dec_le(x_647, x_2); x_649 = l___private_Lean_Expr_0__Lean_reprLiteral____x40_Lean_Expr___hyg_109_(x_645, x_647); -x_650 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__41; +x_650 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__41; x_651 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_651, 0, x_650); lean_ctor_set(x_651, 1, x_649); @@ -5310,7 +5367,7 @@ lean_dec(x_665); x_667 = l_Lean_instReprData__1___lambda__2___closed__2; x_668 = lean_string_append(x_666, x_667); x_669 = lean_box(0); -x_670 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__7(x_646, x_668, x_669); +x_670 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__7(x_646, x_668, x_669); x_671 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_671, 0, x_653); lean_ctor_set(x_671, 1, x_670); @@ -5329,7 +5386,7 @@ else { lean_object* x_677; lean_object* x_678; lean_object* x_679; lean_object* x_680; lean_object* x_681; uint8_t x_682; lean_object* x_683; lean_object* x_684; x_677 = lean_box(0); -x_678 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__7(x_646, x_658, x_677); +x_678 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__7(x_646, x_658, x_677); x_679 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_679, 0, x_653); lean_ctor_set(x_679, 1, x_678); @@ -5359,7 +5416,7 @@ lean_dec(x_688); x_690 = l_Lean_instReprData__1___lambda__2___closed__2; x_691 = lean_string_append(x_689, x_690); x_692 = lean_box(0); -x_693 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__7(x_646, x_691, x_692); +x_693 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__7(x_646, x_691, x_692); x_694 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_694, 0, x_653); lean_ctor_set(x_694, 1, x_693); @@ -5378,7 +5435,7 @@ else { lean_object* x_700; lean_object* x_701; lean_object* x_702; lean_object* x_703; lean_object* x_704; uint8_t x_705; lean_object* x_706; lean_object* x_707; x_700 = lean_box(0); -x_701 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__7(x_646, x_658, x_700); +x_701 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__7(x_646, x_658, x_700); x_702 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_702, 0, x_653); lean_ctor_set(x_702, 1, x_701); @@ -5407,7 +5464,7 @@ lean_dec(x_1); x_711 = lean_unsigned_to_nat(1024u); x_712 = lean_nat_dec_le(x_711, x_2); x_713 = l___private_Lean_Data_KVMap_0__Lean_reprKVMap____x40_Lean_Data_KVMap___hyg_861_(x_708, x_711); -x_714 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__44; +x_714 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__44; x_715 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_715, 0, x_714); lean_ctor_set(x_715, 1, x_713); @@ -5415,7 +5472,7 @@ x_716 = lean_box(1); x_717 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_717, 0, x_715); lean_ctor_set(x_717, 1, x_716); -x_718 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223_(x_709, x_711); +x_718 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245_(x_709, x_711); x_719 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_719, 0, x_717); lean_ctor_set(x_719, 1, x_718); @@ -5445,7 +5502,7 @@ lean_dec(x_732); x_734 = l_Lean_instReprData__1___lambda__2___closed__2; x_735 = lean_string_append(x_733, x_734); x_736 = lean_box(0); -x_737 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__7(x_710, x_735, x_736); +x_737 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__7(x_710, x_735, x_736); x_738 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_738, 0, x_720); lean_ctor_set(x_738, 1, x_737); @@ -5464,7 +5521,7 @@ else { lean_object* x_744; lean_object* x_745; lean_object* x_746; lean_object* x_747; lean_object* x_748; uint8_t x_749; lean_object* x_750; lean_object* x_751; x_744 = lean_box(0); -x_745 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__7(x_710, x_725, x_744); +x_745 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__7(x_710, x_725, x_744); x_746 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_746, 0, x_720); lean_ctor_set(x_746, 1, x_745); @@ -5494,7 +5551,7 @@ lean_dec(x_755); x_757 = l_Lean_instReprData__1___lambda__2___closed__2; x_758 = lean_string_append(x_756, x_757); x_759 = lean_box(0); -x_760 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__7(x_710, x_758, x_759); +x_760 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__7(x_710, x_758, x_759); x_761 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_761, 0, x_720); lean_ctor_set(x_761, 1, x_760); @@ -5513,7 +5570,7 @@ else { lean_object* x_767; lean_object* x_768; lean_object* x_769; lean_object* x_770; lean_object* x_771; uint8_t x_772; lean_object* x_773; lean_object* x_774; x_767 = lean_box(0); -x_768 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__7(x_710, x_725, x_767); +x_768 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__7(x_710, x_725, x_767); x_769 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_769, 0, x_720); lean_ctor_set(x_769, 1, x_768); @@ -5544,7 +5601,7 @@ lean_dec(x_1); x_779 = lean_unsigned_to_nat(1024u); x_780 = lean_nat_dec_le(x_779, x_2); x_781 = l_Lean_Name_reprPrec(x_775, x_779); -x_782 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__47; +x_782 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__47; x_783 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_783, 0, x_782); lean_ctor_set(x_783, 1, x_781); @@ -5561,7 +5618,7 @@ lean_ctor_set(x_788, 1, x_787); x_789 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_789, 0, x_788); lean_ctor_set(x_789, 1, x_784); -x_790 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223_(x_777, x_779); +x_790 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245_(x_777, x_779); x_791 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_791, 0, x_789); lean_ctor_set(x_791, 1, x_790); @@ -5591,7 +5648,7 @@ lean_dec(x_804); x_806 = l_Lean_instReprData__1___lambda__2___closed__2; x_807 = lean_string_append(x_805, x_806); x_808 = lean_box(0); -x_809 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__7(x_778, x_807, x_808); +x_809 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__7(x_778, x_807, x_808); x_810 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_810, 0, x_792); lean_ctor_set(x_810, 1, x_809); @@ -5610,7 +5667,7 @@ else { lean_object* x_816; lean_object* x_817; lean_object* x_818; lean_object* x_819; lean_object* x_820; uint8_t x_821; lean_object* x_822; lean_object* x_823; x_816 = lean_box(0); -x_817 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__7(x_778, x_797, x_816); +x_817 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__7(x_778, x_797, x_816); x_818 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_818, 0, x_792); lean_ctor_set(x_818, 1, x_817); @@ -5640,7 +5697,7 @@ lean_dec(x_827); x_829 = l_Lean_instReprData__1___lambda__2___closed__2; x_830 = lean_string_append(x_828, x_829); x_831 = lean_box(0); -x_832 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__7(x_778, x_830, x_831); +x_832 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__7(x_778, x_830, x_831); x_833 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_833, 0, x_792); lean_ctor_set(x_833, 1, x_832); @@ -5659,7 +5716,7 @@ else { lean_object* x_839; lean_object* x_840; lean_object* x_841; lean_object* x_842; lean_object* x_843; uint8_t x_844; lean_object* x_845; lean_object* x_846; x_839 = lean_box(0); -x_840 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__7(x_778, x_797, x_839); +x_840 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__7(x_778, x_797, x_839); x_841 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_841, 0, x_792); lean_ctor_set(x_841, 1, x_840); @@ -5679,81 +5736,81 @@ return x_846; } } } -LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__1___boxed(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__1___boxed(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; -x_3 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__1(x_1, x_2); +x_3 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__1(x_1, x_2); lean_dec(x_2); return x_3; } } -LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { uint64_t x_4; lean_object* x_5; x_4 = lean_unbox_uint64(x_1); lean_dec(x_1); -x_5 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__2(x_4, x_2, x_3); +x_5 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__2(x_4, x_2, x_3); lean_dec(x_3); return x_5; } } -LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { uint64_t x_4; lean_object* x_5; x_4 = lean_unbox_uint64(x_1); lean_dec(x_1); -x_5 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__3(x_4, x_2, x_3); +x_5 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__3(x_4, x_2, x_3); return x_5; } } -LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { uint64_t x_4; lean_object* x_5; x_4 = lean_unbox_uint64(x_1); lean_dec(x_1); -x_5 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__4(x_4, x_2, x_3); +x_5 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__4(x_4, x_2, x_3); return x_5; } } -LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__5___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__5___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { uint64_t x_4; lean_object* x_5; x_4 = lean_unbox_uint64(x_1); lean_dec(x_1); -x_5 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__5(x_4, x_2, x_3); +x_5 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__5(x_4, x_2, x_3); return x_5; } } -LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__6___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__6___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { uint64_t x_4; lean_object* x_5; x_4 = lean_unbox_uint64(x_1); lean_dec(x_1); -x_5 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__6(x_4, x_2, x_3); +x_5 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__6(x_4, x_2, x_3); return x_5; } } -LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__7___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__7___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { uint64_t x_4; lean_object* x_5; x_4 = lean_unbox_uint64(x_1); lean_dec(x_1); -x_5 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__7(x_4, x_2, x_3); +x_5 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__7(x_4, x_2, x_3); return x_5; } } -LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____boxed(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____boxed(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; -x_3 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223_(x_1, x_2); +x_3 = l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245_(x_1, x_2); lean_dec(x_2); return x_3; } @@ -5762,7 +5819,7 @@ static lean_object* _init_l_Lean_instReprExpr___closed__1() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____boxed), 2, 0); +x_1 = lean_alloc_closure((void*)(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____boxed), 2, 0); return x_1; } } @@ -5774,66 +5831,11 @@ x_1 = l_Lean_instReprExpr___closed__1; return x_1; } } -LEAN_EXPORT uint64_t l_Lean_Expr_data(lean_object* x_1) { -_start: -{ -switch (lean_obj_tag(x_1)) { -case 4: -{ -uint64_t x_2; -x_2 = lean_ctor_get_uint64(x_1, sizeof(void*)*2); -return x_2; -} -case 5: -{ -uint64_t x_3; -x_3 = lean_ctor_get_uint64(x_1, sizeof(void*)*2); -return x_3; -} -case 6: -{ -uint64_t x_4; -x_4 = lean_ctor_get_uint64(x_1, sizeof(void*)*3); -return x_4; -} -case 7: -{ -uint64_t x_5; -x_5 = lean_ctor_get_uint64(x_1, sizeof(void*)*3); -return x_5; -} -case 8: -{ -uint64_t x_6; -x_6 = lean_ctor_get_uint64(x_1, sizeof(void*)*4); -return x_6; -} -case 10: -{ -uint64_t x_7; -x_7 = lean_ctor_get_uint64(x_1, sizeof(void*)*2); -return x_7; -} -case 11: -{ -uint64_t x_8; -x_8 = lean_ctor_get_uint64(x_1, sizeof(void*)*3); -return x_8; -} -default: -{ -uint64_t x_9; -x_9 = lean_ctor_get_uint64(x_1, sizeof(void*)*1); -return x_9; -} -} -} -} LEAN_EXPORT lean_object* l_Lean_Expr_data___boxed(lean_object* x_1) { _start: { uint64_t x_2; lean_object* x_3; -x_2 = l_Lean_Expr_data(x_1); +x_2 = lean_ctor_get_uint64(x_1, lean_ctor_num_objs(x_1)*sizeof(void*)); lean_dec(x_1); x_3 = lean_box_uint64(x_2); return x_3; @@ -6026,65 +6028,11 @@ return x_2; LEAN_EXPORT uint64_t l_Lean_Expr_hash(lean_object* x_1) { _start: { -switch (lean_obj_tag(x_1)) { -case 4: -{ uint64_t x_2; uint64_t x_3; -x_2 = lean_ctor_get_uint64(x_1, sizeof(void*)*2); +x_2 = lean_ctor_get_uint64(x_1, lean_ctor_num_objs(x_1)*sizeof(void*)); x_3 = l_Lean_Expr_Data_hash(x_2); return x_3; } -case 5: -{ -uint64_t x_4; uint64_t x_5; -x_4 = lean_ctor_get_uint64(x_1, sizeof(void*)*2); -x_5 = l_Lean_Expr_Data_hash(x_4); -return x_5; -} -case 6: -{ -uint64_t x_6; uint64_t x_7; -x_6 = lean_ctor_get_uint64(x_1, sizeof(void*)*3); -x_7 = l_Lean_Expr_Data_hash(x_6); -return x_7; -} -case 7: -{ -uint64_t x_8; uint64_t x_9; -x_8 = lean_ctor_get_uint64(x_1, sizeof(void*)*3); -x_9 = l_Lean_Expr_Data_hash(x_8); -return x_9; -} -case 8: -{ -uint64_t x_10; uint64_t x_11; -x_10 = lean_ctor_get_uint64(x_1, sizeof(void*)*4); -x_11 = l_Lean_Expr_Data_hash(x_10); -return x_11; -} -case 10: -{ -uint64_t x_12; uint64_t x_13; -x_12 = lean_ctor_get_uint64(x_1, sizeof(void*)*2); -x_13 = l_Lean_Expr_Data_hash(x_12); -return x_13; -} -case 11: -{ -uint64_t x_14; uint64_t x_15; -x_14 = lean_ctor_get_uint64(x_1, sizeof(void*)*3); -x_15 = l_Lean_Expr_Data_hash(x_14); -return x_15; -} -default: -{ -uint64_t x_16; uint64_t x_17; -x_16 = lean_ctor_get_uint64(x_1, sizeof(void*)*1); -x_17 = l_Lean_Expr_Data_hash(x_16); -return x_17; -} -} -} } LEAN_EXPORT lean_object* l_Lean_Expr_hash___boxed(lean_object* x_1) { _start: @@ -6115,65 +6063,11 @@ return x_1; LEAN_EXPORT uint8_t l_Lean_Expr_hasFVar(lean_object* x_1) { _start: { -switch (lean_obj_tag(x_1)) { -case 4: -{ uint64_t x_2; uint8_t x_3; -x_2 = lean_ctor_get_uint64(x_1, sizeof(void*)*2); +x_2 = lean_ctor_get_uint64(x_1, lean_ctor_num_objs(x_1)*sizeof(void*)); x_3 = l_Lean_Expr_Data_hasFVar(x_2); return x_3; } -case 5: -{ -uint64_t x_4; uint8_t x_5; -x_4 = lean_ctor_get_uint64(x_1, sizeof(void*)*2); -x_5 = l_Lean_Expr_Data_hasFVar(x_4); -return x_5; -} -case 6: -{ -uint64_t x_6; uint8_t x_7; -x_6 = lean_ctor_get_uint64(x_1, sizeof(void*)*3); -x_7 = l_Lean_Expr_Data_hasFVar(x_6); -return x_7; -} -case 7: -{ -uint64_t x_8; uint8_t x_9; -x_8 = lean_ctor_get_uint64(x_1, sizeof(void*)*3); -x_9 = l_Lean_Expr_Data_hasFVar(x_8); -return x_9; -} -case 8: -{ -uint64_t x_10; uint8_t x_11; -x_10 = lean_ctor_get_uint64(x_1, sizeof(void*)*4); -x_11 = l_Lean_Expr_Data_hasFVar(x_10); -return x_11; -} -case 10: -{ -uint64_t x_12; uint8_t x_13; -x_12 = lean_ctor_get_uint64(x_1, sizeof(void*)*2); -x_13 = l_Lean_Expr_Data_hasFVar(x_12); -return x_13; -} -case 11: -{ -uint64_t x_14; uint8_t x_15; -x_14 = lean_ctor_get_uint64(x_1, sizeof(void*)*3); -x_15 = l_Lean_Expr_Data_hasFVar(x_14); -return x_15; -} -default: -{ -uint64_t x_16; uint8_t x_17; -x_16 = lean_ctor_get_uint64(x_1, sizeof(void*)*1); -x_17 = l_Lean_Expr_Data_hasFVar(x_16); -return x_17; -} -} -} } LEAN_EXPORT lean_object* l_Lean_Expr_hasFVar___boxed(lean_object* x_1) { _start: @@ -6188,65 +6082,11 @@ return x_3; LEAN_EXPORT uint8_t l_Lean_Expr_hasExprMVar(lean_object* x_1) { _start: { -switch (lean_obj_tag(x_1)) { -case 4: -{ uint64_t x_2; uint8_t x_3; -x_2 = lean_ctor_get_uint64(x_1, sizeof(void*)*2); +x_2 = lean_ctor_get_uint64(x_1, lean_ctor_num_objs(x_1)*sizeof(void*)); x_3 = l_Lean_Expr_Data_hasExprMVar(x_2); return x_3; } -case 5: -{ -uint64_t x_4; uint8_t x_5; -x_4 = lean_ctor_get_uint64(x_1, sizeof(void*)*2); -x_5 = l_Lean_Expr_Data_hasExprMVar(x_4); -return x_5; -} -case 6: -{ -uint64_t x_6; uint8_t x_7; -x_6 = lean_ctor_get_uint64(x_1, sizeof(void*)*3); -x_7 = l_Lean_Expr_Data_hasExprMVar(x_6); -return x_7; -} -case 7: -{ -uint64_t x_8; uint8_t x_9; -x_8 = lean_ctor_get_uint64(x_1, sizeof(void*)*3); -x_9 = l_Lean_Expr_Data_hasExprMVar(x_8); -return x_9; -} -case 8: -{ -uint64_t x_10; uint8_t x_11; -x_10 = lean_ctor_get_uint64(x_1, sizeof(void*)*4); -x_11 = l_Lean_Expr_Data_hasExprMVar(x_10); -return x_11; -} -case 10: -{ -uint64_t x_12; uint8_t x_13; -x_12 = lean_ctor_get_uint64(x_1, sizeof(void*)*2); -x_13 = l_Lean_Expr_Data_hasExprMVar(x_12); -return x_13; -} -case 11: -{ -uint64_t x_14; uint8_t x_15; -x_14 = lean_ctor_get_uint64(x_1, sizeof(void*)*3); -x_15 = l_Lean_Expr_Data_hasExprMVar(x_14); -return x_15; -} -default: -{ -uint64_t x_16; uint8_t x_17; -x_16 = lean_ctor_get_uint64(x_1, sizeof(void*)*1); -x_17 = l_Lean_Expr_Data_hasExprMVar(x_16); -return x_17; -} -} -} } LEAN_EXPORT lean_object* l_Lean_Expr_hasExprMVar___boxed(lean_object* x_1) { _start: @@ -6261,65 +6101,11 @@ return x_3; LEAN_EXPORT uint8_t l_Lean_Expr_hasLevelMVar(lean_object* x_1) { _start: { -switch (lean_obj_tag(x_1)) { -case 4: -{ uint64_t x_2; uint8_t x_3; -x_2 = lean_ctor_get_uint64(x_1, sizeof(void*)*2); +x_2 = lean_ctor_get_uint64(x_1, lean_ctor_num_objs(x_1)*sizeof(void*)); x_3 = l_Lean_Expr_Data_hasLevelMVar(x_2); return x_3; } -case 5: -{ -uint64_t x_4; uint8_t x_5; -x_4 = lean_ctor_get_uint64(x_1, sizeof(void*)*2); -x_5 = l_Lean_Expr_Data_hasLevelMVar(x_4); -return x_5; -} -case 6: -{ -uint64_t x_6; uint8_t x_7; -x_6 = lean_ctor_get_uint64(x_1, sizeof(void*)*3); -x_7 = l_Lean_Expr_Data_hasLevelMVar(x_6); -return x_7; -} -case 7: -{ -uint64_t x_8; uint8_t x_9; -x_8 = lean_ctor_get_uint64(x_1, sizeof(void*)*3); -x_9 = l_Lean_Expr_Data_hasLevelMVar(x_8); -return x_9; -} -case 8: -{ -uint64_t x_10; uint8_t x_11; -x_10 = lean_ctor_get_uint64(x_1, sizeof(void*)*4); -x_11 = l_Lean_Expr_Data_hasLevelMVar(x_10); -return x_11; -} -case 10: -{ -uint64_t x_12; uint8_t x_13; -x_12 = lean_ctor_get_uint64(x_1, sizeof(void*)*2); -x_13 = l_Lean_Expr_Data_hasLevelMVar(x_12); -return x_13; -} -case 11: -{ -uint64_t x_14; uint8_t x_15; -x_14 = lean_ctor_get_uint64(x_1, sizeof(void*)*3); -x_15 = l_Lean_Expr_Data_hasLevelMVar(x_14); -return x_15; -} -default: -{ -uint64_t x_16; uint8_t x_17; -x_16 = lean_ctor_get_uint64(x_1, sizeof(void*)*1); -x_17 = l_Lean_Expr_Data_hasLevelMVar(x_16); -return x_17; -} -} -} } LEAN_EXPORT lean_object* l_Lean_Expr_hasLevelMVar___boxed(lean_object* x_1) { _start: @@ -6334,68 +6120,8 @@ return x_3; LEAN_EXPORT uint8_t l_Lean_Expr_hasMVar(lean_object* x_1) { _start: { -uint64_t x_2; -switch (lean_obj_tag(x_1)) { -case 4: -{ -uint64_t x_7; -x_7 = lean_ctor_get_uint64(x_1, sizeof(void*)*2); -x_2 = x_7; -goto block_6; -} -case 5: -{ -uint64_t x_8; -x_8 = lean_ctor_get_uint64(x_1, sizeof(void*)*2); -x_2 = x_8; -goto block_6; -} -case 6: -{ -uint64_t x_9; -x_9 = lean_ctor_get_uint64(x_1, sizeof(void*)*3); -x_2 = x_9; -goto block_6; -} -case 7: -{ -uint64_t x_10; -x_10 = lean_ctor_get_uint64(x_1, sizeof(void*)*3); -x_2 = x_10; -goto block_6; -} -case 8: -{ -uint64_t x_11; -x_11 = lean_ctor_get_uint64(x_1, sizeof(void*)*4); -x_2 = x_11; -goto block_6; -} -case 10: -{ -uint64_t x_12; -x_12 = lean_ctor_get_uint64(x_1, sizeof(void*)*2); -x_2 = x_12; -goto block_6; -} -case 11: -{ -uint64_t x_13; -x_13 = lean_ctor_get_uint64(x_1, sizeof(void*)*3); -x_2 = x_13; -goto block_6; -} -default: -{ -uint64_t x_14; -x_14 = lean_ctor_get_uint64(x_1, sizeof(void*)*1); -x_2 = x_14; -goto block_6; -} -} -block_6: -{ -uint8_t x_3; +uint64_t x_2; uint8_t x_3; +x_2 = lean_ctor_get_uint64(x_1, lean_ctor_num_objs(x_1)*sizeof(void*)); x_3 = l_Lean_Expr_Data_hasExprMVar(x_2); if (x_3 == 0) { @@ -6411,7 +6137,6 @@ return x_5; } } } -} LEAN_EXPORT lean_object* l_Lean_Expr_hasMVar___boxed(lean_object* x_1) { _start: { @@ -6425,65 +6150,11 @@ return x_3; LEAN_EXPORT uint8_t l_Lean_Expr_hasLevelParam(lean_object* x_1) { _start: { -switch (lean_obj_tag(x_1)) { -case 4: -{ uint64_t x_2; uint8_t x_3; -x_2 = lean_ctor_get_uint64(x_1, sizeof(void*)*2); +x_2 = lean_ctor_get_uint64(x_1, lean_ctor_num_objs(x_1)*sizeof(void*)); x_3 = l_Lean_Expr_Data_hasLevelParam(x_2); return x_3; } -case 5: -{ -uint64_t x_4; uint8_t x_5; -x_4 = lean_ctor_get_uint64(x_1, sizeof(void*)*2); -x_5 = l_Lean_Expr_Data_hasLevelParam(x_4); -return x_5; -} -case 6: -{ -uint64_t x_6; uint8_t x_7; -x_6 = lean_ctor_get_uint64(x_1, sizeof(void*)*3); -x_7 = l_Lean_Expr_Data_hasLevelParam(x_6); -return x_7; -} -case 7: -{ -uint64_t x_8; uint8_t x_9; -x_8 = lean_ctor_get_uint64(x_1, sizeof(void*)*3); -x_9 = l_Lean_Expr_Data_hasLevelParam(x_8); -return x_9; -} -case 8: -{ -uint64_t x_10; uint8_t x_11; -x_10 = lean_ctor_get_uint64(x_1, sizeof(void*)*4); -x_11 = l_Lean_Expr_Data_hasLevelParam(x_10); -return x_11; -} -case 10: -{ -uint64_t x_12; uint8_t x_13; -x_12 = lean_ctor_get_uint64(x_1, sizeof(void*)*2); -x_13 = l_Lean_Expr_Data_hasLevelParam(x_12); -return x_13; -} -case 11: -{ -uint64_t x_14; uint8_t x_15; -x_14 = lean_ctor_get_uint64(x_1, sizeof(void*)*3); -x_15 = l_Lean_Expr_Data_hasLevelParam(x_14); -return x_15; -} -default: -{ -uint64_t x_16; uint8_t x_17; -x_16 = lean_ctor_get_uint64(x_1, sizeof(void*)*1); -x_17 = l_Lean_Expr_Data_hasLevelParam(x_16); -return x_17; -} -} -} } LEAN_EXPORT lean_object* l_Lean_Expr_hasLevelParam___boxed(lean_object* x_1) { _start: @@ -6498,73 +6169,12 @@ return x_3; LEAN_EXPORT uint32_t l_Lean_Expr_approxDepth(lean_object* x_1) { _start: { -switch (lean_obj_tag(x_1)) { -case 4: -{ uint64_t x_2; uint8_t x_3; uint32_t x_4; -x_2 = lean_ctor_get_uint64(x_1, sizeof(void*)*2); +x_2 = lean_ctor_get_uint64(x_1, lean_ctor_num_objs(x_1)*sizeof(void*)); x_3 = l_Lean_Expr_Data_approxDepth(x_2); x_4 = lean_uint8_to_uint32(x_3); return x_4; } -case 5: -{ -uint64_t x_5; uint8_t x_6; uint32_t x_7; -x_5 = lean_ctor_get_uint64(x_1, sizeof(void*)*2); -x_6 = l_Lean_Expr_Data_approxDepth(x_5); -x_7 = lean_uint8_to_uint32(x_6); -return x_7; -} -case 6: -{ -uint64_t x_8; uint8_t x_9; uint32_t x_10; -x_8 = lean_ctor_get_uint64(x_1, sizeof(void*)*3); -x_9 = l_Lean_Expr_Data_approxDepth(x_8); -x_10 = lean_uint8_to_uint32(x_9); -return x_10; -} -case 7: -{ -uint64_t x_11; uint8_t x_12; uint32_t x_13; -x_11 = lean_ctor_get_uint64(x_1, sizeof(void*)*3); -x_12 = l_Lean_Expr_Data_approxDepth(x_11); -x_13 = lean_uint8_to_uint32(x_12); -return x_13; -} -case 8: -{ -uint64_t x_14; uint8_t x_15; uint32_t x_16; -x_14 = lean_ctor_get_uint64(x_1, sizeof(void*)*4); -x_15 = l_Lean_Expr_Data_approxDepth(x_14); -x_16 = lean_uint8_to_uint32(x_15); -return x_16; -} -case 10: -{ -uint64_t x_17; uint8_t x_18; uint32_t x_19; -x_17 = lean_ctor_get_uint64(x_1, sizeof(void*)*2); -x_18 = l_Lean_Expr_Data_approxDepth(x_17); -x_19 = lean_uint8_to_uint32(x_18); -return x_19; -} -case 11: -{ -uint64_t x_20; uint8_t x_21; uint32_t x_22; -x_20 = lean_ctor_get_uint64(x_1, sizeof(void*)*3); -x_21 = l_Lean_Expr_Data_approxDepth(x_20); -x_22 = lean_uint8_to_uint32(x_21); -return x_22; -} -default: -{ -uint64_t x_23; uint8_t x_24; uint32_t x_25; -x_23 = lean_ctor_get_uint64(x_1, sizeof(void*)*1); -x_24 = l_Lean_Expr_Data_approxDepth(x_23); -x_25 = lean_uint8_to_uint32(x_24); -return x_25; -} -} -} } LEAN_EXPORT lean_object* l_Lean_Expr_approxDepth___boxed(lean_object* x_1) { _start: @@ -6579,73 +6189,12 @@ return x_3; LEAN_EXPORT lean_object* l_Lean_Expr_looseBVarRange(lean_object* x_1) { _start: { -switch (lean_obj_tag(x_1)) { -case 4: -{ uint64_t x_2; uint32_t x_3; lean_object* x_4; -x_2 = lean_ctor_get_uint64(x_1, sizeof(void*)*2); +x_2 = lean_ctor_get_uint64(x_1, lean_ctor_num_objs(x_1)*sizeof(void*)); x_3 = l_Lean_Expr_Data_looseBVarRange(x_2); x_4 = lean_uint32_to_nat(x_3); return x_4; } -case 5: -{ -uint64_t x_5; uint32_t x_6; lean_object* x_7; -x_5 = lean_ctor_get_uint64(x_1, sizeof(void*)*2); -x_6 = l_Lean_Expr_Data_looseBVarRange(x_5); -x_7 = lean_uint32_to_nat(x_6); -return x_7; -} -case 6: -{ -uint64_t x_8; uint32_t x_9; lean_object* x_10; -x_8 = lean_ctor_get_uint64(x_1, sizeof(void*)*3); -x_9 = l_Lean_Expr_Data_looseBVarRange(x_8); -x_10 = lean_uint32_to_nat(x_9); -return x_10; -} -case 7: -{ -uint64_t x_11; uint32_t x_12; lean_object* x_13; -x_11 = lean_ctor_get_uint64(x_1, sizeof(void*)*3); -x_12 = l_Lean_Expr_Data_looseBVarRange(x_11); -x_13 = lean_uint32_to_nat(x_12); -return x_13; -} -case 8: -{ -uint64_t x_14; uint32_t x_15; lean_object* x_16; -x_14 = lean_ctor_get_uint64(x_1, sizeof(void*)*4); -x_15 = l_Lean_Expr_Data_looseBVarRange(x_14); -x_16 = lean_uint32_to_nat(x_15); -return x_16; -} -case 10: -{ -uint64_t x_17; uint32_t x_18; lean_object* x_19; -x_17 = lean_ctor_get_uint64(x_1, sizeof(void*)*2); -x_18 = l_Lean_Expr_Data_looseBVarRange(x_17); -x_19 = lean_uint32_to_nat(x_18); -return x_19; -} -case 11: -{ -uint64_t x_20; uint32_t x_21; lean_object* x_22; -x_20 = lean_ctor_get_uint64(x_1, sizeof(void*)*3); -x_21 = l_Lean_Expr_Data_looseBVarRange(x_20); -x_22 = lean_uint32_to_nat(x_21); -return x_22; -} -default: -{ -uint64_t x_23; uint32_t x_24; lean_object* x_25; -x_23 = lean_ctor_get_uint64(x_1, sizeof(void*)*1); -x_24 = l_Lean_Expr_Data_looseBVarRange(x_23); -x_25 = lean_uint32_to_nat(x_24); -return x_25; -} -} -} } LEAN_EXPORT lean_object* l_Lean_Expr_looseBVarRange___boxed(lean_object* x_1) { _start: @@ -6659,65 +6208,11 @@ return x_2; LEAN_EXPORT uint8_t l_Lean_Expr_binderInfo(lean_object* x_1) { _start: { -switch (lean_obj_tag(x_1)) { -case 4: -{ uint64_t x_2; uint8_t x_3; -x_2 = lean_ctor_get_uint64(x_1, sizeof(void*)*2); +x_2 = lean_ctor_get_uint64(x_1, lean_ctor_num_objs(x_1)*sizeof(void*)); x_3 = (uint8_t)((x_2 << 24) >> 61); return x_3; } -case 5: -{ -uint64_t x_4; uint8_t x_5; -x_4 = lean_ctor_get_uint64(x_1, sizeof(void*)*2); -x_5 = (uint8_t)((x_4 << 24) >> 61); -return x_5; -} -case 6: -{ -uint64_t x_6; uint8_t x_7; -x_6 = lean_ctor_get_uint64(x_1, sizeof(void*)*3); -x_7 = (uint8_t)((x_6 << 24) >> 61); -return x_7; -} -case 7: -{ -uint64_t x_8; uint8_t x_9; -x_8 = lean_ctor_get_uint64(x_1, sizeof(void*)*3); -x_9 = (uint8_t)((x_8 << 24) >> 61); -return x_9; -} -case 8: -{ -uint64_t x_10; uint8_t x_11; -x_10 = lean_ctor_get_uint64(x_1, sizeof(void*)*4); -x_11 = (uint8_t)((x_10 << 24) >> 61); -return x_11; -} -case 10: -{ -uint64_t x_12; uint8_t x_13; -x_12 = lean_ctor_get_uint64(x_1, sizeof(void*)*2); -x_13 = (uint8_t)((x_12 << 24) >> 61); -return x_13; -} -case 11: -{ -uint64_t x_14; uint8_t x_15; -x_14 = lean_ctor_get_uint64(x_1, sizeof(void*)*3); -x_15 = (uint8_t)((x_14 << 24) >> 61); -return x_15; -} -default: -{ -uint64_t x_16; uint8_t x_17; -x_16 = lean_ctor_get_uint64(x_1, sizeof(void*)*1); -x_17 = (uint8_t)((x_16 << 24) >> 61); -return x_17; -} -} -} } LEAN_EXPORT lean_object* l_Lean_Expr_binderInfo___boxed(lean_object* x_1) { _start: @@ -6840,73 +6335,12 @@ return x_3; LEAN_EXPORT uint32_t lean_expr_loose_bvar_range(lean_object* x_1) { _start: { -switch (lean_obj_tag(x_1)) { -case 4: -{ uint64_t x_2; uint32_t x_3; -x_2 = lean_ctor_get_uint64(x_1, sizeof(void*)*2); +x_2 = lean_ctor_get_uint64(x_1, lean_ctor_num_objs(x_1)*sizeof(void*)); lean_dec(x_1); x_3 = l_Lean_Expr_Data_looseBVarRange(x_2); return x_3; } -case 5: -{ -uint64_t x_4; uint32_t x_5; -x_4 = lean_ctor_get_uint64(x_1, sizeof(void*)*2); -lean_dec(x_1); -x_5 = l_Lean_Expr_Data_looseBVarRange(x_4); -return x_5; -} -case 6: -{ -uint64_t x_6; uint32_t x_7; -x_6 = lean_ctor_get_uint64(x_1, sizeof(void*)*3); -lean_dec(x_1); -x_7 = l_Lean_Expr_Data_looseBVarRange(x_6); -return x_7; -} -case 7: -{ -uint64_t x_8; uint32_t x_9; -x_8 = lean_ctor_get_uint64(x_1, sizeof(void*)*3); -lean_dec(x_1); -x_9 = l_Lean_Expr_Data_looseBVarRange(x_8); -return x_9; -} -case 8: -{ -uint64_t x_10; uint32_t x_11; -x_10 = lean_ctor_get_uint64(x_1, sizeof(void*)*4); -lean_dec(x_1); -x_11 = l_Lean_Expr_Data_looseBVarRange(x_10); -return x_11; -} -case 10: -{ -uint64_t x_12; uint32_t x_13; -x_12 = lean_ctor_get_uint64(x_1, sizeof(void*)*2); -lean_dec(x_1); -x_13 = l_Lean_Expr_Data_looseBVarRange(x_12); -return x_13; -} -case 11: -{ -uint64_t x_14; uint32_t x_15; -x_14 = lean_ctor_get_uint64(x_1, sizeof(void*)*3); -lean_dec(x_1); -x_15 = l_Lean_Expr_Data_looseBVarRange(x_14); -return x_15; -} -default: -{ -uint64_t x_16; uint32_t x_17; -x_16 = lean_ctor_get_uint64(x_1, sizeof(void*)*1); -lean_dec(x_1); -x_17 = l_Lean_Expr_Data_looseBVarRange(x_16); -return x_17; -} -} -} } LEAN_EXPORT lean_object* l_Lean_Expr_looseBVarRangeEx___boxed(lean_object* x_1) { _start: @@ -7211,7 +6645,7 @@ _start: { uint64_t x_2; uint64_t x_3; uint64_t x_4; uint32_t x_5; lean_object* x_6; uint8_t x_7; uint8_t x_8; uint8_t x_9; lean_object* x_10; uint64_t x_11; lean_object* x_12; x_2 = 13; -x_3 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1732_(x_1); +x_3 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1754_(x_1); x_4 = lean_uint64_mix_hash(x_2, x_3); x_5 = 0; x_6 = lean_unsigned_to_nat(0u); @@ -7309,384 +6743,206 @@ lean_ctor_set_uint64(x_23, sizeof(void*)*3, x_22); return x_23; } } +LEAN_EXPORT lean_object* l_panic___at_Lean_mkApp___spec__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; lean_object* x_3; +x_2 = l_Lean_instInhabitedExpr; +x_3 = lean_panic_fn(x_2, x_1); +return x_3; +} +} +static uint32_t _init_l_Lean_mkApp___closed__1() { +_start: +{ +lean_object* x_1; uint32_t x_2; +x_1 = l_Lean_Expr_mkData___closed__1; +x_2 = lean_uint32_of_nat(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_mkApp___closed__2() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("(range ≤ (Nat.pow 2 16 - 1).toUInt32)\n "); +return x_1; +} +} +static lean_object* _init_l_Lean_mkApp___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Expr_mkData___closed__2; +x_2 = l_Lean_mkApp___closed__2; +x_3 = lean_string_append(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_mkApp___closed__4() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("Lean.mkApp"); +return x_1; +} +} +static lean_object* _init_l_Lean_mkApp___closed__5() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; +x_1 = l_Lean_Expr_mkData___closed__5; +x_2 = l_Lean_mkApp___closed__4; +x_3 = lean_unsigned_to_nat(329u); +x_4 = lean_unsigned_to_nat(2u); +x_5 = l_Lean_mkApp___closed__3; +x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); +return x_6; +} +} LEAN_EXPORT lean_object* l_Lean_mkApp(lean_object* x_1, lean_object* x_2) { _start: { -uint32_t x_3; uint32_t x_4; uint8_t x_5; uint32_t x_6; uint64_t x_7; uint64_t x_8; uint64_t x_9; lean_object* x_10; lean_object* x_11; uint8_t x_12; uint8_t x_13; uint8_t x_14; uint8_t x_15; uint8_t x_16; uint32_t x_17; -x_3 = l_Lean_Expr_approxDepth(x_1); -x_4 = l_Lean_Expr_approxDepth(x_2); -x_5 = lean_uint32_dec_lt(x_4, x_3); -x_6 = 1; -x_7 = l_Lean_Expr_hash(x_1); -x_8 = l_Lean_Expr_hash(x_2); -x_9 = lean_uint64_mix_hash(x_7, x_8); -x_10 = l_Lean_Expr_looseBVarRange(x_1); -x_11 = l_Lean_Expr_looseBVarRange(x_2); -x_12 = lean_nat_dec_lt(x_11, x_10); -x_13 = l_Lean_Expr_hasFVar(x_1); -x_14 = l_Lean_Expr_hasExprMVar(x_1); -x_15 = l_Lean_Expr_hasLevelMVar(x_1); -x_16 = l_Lean_Expr_hasLevelParam(x_1); -if (x_5 == 0) +uint64_t x_3; uint64_t x_4; uint8_t x_5; uint16_t x_6; uint8_t x_7; uint16_t x_8; uint8_t x_9; uint16_t x_10; uint16_t x_11; uint32_t x_12; uint32_t x_13; uint8_t x_14; uint64_t x_15; uint16_t x_16; +x_3 = lean_ctor_get_uint64(x_1, lean_ctor_num_objs(x_1)*sizeof(void*)); +x_4 = lean_ctor_get_uint64(x_2, lean_ctor_num_objs(x_2)*sizeof(void*)); +x_5 = l_Lean_Expr_Data_approxDepth(x_3); +x_6 = lean_uint8_to_uint16(x_5); +x_7 = l_Lean_Expr_Data_approxDepth(x_4); +x_8 = lean_uint8_to_uint16(x_7); +x_9 = lean_uint16_dec_lt(x_8, x_6); +x_10 = 1; +x_11 = 255; +x_12 = l_Lean_Expr_Data_looseBVarRange(x_3); +x_13 = l_Lean_Expr_Data_looseBVarRange(x_4); +x_14 = lean_uint32_dec_lt(x_13, x_12); +x_15 = lean_uint64_mix_hash(x_3, x_4); +if (x_9 == 0) { -x_17 = x_4; -goto block_135; +x_16 = x_8; +goto block_49; } else { -x_17 = x_3; -goto block_135; +x_16 = x_6; +goto block_49; } -block_135: +block_49: { -uint32_t x_18; uint64_t x_19; uint64_t x_20; lean_object* x_21; lean_object* x_78; -x_18 = lean_uint32_add(x_17, x_6); -x_19 = lean_uint32_to_uint64(x_18); -x_20 = lean_uint64_mix_hash(x_19, x_9); -if (x_12 == 0) +uint16_t x_17; uint8_t x_18; +x_17 = lean_uint16_add(x_16, x_10); +x_18 = lean_uint16_dec_lt(x_11, x_17); +if (x_18 == 0) { -lean_dec(x_10); -if (x_13 == 0) -{ -x_21 = x_11; -goto block_77; -} -else -{ -x_78 = x_11; -goto block_134; -} -} -else -{ -lean_dec(x_11); -if (x_13 == 0) -{ -x_21 = x_10; -goto block_77; -} -else -{ -x_78 = x_10; -goto block_134; -} -} -block_77: -{ -uint8_t x_22; -x_22 = l_Lean_Expr_hasFVar(x_2); +uint8_t x_19; +x_19 = lean_uint16_to_uint8(x_17); if (x_14 == 0) { -uint8_t x_23; -x_23 = l_Lean_Expr_hasExprMVar(x_2); -if (x_15 == 0) +uint32_t x_20; uint8_t x_21; +x_20 = l_Lean_mkApp___closed__1; +x_21 = lean_uint32_dec_le(x_13, x_20); +if (x_21 == 0) { -uint8_t x_24; -x_24 = l_Lean_Expr_hasLevelMVar(x_2); -if (x_16 == 0) +lean_object* x_22; lean_object* x_23; +lean_dec(x_2); +lean_dec(x_1); +x_22 = l_Lean_mkApp___closed__5; +x_23 = l_panic___at_Lean_mkApp___spec__1(x_22); +return x_23; +} +else { -uint8_t x_25; uint8_t x_26; uint8_t x_27; lean_object* x_28; uint64_t x_29; lean_object* x_30; -x_25 = l_Lean_Expr_hasLevelParam(x_2); -x_26 = 0; -x_27 = 0; -x_28 = l_Lean_Expr_mkData(x_20, x_21, x_18, x_22, x_23, x_24, x_25, x_26, x_27); -lean_dec(x_21); -x_29 = lean_unbox_uint64(x_28); -lean_dec(x_28); -x_30 = lean_alloc_ctor(5, 2, 8); -lean_ctor_set(x_30, 0, x_1); -lean_ctor_set(x_30, 1, x_2); -lean_ctor_set_uint64(x_30, sizeof(void*)*2, x_29); +uint16_t x_24; uint64_t x_25; lean_object* x_26; +x_24 = lean_uint32_to_uint16(x_13); +x_25 = (((uint64_t)x_24) << 48) | (((uint64_t)x_19) << 40) | ((((x_3 | x_4) << 28) >> 60) << 32) | ((uint64_t)((uint32_t)x_15)); +x_26 = lean_alloc_ctor(5, 2, 8); +lean_ctor_set(x_26, 0, x_1); +lean_ctor_set(x_26, 1, x_2); +lean_ctor_set_uint64(x_26, sizeof(void*)*2, x_25); +return x_26; +} +} +else +{ +uint32_t x_27; uint8_t x_28; +x_27 = l_Lean_mkApp___closed__1; +x_28 = lean_uint32_dec_le(x_12, x_27); +if (x_28 == 0) +{ +lean_object* x_29; lean_object* x_30; +lean_dec(x_2); +lean_dec(x_1); +x_29 = l_Lean_mkApp___closed__5; +x_30 = l_panic___at_Lean_mkApp___spec__1(x_29); return x_30; } else { -uint8_t x_31; uint8_t x_32; uint8_t x_33; lean_object* x_34; uint64_t x_35; lean_object* x_36; -x_31 = 1; -x_32 = 0; -x_33 = 0; -x_34 = l_Lean_Expr_mkData(x_20, x_21, x_18, x_22, x_23, x_24, x_31, x_32, x_33); -lean_dec(x_21); -x_35 = lean_unbox_uint64(x_34); -lean_dec(x_34); -x_36 = lean_alloc_ctor(5, 2, 8); -lean_ctor_set(x_36, 0, x_1); -lean_ctor_set(x_36, 1, x_2); -lean_ctor_set_uint64(x_36, sizeof(void*)*2, x_35); -return x_36; -} -} -else -{ -if (x_16 == 0) -{ -uint8_t x_37; uint8_t x_38; uint8_t x_39; uint8_t x_40; lean_object* x_41; uint64_t x_42; lean_object* x_43; -x_37 = l_Lean_Expr_hasLevelParam(x_2); -x_38 = 1; -x_39 = 0; -x_40 = 0; -x_41 = l_Lean_Expr_mkData(x_20, x_21, x_18, x_22, x_23, x_38, x_37, x_39, x_40); -lean_dec(x_21); -x_42 = lean_unbox_uint64(x_41); -lean_dec(x_41); -x_43 = lean_alloc_ctor(5, 2, 8); -lean_ctor_set(x_43, 0, x_1); -lean_ctor_set(x_43, 1, x_2); -lean_ctor_set_uint64(x_43, sizeof(void*)*2, x_42); -return x_43; -} -else -{ -uint8_t x_44; uint8_t x_45; uint8_t x_46; lean_object* x_47; uint64_t x_48; lean_object* x_49; -x_44 = 1; -x_45 = 0; -x_46 = 0; -x_47 = l_Lean_Expr_mkData(x_20, x_21, x_18, x_22, x_23, x_44, x_44, x_45, x_46); -lean_dec(x_21); -x_48 = lean_unbox_uint64(x_47); -lean_dec(x_47); -x_49 = lean_alloc_ctor(5, 2, 8); -lean_ctor_set(x_49, 0, x_1); -lean_ctor_set(x_49, 1, x_2); -lean_ctor_set_uint64(x_49, sizeof(void*)*2, x_48); -return x_49; +uint16_t x_31; uint64_t x_32; lean_object* x_33; +x_31 = lean_uint32_to_uint16(x_12); +x_32 = (((uint64_t)x_31) << 48) | (((uint64_t)x_19) << 40) | ((((x_3 | x_4) << 28) >> 60) << 32) | ((uint64_t)((uint32_t)x_15)); +x_33 = lean_alloc_ctor(5, 2, 8); +lean_ctor_set(x_33, 0, x_1); +lean_ctor_set(x_33, 1, x_2); +lean_ctor_set_uint64(x_33, sizeof(void*)*2, x_32); +return x_33; } } } else { -if (x_15 == 0) -{ -uint8_t x_50; -x_50 = l_Lean_Expr_hasLevelMVar(x_2); -if (x_16 == 0) -{ -uint8_t x_51; uint8_t x_52; uint8_t x_53; uint8_t x_54; lean_object* x_55; uint64_t x_56; lean_object* x_57; -x_51 = l_Lean_Expr_hasLevelParam(x_2); -x_52 = 1; -x_53 = 0; -x_54 = 0; -x_55 = l_Lean_Expr_mkData(x_20, x_21, x_18, x_22, x_52, x_50, x_51, x_53, x_54); -lean_dec(x_21); -x_56 = lean_unbox_uint64(x_55); -lean_dec(x_55); -x_57 = lean_alloc_ctor(5, 2, 8); -lean_ctor_set(x_57, 0, x_1); -lean_ctor_set(x_57, 1, x_2); -lean_ctor_set_uint64(x_57, sizeof(void*)*2, x_56); -return x_57; -} -else -{ -uint8_t x_58; uint8_t x_59; uint8_t x_60; lean_object* x_61; uint64_t x_62; lean_object* x_63; -x_58 = 1; -x_59 = 0; -x_60 = 0; -x_61 = l_Lean_Expr_mkData(x_20, x_21, x_18, x_22, x_58, x_50, x_58, x_59, x_60); -lean_dec(x_21); -x_62 = lean_unbox_uint64(x_61); -lean_dec(x_61); -x_63 = lean_alloc_ctor(5, 2, 8); -lean_ctor_set(x_63, 0, x_1); -lean_ctor_set(x_63, 1, x_2); -lean_ctor_set_uint64(x_63, sizeof(void*)*2, x_62); -return x_63; -} -} -else -{ -if (x_16 == 0) -{ -uint8_t x_64; uint8_t x_65; uint8_t x_66; uint8_t x_67; lean_object* x_68; uint64_t x_69; lean_object* x_70; -x_64 = l_Lean_Expr_hasLevelParam(x_2); -x_65 = 1; -x_66 = 0; -x_67 = 0; -x_68 = l_Lean_Expr_mkData(x_20, x_21, x_18, x_22, x_65, x_65, x_64, x_66, x_67); -lean_dec(x_21); -x_69 = lean_unbox_uint64(x_68); -lean_dec(x_68); -x_70 = lean_alloc_ctor(5, 2, 8); -lean_ctor_set(x_70, 0, x_1); -lean_ctor_set(x_70, 1, x_2); -lean_ctor_set_uint64(x_70, sizeof(void*)*2, x_69); -return x_70; -} -else -{ -uint8_t x_71; uint8_t x_72; uint8_t x_73; lean_object* x_74; uint64_t x_75; lean_object* x_76; -x_71 = 1; -x_72 = 0; -x_73 = 0; -x_74 = l_Lean_Expr_mkData(x_20, x_21, x_18, x_22, x_71, x_71, x_71, x_72, x_73); -lean_dec(x_21); -x_75 = lean_unbox_uint64(x_74); -lean_dec(x_74); -x_76 = lean_alloc_ctor(5, 2, 8); -lean_ctor_set(x_76, 0, x_1); -lean_ctor_set(x_76, 1, x_2); -lean_ctor_set_uint64(x_76, sizeof(void*)*2, x_75); -return x_76; -} -} -} -} -block_134: -{ +uint8_t x_34; +x_34 = 255; if (x_14 == 0) { -uint8_t x_79; -x_79 = l_Lean_Expr_hasExprMVar(x_2); -if (x_15 == 0) +uint32_t x_35; uint8_t x_36; +x_35 = l_Lean_mkApp___closed__1; +x_36 = lean_uint32_dec_le(x_13, x_35); +if (x_36 == 0) { -uint8_t x_80; -x_80 = l_Lean_Expr_hasLevelMVar(x_2); -if (x_16 == 0) -{ -uint8_t x_81; uint8_t x_82; uint8_t x_83; uint8_t x_84; lean_object* x_85; uint64_t x_86; lean_object* x_87; -x_81 = l_Lean_Expr_hasLevelParam(x_2); -x_82 = 1; -x_83 = 0; -x_84 = 0; -x_85 = l_Lean_Expr_mkData(x_20, x_78, x_18, x_82, x_79, x_80, x_81, x_83, x_84); -lean_dec(x_78); -x_86 = lean_unbox_uint64(x_85); -lean_dec(x_85); -x_87 = lean_alloc_ctor(5, 2, 8); -lean_ctor_set(x_87, 0, x_1); -lean_ctor_set(x_87, 1, x_2); -lean_ctor_set_uint64(x_87, sizeof(void*)*2, x_86); -return x_87; +lean_object* x_37; lean_object* x_38; +lean_dec(x_2); +lean_dec(x_1); +x_37 = l_Lean_mkApp___closed__5; +x_38 = l_panic___at_Lean_mkApp___spec__1(x_37); +return x_38; } else { -uint8_t x_88; uint8_t x_89; uint8_t x_90; lean_object* x_91; uint64_t x_92; lean_object* x_93; -x_88 = 1; -x_89 = 0; -x_90 = 0; -x_91 = l_Lean_Expr_mkData(x_20, x_78, x_18, x_88, x_79, x_80, x_88, x_89, x_90); -lean_dec(x_78); -x_92 = lean_unbox_uint64(x_91); -lean_dec(x_91); -x_93 = lean_alloc_ctor(5, 2, 8); -lean_ctor_set(x_93, 0, x_1); -lean_ctor_set(x_93, 1, x_2); -lean_ctor_set_uint64(x_93, sizeof(void*)*2, x_92); -return x_93; +uint16_t x_39; uint64_t x_40; lean_object* x_41; +x_39 = lean_uint32_to_uint16(x_13); +x_40 = (((uint64_t)x_39) << 48) | (((uint64_t)x_34) << 40) | ((((x_3 | x_4) << 28) >> 60) << 32) | ((uint64_t)((uint32_t)x_15)); +x_41 = lean_alloc_ctor(5, 2, 8); +lean_ctor_set(x_41, 0, x_1); +lean_ctor_set(x_41, 1, x_2); +lean_ctor_set_uint64(x_41, sizeof(void*)*2, x_40); +return x_41; } } else { -if (x_16 == 0) +uint32_t x_42; uint8_t x_43; +x_42 = l_Lean_mkApp___closed__1; +x_43 = lean_uint32_dec_le(x_12, x_42); +if (x_43 == 0) { -uint8_t x_94; uint8_t x_95; uint8_t x_96; uint8_t x_97; lean_object* x_98; uint64_t x_99; lean_object* x_100; -x_94 = l_Lean_Expr_hasLevelParam(x_2); -x_95 = 1; -x_96 = 0; -x_97 = 0; -x_98 = l_Lean_Expr_mkData(x_20, x_78, x_18, x_95, x_79, x_95, x_94, x_96, x_97); -lean_dec(x_78); -x_99 = lean_unbox_uint64(x_98); -lean_dec(x_98); -x_100 = lean_alloc_ctor(5, 2, 8); -lean_ctor_set(x_100, 0, x_1); -lean_ctor_set(x_100, 1, x_2); -lean_ctor_set_uint64(x_100, sizeof(void*)*2, x_99); -return x_100; +lean_object* x_44; lean_object* x_45; +lean_dec(x_2); +lean_dec(x_1); +x_44 = l_Lean_mkApp___closed__5; +x_45 = l_panic___at_Lean_mkApp___spec__1(x_44); +return x_45; } else { -uint8_t x_101; uint8_t x_102; uint8_t x_103; lean_object* x_104; uint64_t x_105; lean_object* x_106; -x_101 = 1; -x_102 = 0; -x_103 = 0; -x_104 = l_Lean_Expr_mkData(x_20, x_78, x_18, x_101, x_79, x_101, x_101, x_102, x_103); -lean_dec(x_78); -x_105 = lean_unbox_uint64(x_104); -lean_dec(x_104); -x_106 = lean_alloc_ctor(5, 2, 8); -lean_ctor_set(x_106, 0, x_1); -lean_ctor_set(x_106, 1, x_2); -lean_ctor_set_uint64(x_106, sizeof(void*)*2, x_105); -return x_106; -} -} -} -else -{ -if (x_15 == 0) -{ -uint8_t x_107; -x_107 = l_Lean_Expr_hasLevelMVar(x_2); -if (x_16 == 0) -{ -uint8_t x_108; uint8_t x_109; uint8_t x_110; uint8_t x_111; lean_object* x_112; uint64_t x_113; lean_object* x_114; -x_108 = l_Lean_Expr_hasLevelParam(x_2); -x_109 = 1; -x_110 = 0; -x_111 = 0; -x_112 = l_Lean_Expr_mkData(x_20, x_78, x_18, x_109, x_109, x_107, x_108, x_110, x_111); -lean_dec(x_78); -x_113 = lean_unbox_uint64(x_112); -lean_dec(x_112); -x_114 = lean_alloc_ctor(5, 2, 8); -lean_ctor_set(x_114, 0, x_1); -lean_ctor_set(x_114, 1, x_2); -lean_ctor_set_uint64(x_114, sizeof(void*)*2, x_113); -return x_114; -} -else -{ -uint8_t x_115; uint8_t x_116; uint8_t x_117; lean_object* x_118; uint64_t x_119; lean_object* x_120; -x_115 = 1; -x_116 = 0; -x_117 = 0; -x_118 = l_Lean_Expr_mkData(x_20, x_78, x_18, x_115, x_115, x_107, x_115, x_116, x_117); -lean_dec(x_78); -x_119 = lean_unbox_uint64(x_118); -lean_dec(x_118); -x_120 = lean_alloc_ctor(5, 2, 8); -lean_ctor_set(x_120, 0, x_1); -lean_ctor_set(x_120, 1, x_2); -lean_ctor_set_uint64(x_120, sizeof(void*)*2, x_119); -return x_120; -} -} -else -{ -if (x_16 == 0) -{ -uint8_t x_121; uint8_t x_122; uint8_t x_123; uint8_t x_124; lean_object* x_125; uint64_t x_126; lean_object* x_127; -x_121 = l_Lean_Expr_hasLevelParam(x_2); -x_122 = 1; -x_123 = 0; -x_124 = 0; -x_125 = l_Lean_Expr_mkData(x_20, x_78, x_18, x_122, x_122, x_122, x_121, x_123, x_124); -lean_dec(x_78); -x_126 = lean_unbox_uint64(x_125); -lean_dec(x_125); -x_127 = lean_alloc_ctor(5, 2, 8); -lean_ctor_set(x_127, 0, x_1); -lean_ctor_set(x_127, 1, x_2); -lean_ctor_set_uint64(x_127, sizeof(void*)*2, x_126); -return x_127; -} -else -{ -uint8_t x_128; uint8_t x_129; uint8_t x_130; lean_object* x_131; uint64_t x_132; lean_object* x_133; -x_128 = 1; -x_129 = 0; -x_130 = 0; -x_131 = l_Lean_Expr_mkData(x_20, x_78, x_18, x_128, x_128, x_128, x_128, x_129, x_130); -lean_dec(x_78); -x_132 = lean_unbox_uint64(x_131); -lean_dec(x_131); -x_133 = lean_alloc_ctor(5, 2, 8); -lean_ctor_set(x_133, 0, x_1); -lean_ctor_set(x_133, 1, x_2); -lean_ctor_set_uint64(x_133, sizeof(void*)*2, x_132); -return x_133; -} +uint16_t x_46; uint64_t x_47; lean_object* x_48; +x_46 = lean_uint32_to_uint16(x_12); +x_47 = (((uint64_t)x_46) << 48) | (((uint64_t)x_34) << 40) | ((((x_3 | x_4) << 28) >> 60) << 32) | ((uint64_t)((uint32_t)x_15)); +x_48 = lean_alloc_ctor(5, 2, 8); +lean_ctor_set(x_48, 0, x_1); +lean_ctor_set(x_48, 1, x_2); +lean_ctor_set_uint64(x_48, sizeof(void*)*2, x_47); +return x_48; } } } @@ -9638,6 +8894,27 @@ x_1 = l_Lean_Expr_instBEqExpr___closed__1; return x_1; } } +LEAN_EXPORT uint8_t l_Lean_Expr_ptrEq(lean_object* x_1, lean_object* x_2) { +_start: +{ +size_t x_3; size_t x_4; uint8_t x_5; +x_3 = lean_ptr_addr(x_1); +x_4 = lean_ptr_addr(x_2); +x_5 = lean_usize_dec_eq(x_3, x_4); +return x_5; +} +} +LEAN_EXPORT lean_object* l_Lean_Expr_ptrEq___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +uint8_t x_3; lean_object* x_4; +x_3 = l_Lean_Expr_ptrEq(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_Lean_Expr_equal___boxed(lean_object* x_1, lean_object* x_2) { _start: { @@ -10458,15 +9735,6 @@ lean_dec(x_1); return x_4; } } -LEAN_EXPORT lean_object* l_panic___at_Lean_Expr_getRevArg_x21___spec__1(lean_object* x_1) { -_start: -{ -lean_object* x_2; lean_object* x_3; -x_2 = l_Lean_instInhabitedExpr; -x_3 = lean_panic_fn(x_2, x_1); -return x_3; -} -} static lean_object* _init_l_Lean_Expr_getRevArg_x21___closed__1() { _start: { @@ -10487,9 +9755,9 @@ static lean_object* _init_l_Lean_Expr_getRevArg_x21___closed__3() { _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_mkData___closed__2; +x_1 = l_Lean_Expr_mkData___closed__5; x_2 = l_Lean_Expr_getRevArg_x21___closed__1; -x_3 = lean_unsigned_to_nat(566u); +x_3 = lean_unsigned_to_nat(573u); x_4 = lean_unsigned_to_nat(22u); x_5 = l_Lean_Expr_getRevArg_x21___closed__2; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -10503,16 +9771,12 @@ if (lean_obj_tag(x_1) == 5) { lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; x_3 = lean_ctor_get(x_1, 0); -lean_inc(x_3); x_4 = lean_ctor_get(x_1, 1); -lean_inc(x_4); -lean_dec(x_1); x_5 = lean_unsigned_to_nat(0u); x_6 = lean_nat_dec_eq(x_2, x_5); if (x_6 == 0) { lean_object* x_7; lean_object* x_8; -lean_dec(x_4); x_7 = lean_unsigned_to_nat(1u); x_8 = lean_nat_sub(x_2, x_7); lean_dec(x_2); @@ -10522,8 +9786,8 @@ goto _start; } else { -lean_dec(x_3); lean_dec(x_2); +lean_inc(x_4); return x_4; } } @@ -10531,13 +9795,21 @@ else { lean_object* x_10; lean_object* x_11; lean_dec(x_2); -lean_dec(x_1); x_10 = l_Lean_Expr_getRevArg_x21___closed__3; -x_11 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_10); +x_11 = l_panic___at_Lean_mkApp___spec__1(x_10); return x_11; } } } +LEAN_EXPORT lean_object* l_Lean_Expr_getRevArg_x21___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = l_Lean_Expr_getRevArg_x21(x_1, x_2); +lean_dec(x_1); +return x_3; +} +} LEAN_EXPORT lean_object* l_Lean_Expr_getArg_x21(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { @@ -10557,6 +9829,7 @@ lean_object* x_4; x_4 = l_Lean_Expr_getArg_x21(x_1, x_2, x_3); lean_dec(x_3); lean_dec(x_2); +lean_dec(x_1); return x_4; } } @@ -10708,9 +9981,9 @@ static lean_object* _init_l_Lean_Expr_appFn_x21___closed__3() { _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_mkData___closed__2; +x_1 = l_Lean_Expr_mkData___closed__5; x_2 = l_Lean_Expr_appFn_x21___closed__1; -x_3 = lean_unsigned_to_nat(586u); +x_3 = lean_unsigned_to_nat(593u); x_4 = lean_unsigned_to_nat(17u); x_5 = l_Lean_Expr_appFn_x21___closed__2; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -10731,7 +10004,7 @@ else { lean_object* x_3; lean_object* x_4; x_3 = l_Lean_Expr_appFn_x21___closed__3; -x_4 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_3); +x_4 = l_panic___at_Lean_mkApp___spec__1(x_3); return x_4; } } @@ -10757,9 +10030,9 @@ static lean_object* _init_l_Lean_Expr_appArg_x21___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_1 = l_Lean_Expr_mkData___closed__2; +x_1 = l_Lean_Expr_mkData___closed__5; x_2 = l_Lean_Expr_appArg_x21___closed__1; -x_3 = lean_unsigned_to_nat(590u); +x_3 = lean_unsigned_to_nat(597u); x_4 = lean_unsigned_to_nat(17u); x_5 = l_Lean_Expr_appFn_x21___closed__2; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -10780,7 +10053,7 @@ else { lean_object* x_3; lean_object* x_4; x_3 = l_Lean_Expr_appArg_x21___closed__2; -x_4 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_3); +x_4 = l_panic___at_Lean_mkApp___spec__1(x_3); return x_4; } } @@ -10814,9 +10087,9 @@ static lean_object* _init_l_Lean_Expr_sortLevel_x21___closed__3() { _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_mkData___closed__2; +x_1 = l_Lean_Expr_mkData___closed__5; x_2 = l_Lean_Expr_sortLevel_x21___closed__1; -x_3 = lean_unsigned_to_nat(594u); +x_3 = lean_unsigned_to_nat(601u); x_4 = lean_unsigned_to_nat(17u); x_5 = l_Lean_Expr_sortLevel_x21___closed__2; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -10880,9 +10153,9 @@ static lean_object* _init_l_Lean_Expr_litValue_x21___closed__3() { _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_mkData___closed__2; +x_1 = l_Lean_Expr_mkData___closed__5; x_2 = l_Lean_Expr_litValue_x21___closed__1; -x_3 = lean_unsigned_to_nat(598u); +x_3 = lean_unsigned_to_nat(605u); x_4 = lean_unsigned_to_nat(16u); x_5 = l_Lean_Expr_litValue_x21___closed__2; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -11107,9 +10380,9 @@ static lean_object* _init_l_Lean_Expr_constName_x21___closed__3() { _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_mkData___closed__2; +x_1 = l_Lean_Expr_mkData___closed__5; x_2 = l_Lean_Expr_constName_x21___closed__1; -x_3 = lean_unsigned_to_nat(617u); +x_3 = lean_unsigned_to_nat(624u); x_4 = lean_unsigned_to_nat(19u); x_5 = l_Lean_Expr_constName_x21___closed__2; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -11194,9 +10467,9 @@ static lean_object* _init_l_Lean_Expr_constLevels_x21___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_1 = l_Lean_Expr_mkData___closed__2; +x_1 = l_Lean_Expr_mkData___closed__5; x_2 = l_Lean_Expr_constLevels_x21___closed__1; -x_3 = lean_unsigned_to_nat(625u); +x_3 = lean_unsigned_to_nat(632u); x_4 = lean_unsigned_to_nat(20u); x_5 = l_Lean_Expr_constName_x21___closed__2; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -11244,9 +10517,9 @@ static lean_object* _init_l_Lean_Expr_bvarIdx_x21___closed__3() { _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_mkData___closed__2; +x_1 = l_Lean_Expr_mkData___closed__5; x_2 = l_Lean_Expr_bvarIdx_x21___closed__1; -x_3 = lean_unsigned_to_nat(629u); +x_3 = lean_unsigned_to_nat(636u); x_4 = lean_unsigned_to_nat(18u); x_5 = l_Lean_Expr_bvarIdx_x21___closed__2; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -11310,9 +10583,9 @@ static lean_object* _init_l_Lean_Expr_fvarId_x21___closed__3() { _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_mkData___closed__2; +x_1 = l_Lean_Expr_mkData___closed__5; x_2 = l_Lean_Expr_fvarId_x21___closed__1; -x_3 = lean_unsigned_to_nat(633u); +x_3 = lean_unsigned_to_nat(640u); x_4 = lean_unsigned_to_nat(16u); x_5 = l_Lean_Expr_fvarId_x21___closed__2; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -11360,9 +10633,9 @@ static lean_object* _init_l_Lean_Expr_mvarId_x21___closed__3() { _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_mkData___closed__2; +x_1 = l_Lean_Expr_mkData___closed__5; x_2 = l_Lean_Expr_mvarId_x21___closed__1; -x_3 = lean_unsigned_to_nat(637u); +x_3 = lean_unsigned_to_nat(644u); x_4 = lean_unsigned_to_nat(16u); x_5 = l_Lean_Expr_mvarId_x21___closed__2; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -11417,9 +10690,9 @@ static lean_object* _init_l_Lean_Expr_bindingName_x21___closed__3() { _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_mkData___closed__2; +x_1 = l_Lean_Expr_mkData___closed__5; x_2 = l_Lean_Expr_bindingName_x21___closed__1; -x_3 = lean_unsigned_to_nat(642u); +x_3 = lean_unsigned_to_nat(649u); x_4 = lean_unsigned_to_nat(23u); x_5 = l_Lean_Expr_bindingName_x21___closed__2; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -11475,9 +10748,9 @@ static lean_object* _init_l_Lean_Expr_bindingDomain_x21___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_1 = l_Lean_Expr_mkData___closed__2; +x_1 = l_Lean_Expr_mkData___closed__5; x_2 = l_Lean_Expr_bindingDomain_x21___closed__1; -x_3 = lean_unsigned_to_nat(647u); +x_3 = lean_unsigned_to_nat(654u); x_4 = lean_unsigned_to_nat(23u); x_5 = l_Lean_Expr_bindingName_x21___closed__2; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -11506,7 +10779,7 @@ default: { lean_object* x_4; lean_object* x_5; x_4 = l_Lean_Expr_bindingDomain_x21___closed__2; -x_5 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_4); +x_5 = l_panic___at_Lean_mkApp___spec__1(x_4); return x_5; } } @@ -11533,9 +10806,9 @@ static lean_object* _init_l_Lean_Expr_bindingBody_x21___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_1 = l_Lean_Expr_mkData___closed__2; +x_1 = l_Lean_Expr_mkData___closed__5; x_2 = l_Lean_Expr_bindingBody_x21___closed__1; -x_3 = lean_unsigned_to_nat(652u); +x_3 = lean_unsigned_to_nat(659u); x_4 = lean_unsigned_to_nat(23u); x_5 = l_Lean_Expr_bindingName_x21___closed__2; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -11564,7 +10837,7 @@ default: { lean_object* x_4; lean_object* x_5; x_4 = l_Lean_Expr_bindingBody_x21___closed__2; -x_5 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_4); +x_5 = l_panic___at_Lean_mkApp___spec__1(x_4); return x_5; } } @@ -11601,9 +10874,9 @@ static lean_object* _init_l_Lean_Expr_bindingInfo_x21___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_1 = l_Lean_Expr_mkData___closed__2; +x_1 = l_Lean_Expr_mkData___closed__5; x_2 = l_Lean_Expr_bindingInfo_x21___closed__1; -x_3 = lean_unsigned_to_nat(657u); +x_3 = lean_unsigned_to_nat(664u); x_4 = lean_unsigned_to_nat(23u); x_5 = l_Lean_Expr_bindingName_x21___closed__2; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -11663,9 +10936,9 @@ static lean_object* _init_l_Lean_Expr_letName_x21___closed__3() { _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_mkData___closed__2; +x_1 = l_Lean_Expr_mkData___closed__5; x_2 = l_Lean_Expr_letName_x21___closed__1; -x_3 = lean_unsigned_to_nat(661u); +x_3 = lean_unsigned_to_nat(668u); x_4 = lean_unsigned_to_nat(17u); x_5 = l_Lean_Expr_letName_x21___closed__2; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -11712,9 +10985,9 @@ static lean_object* _init_l_Lean_Expr_letType_x21___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_1 = l_Lean_Expr_mkData___closed__2; +x_1 = l_Lean_Expr_mkData___closed__5; x_2 = l_Lean_Expr_letType_x21___closed__1; -x_3 = lean_unsigned_to_nat(665u); +x_3 = lean_unsigned_to_nat(672u); x_4 = lean_unsigned_to_nat(19u); x_5 = l_Lean_Expr_letName_x21___closed__2; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -11735,7 +11008,7 @@ else { lean_object* x_3; lean_object* x_4; x_3 = l_Lean_Expr_letType_x21___closed__2; -x_4 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_3); +x_4 = l_panic___at_Lean_mkApp___spec__1(x_3); return x_4; } } @@ -11761,9 +11034,9 @@ static lean_object* _init_l_Lean_Expr_letValue_x21___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_1 = l_Lean_Expr_mkData___closed__2; +x_1 = l_Lean_Expr_mkData___closed__5; x_2 = l_Lean_Expr_letValue_x21___closed__1; -x_3 = lean_unsigned_to_nat(669u); +x_3 = lean_unsigned_to_nat(676u); x_4 = lean_unsigned_to_nat(21u); x_5 = l_Lean_Expr_letName_x21___closed__2; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -11784,7 +11057,7 @@ else { lean_object* x_3; lean_object* x_4; x_3 = l_Lean_Expr_letValue_x21___closed__2; -x_4 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_3); +x_4 = l_panic___at_Lean_mkApp___spec__1(x_3); return x_4; } } @@ -11810,9 +11083,9 @@ static lean_object* _init_l_Lean_Expr_letBody_x21___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_1 = l_Lean_Expr_mkData___closed__2; +x_1 = l_Lean_Expr_mkData___closed__5; x_2 = l_Lean_Expr_letBody_x21___closed__1; -x_3 = lean_unsigned_to_nat(673u); +x_3 = lean_unsigned_to_nat(680u); x_4 = lean_unsigned_to_nat(23u); x_5 = l_Lean_Expr_letName_x21___closed__2; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -11833,7 +11106,7 @@ else { lean_object* x_3; lean_object* x_4; x_3 = l_Lean_Expr_letBody_x21___closed__2; -x_4 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_3); +x_4 = l_panic___at_Lean_mkApp___spec__1(x_3); return x_4; } } @@ -11893,9 +11166,9 @@ static lean_object* _init_l_Lean_Expr_mdataExpr_x21___closed__3() { _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_mkData___closed__2; +x_1 = l_Lean_Expr_mkData___closed__5; x_2 = l_Lean_Expr_mdataExpr_x21___closed__1; -x_3 = lean_unsigned_to_nat(681u); +x_3 = lean_unsigned_to_nat(688u); x_4 = lean_unsigned_to_nat(19u); x_5 = l_Lean_Expr_mdataExpr_x21___closed__2; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -11916,7 +11189,7 @@ else { lean_object* x_3; lean_object* x_4; x_3 = l_Lean_Expr_mdataExpr_x21___closed__3; -x_4 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_3); +x_4 = l_panic___at_Lean_mkApp___spec__1(x_3); return x_4; } } @@ -11950,9 +11223,9 @@ static lean_object* _init_l_Lean_Expr_projExpr_x21___closed__3() { _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_mkData___closed__2; +x_1 = l_Lean_Expr_mkData___closed__5; x_2 = l_Lean_Expr_projExpr_x21___closed__1; -x_3 = lean_unsigned_to_nat(685u); +x_3 = lean_unsigned_to_nat(692u); x_4 = lean_unsigned_to_nat(20u); x_5 = l_Lean_Expr_projExpr_x21___closed__2; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -11973,7 +11246,7 @@ else { lean_object* x_3; lean_object* x_4; x_3 = l_Lean_Expr_projExpr_x21___closed__3; -x_4 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_3); +x_4 = l_panic___at_Lean_mkApp___spec__1(x_3); return x_4; } } @@ -11999,9 +11272,9 @@ static lean_object* _init_l_Lean_Expr_projIdx_x21___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_1 = l_Lean_Expr_mkData___closed__2; +x_1 = l_Lean_Expr_mkData___closed__5; x_2 = l_Lean_Expr_projIdx_x21___closed__1; -x_3 = lean_unsigned_to_nat(689u); +x_3 = lean_unsigned_to_nat(696u); x_4 = lean_unsigned_to_nat(20u); x_5 = l_Lean_Expr_projExpr_x21___closed__2; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -13837,9 +13110,9 @@ static lean_object* _init_l_Lean_Expr_updateApp_x21___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_1 = l_Lean_Expr_mkData___closed__2; +x_1 = l_Lean_Expr_mkData___closed__5; x_2 = l_Lean_Expr_updateApp_x21___closed__1; -x_3 = lean_unsigned_to_nat(992u); +x_3 = lean_unsigned_to_nat(999u); x_4 = lean_unsigned_to_nat(20u); x_5 = l_Lean_Expr_appFn_x21___closed__2; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -13883,7 +13156,7 @@ lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); x_11 = l_Lean_Expr_updateApp_x21___closed__2; -x_12 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_11); +x_12 = l_panic___at_Lean_mkApp___spec__1(x_11); return x_12; } } @@ -13908,9 +13181,9 @@ static lean_object* _init_l_Lean_Expr_updateConst_x21___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_1 = l_Lean_Expr_mkData___closed__2; +x_1 = l_Lean_Expr_mkData___closed__5; x_2 = l_Lean_Expr_updateConst_x21___closed__1; -x_3 = lean_unsigned_to_nat(1001u); +x_3 = lean_unsigned_to_nat(1008u); x_4 = lean_unsigned_to_nat(20u); x_5 = l_Lean_Expr_constName_x21___closed__2; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -13953,7 +13226,7 @@ lean_object* x_10; lean_object* x_11; lean_dec(x_2); lean_dec(x_1); x_10 = l_Lean_Expr_updateConst_x21___closed__2; -x_11 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_10); +x_11 = l_panic___at_Lean_mkApp___spec__1(x_10); return x_11; } } @@ -13986,9 +13259,9 @@ static lean_object* _init_l_Lean_Expr_updateSort_x21___closed__3() { _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_mkData___closed__2; +x_1 = l_Lean_Expr_mkData___closed__5; x_2 = l_Lean_Expr_updateSort_x21___closed__1; -x_3 = lean_unsigned_to_nat(1010u); +x_3 = lean_unsigned_to_nat(1017u); x_4 = lean_unsigned_to_nat(16u); x_5 = l_Lean_Expr_updateSort_x21___closed__2; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -14028,7 +13301,7 @@ lean_object* x_9; lean_object* x_10; lean_dec(x_2); lean_dec(x_1); x_9 = l_Lean_Expr_updateSort_x21___closed__3; -x_10 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_9); +x_10 = l_panic___at_Lean_mkApp___spec__1(x_9); return x_10; } } @@ -14069,9 +13342,9 @@ static lean_object* _init_l_Lean_Expr_updateMData_x21___closed__3() { _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_mkData___closed__2; +x_1 = l_Lean_Expr_mkData___closed__5; x_2 = l_Lean_Expr_updateMData_x21___closed__1; -x_3 = lean_unsigned_to_nat(1027u); +x_3 = lean_unsigned_to_nat(1034u); x_4 = lean_unsigned_to_nat(19u); x_5 = l_Lean_Expr_updateMData_x21___closed__2; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -14114,7 +13387,7 @@ lean_object* x_10; lean_object* x_11; lean_dec(x_2); lean_dec(x_1); x_10 = l_Lean_Expr_updateMData_x21___closed__3; -x_11 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_10); +x_11 = l_panic___at_Lean_mkApp___spec__1(x_10); return x_11; } } @@ -14139,9 +13412,9 @@ static lean_object* _init_l_Lean_Expr_updateProj_x21___closed__3() { _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_mkData___closed__2; +x_1 = l_Lean_Expr_mkData___closed__5; x_2 = l_Lean_Expr_updateProj_x21___closed__1; -x_3 = lean_unsigned_to_nat(1032u); +x_3 = lean_unsigned_to_nat(1039u); x_4 = lean_unsigned_to_nat(20u); x_5 = l_Lean_Expr_updateProj_x21___closed__2; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -14187,7 +13460,7 @@ lean_object* x_11; lean_object* x_12; lean_dec(x_2); lean_dec(x_1); x_11 = l_Lean_Expr_updateProj_x21___closed__3; -x_12 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_11); +x_12 = l_panic___at_Lean_mkApp___spec__1(x_11); return x_12; } } @@ -14222,9 +13495,9 @@ static lean_object* _init_l_Lean_Expr_updateForall_x21___closed__3() { _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_mkData___closed__2; +x_1 = l_Lean_Expr_mkData___closed__5; x_2 = l_Lean_Expr_updateForall_x21___closed__1; -x_3 = lean_unsigned_to_nat(1041u); +x_3 = lean_unsigned_to_nat(1048u); x_4 = lean_unsigned_to_nat(23u); x_5 = l_Lean_Expr_updateForall_x21___closed__2; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -14271,7 +13544,7 @@ lean_dec(x_4); lean_dec(x_3); lean_dec(x_1); x_13 = l_Lean_Expr_updateForall_x21___closed__3; -x_14 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_13); +x_14 = l_panic___at_Lean_mkApp___spec__1(x_13); return x_14; } } @@ -14298,9 +13571,9 @@ static lean_object* _init_l_Lean_Expr_updateForallE_x21___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_1 = l_Lean_Expr_mkData___closed__2; +x_1 = l_Lean_Expr_mkData___closed__5; x_2 = l_Lean_Expr_updateForallE_x21___closed__1; -x_3 = lean_unsigned_to_nat(1046u); +x_3 = lean_unsigned_to_nat(1053u); x_4 = lean_unsigned_to_nat(23u); x_5 = l_Lean_Expr_updateForall_x21___closed__2; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -14350,7 +13623,7 @@ lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); x_15 = l_Lean_Expr_updateForallE_x21___closed__2; -x_16 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_15); +x_16 = l_panic___at_Lean_mkApp___spec__1(x_15); return x_16; } } @@ -14385,9 +13658,9 @@ static lean_object* _init_l_Lean_Expr_updateLambda_x21___closed__3() { _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_mkData___closed__2; +x_1 = l_Lean_Expr_mkData___closed__5; x_2 = l_Lean_Expr_updateLambda_x21___closed__1; -x_3 = lean_unsigned_to_nat(1055u); +x_3 = lean_unsigned_to_nat(1062u); x_4 = lean_unsigned_to_nat(19u); x_5 = l_Lean_Expr_updateLambda_x21___closed__2; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -14434,7 +13707,7 @@ lean_dec(x_4); lean_dec(x_3); lean_dec(x_1); x_13 = l_Lean_Expr_updateLambda_x21___closed__3; -x_14 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_13); +x_14 = l_panic___at_Lean_mkApp___spec__1(x_13); return x_14; } } @@ -14461,9 +13734,9 @@ static lean_object* _init_l_Lean_Expr_updateLambdaE_x21___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_1 = l_Lean_Expr_mkData___closed__2; +x_1 = l_Lean_Expr_mkData___closed__5; x_2 = l_Lean_Expr_updateLambdaE_x21___closed__1; -x_3 = lean_unsigned_to_nat(1060u); +x_3 = lean_unsigned_to_nat(1067u); x_4 = lean_unsigned_to_nat(19u); x_5 = l_Lean_Expr_updateLambda_x21___closed__2; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -14513,7 +13786,7 @@ lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); x_15 = l_Lean_Expr_updateLambdaE_x21___closed__2; -x_16 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_15); +x_16 = l_panic___at_Lean_mkApp___spec__1(x_15); return x_16; } } @@ -14538,9 +13811,9 @@ static lean_object* _init_l_Lean_Expr_updateLet_x21___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_1 = l_Lean_Expr_mkData___closed__2; +x_1 = l_Lean_Expr_mkData___closed__5; x_2 = l_Lean_Expr_updateLet_x21___closed__1; -x_3 = lean_unsigned_to_nat(1069u); +x_3 = lean_unsigned_to_nat(1076u); x_4 = lean_unsigned_to_nat(22u); x_5 = l_Lean_Expr_letName_x21___closed__2; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -14591,7 +13864,7 @@ lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); x_14 = l_Lean_Expr_updateLet_x21___closed__2; -x_15 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_14); +x_15 = l_panic___at_Lean_mkApp___spec__1(x_14); return x_15; } } @@ -18046,6 +17319,10 @@ l_Lean_Expr_mkData___closed__4 = _init_l_Lean_Expr_mkData___closed__4(); lean_mark_persistent(l_Lean_Expr_mkData___closed__4); l_Lean_Expr_mkData___closed__5 = _init_l_Lean_Expr_mkData___closed__5(); lean_mark_persistent(l_Lean_Expr_mkData___closed__5); +l_Lean_Expr_mkData___closed__6 = _init_l_Lean_Expr_mkData___closed__6(); +lean_mark_persistent(l_Lean_Expr_mkData___closed__6); +l_Lean_Expr_mkData___closed__7 = _init_l_Lean_Expr_mkData___closed__7(); +lean_mark_persistent(l_Lean_Expr_mkData___closed__7); l_Lean_instReprData__1___lambda__2___closed__1 = _init_l_Lean_instReprData__1___lambda__2___closed__1(); lean_mark_persistent(l_Lean_instReprData__1___lambda__2___closed__1); l_Lean_instReprData__1___lambda__2___closed__2 = _init_l_Lean_instReprData__1___lambda__2___closed__2(); @@ -18095,102 +17372,102 @@ l_Lean_instInhabitedExpr___closed__2 = _init_l_Lean_instInhabitedExpr___closed__ lean_mark_persistent(l_Lean_instInhabitedExpr___closed__2); l_Lean_instInhabitedExpr = _init_l_Lean_instInhabitedExpr(); lean_mark_persistent(l_Lean_instInhabitedExpr); -l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__2___closed__1 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__2___closed__1(); -lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____lambda__2___closed__1); -l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__1 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__1(); -lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__1); -l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__2 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__2(); -lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__2); -l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__3 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__3(); -lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__3); -l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__4 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__4(); -lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__4); -l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__5 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__5(); -lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__5); -l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__6 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__6(); -lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__6); -l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__7 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__7(); -lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__7); -l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__8 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__8(); -lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__8); -l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__9 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__9(); -lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__9); -l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__10 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__10(); -lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__10); -l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__11 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__11(); -lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__11); -l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__12 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__12(); -lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__12); -l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__13 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__13(); -lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__13); -l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__14 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__14(); -lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__14); -l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__15 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__15(); -lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__15); -l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__16 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__16(); -lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__16); -l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__17 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__17(); -lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__17); -l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__18 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__18(); -lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__18); -l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__19 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__19(); -lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__19); -l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__20 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__20(); -lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__20); -l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__21 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__21(); -lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__21); -l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__22 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__22(); -lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__22); -l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__23 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__23(); -lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__23); -l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__24 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__24(); -lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__24); -l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__25 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__25(); -lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__25); -l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__26 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__26(); -lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__26); -l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__27 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__27(); -lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__27); -l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__28 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__28(); -lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__28); -l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__29 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__29(); -lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__29); -l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__30 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__30(); -lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__30); -l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__31 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__31(); -lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__31); -l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__32 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__32(); -lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__32); -l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__33 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__33(); -lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__33); -l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__34 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__34(); -lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__34); -l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__35 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__35(); -lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__35); -l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__36 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__36(); -lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__36); -l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__37 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__37(); -lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__37); -l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__38 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__38(); -lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__38); -l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__39 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__39(); -lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__39); -l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__40 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__40(); -lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__40); -l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__41 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__41(); -lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__41); -l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__42 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__42(); -lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__42); -l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__43 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__43(); -lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__43); -l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__44 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__44(); -lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__44); -l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__45 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__45(); -lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__45); -l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__46 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__46(); -lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__46); -l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__47 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__47(); -lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2223____closed__47); +l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__2___closed__1 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__2___closed__1(); +lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____lambda__2___closed__1); +l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__1 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__1(); +lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__1); +l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__2 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__2(); +lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__2); +l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__3 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__3(); +lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__3); +l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__4 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__4(); +lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__4); +l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__5 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__5(); +lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__5); +l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__6 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__6(); +lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__6); +l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__7 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__7(); +lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__7); +l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__8 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__8(); +lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__8); +l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__9 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__9(); +lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__9); +l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__10 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__10(); +lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__10); +l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__11 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__11(); +lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__11); +l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__12 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__12(); +lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__12); +l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__13 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__13(); +lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__13); +l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__14 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__14(); +lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__14); +l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__15 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__15(); +lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__15); +l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__16 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__16(); +lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__16); +l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__17 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__17(); +lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__17); +l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__18 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__18(); +lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__18); +l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__19 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__19(); +lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__19); +l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__20 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__20(); +lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__20); +l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__21 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__21(); +lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__21); +l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__22 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__22(); +lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__22); +l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__23 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__23(); +lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__23); +l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__24 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__24(); +lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__24); +l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__25 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__25(); +lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__25); +l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__26 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__26(); +lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__26); +l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__27 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__27(); +lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__27); +l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__28 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__28(); +lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__28); +l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__29 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__29(); +lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__29); +l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__30 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__30(); +lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__30); +l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__31 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__31(); +lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__31); +l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__32 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__32(); +lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__32); +l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__33 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__33(); +lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__33); +l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__34 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__34(); +lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__34); +l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__35 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__35(); +lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__35); +l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__36 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__36(); +lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__36); +l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__37 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__37(); +lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__37); +l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__38 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__38(); +lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__38); +l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__39 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__39(); +lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__39); +l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__40 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__40(); +lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__40); +l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__41 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__41(); +lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__41); +l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__42 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__42(); +lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__42); +l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__43 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__43(); +lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__43); +l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__44 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__44(); +lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__44); +l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__45 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__45(); +lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__45); +l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__46 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__46(); +lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__46); +l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__47 = _init_l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__47(); +lean_mark_persistent(l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2245____closed__47); l_Lean_instReprExpr___closed__1 = _init_l_Lean_instReprExpr___closed__1(); lean_mark_persistent(l_Lean_instReprExpr___closed__1); l_Lean_instReprExpr = _init_l_Lean_instReprExpr(); @@ -18235,6 +17512,15 @@ l_Lean_Literal_type___closed__5 = _init_l_Lean_Literal_type___closed__5(); lean_mark_persistent(l_Lean_Literal_type___closed__5); l_Lean_Literal_type___closed__6 = _init_l_Lean_Literal_type___closed__6(); lean_mark_persistent(l_Lean_Literal_type___closed__6); +l_Lean_mkApp___closed__1 = _init_l_Lean_mkApp___closed__1(); +l_Lean_mkApp___closed__2 = _init_l_Lean_mkApp___closed__2(); +lean_mark_persistent(l_Lean_mkApp___closed__2); +l_Lean_mkApp___closed__3 = _init_l_Lean_mkApp___closed__3(); +lean_mark_persistent(l_Lean_mkApp___closed__3); +l_Lean_mkApp___closed__4 = _init_l_Lean_mkApp___closed__4(); +lean_mark_persistent(l_Lean_mkApp___closed__4); +l_Lean_mkApp___closed__5 = _init_l_Lean_mkApp___closed__5(); +lean_mark_persistent(l_Lean_mkApp___closed__5); l_Lean_mkSimpleThunkType___closed__1 = _init_l_Lean_mkSimpleThunkType___closed__1(); lean_mark_persistent(l_Lean_mkSimpleThunkType___closed__1); l_Lean_mkSimpleThunkType___closed__2 = _init_l_Lean_mkSimpleThunkType___closed__2(); diff --git a/stage0/stdlib/Lean/HeadIndex.c b/stage0/stdlib/Lean/HeadIndex.c index 480a4ad781..0c547daac3 100644 --- a/stage0/stdlib/Lean/HeadIndex.c +++ b/stage0/stdlib/Lean/HeadIndex.c @@ -16,7 +16,7 @@ extern "C" { LEAN_EXPORT lean_object* l___private_Lean_HeadIndex_0__Lean_Expr_toHeadIndexQuick_x3f(lean_object*); LEAN_EXPORT lean_object* l_panic___at___private_Lean_HeadIndex_0__Lean_Expr_toHeadIndexSlow___spec__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_head___boxed(lean_object*); -uint64_t l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1732_(lean_object*); +uint64_t l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1754_(lean_object*); uint8_t lean_name_eq(lean_object*, lean_object*); lean_object* lean_expr_instantiate1(lean_object*, lean_object*); lean_object* lean_nat_add(lean_object*, lean_object*); @@ -258,7 +258,7 @@ case 0: lean_object* x_2; uint64_t x_3; uint64_t x_4; uint64_t x_5; x_2 = lean_ctor_get(x_1, 0); x_3 = 11; -x_4 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1732_(x_2); +x_4 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1754_(x_2); x_5 = lean_uint64_mix_hash(x_3, x_4); return x_5; } diff --git a/stage0/stdlib/Lean/LocalContext.c b/stage0/stdlib/Lean/LocalContext.c index 04b39f6b96..70348c7fdd 100644 --- a/stage0/stdlib/Lean/LocalContext.c +++ b/stage0/stdlib/Lean/LocalContext.c @@ -59,7 +59,7 @@ lean_object* lean_array_uget(lean_object*, size_t); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_LocalContext_allM___spec__3___rarg(lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_LocalContext_any___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*); uint64_t lean_uint64_of_nat(lean_object*); -uint64_t l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1732_(lean_object*); +uint64_t l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1754_(lean_object*); LEAN_EXPORT lean_object* l_Lean_LocalDecl_isAuxDecl___boxed(lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_LocalContext_foldl___spec__9___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_LocalContext_foldl___spec__9___rarg(lean_object*, lean_object*, size_t, size_t, lean_object*); @@ -83,6 +83,7 @@ static lean_object* l_Lean_LocalDecl_value___closed__3; LEAN_EXPORT lean_object* l_Std_PersistentArray_findSomeM_x3f___at_Lean_LocalContext_findDecl_x3f___spec__2(lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_LocalContext_foldl___spec__7___rarg(lean_object*, lean_object*, size_t, size_t, lean_object*); static lean_object* l_Nat_foldRev_loop___at_Lean_LocalContext_mkBinding___spec__1___closed__1; +lean_object* l_panic___at_Lean_mkApp___spec__1(lean_object*); LEAN_EXPORT lean_object* l_Array_foldrMUnsafe_fold___at_Lean_LocalContext_foldr___spec__21___rarg(lean_object*, lean_object*, size_t, size_t, lean_object*); LEAN_EXPORT lean_object* l_Array_foldrMUnsafe_fold___at_Lean_LocalContext_foldr___spec__12___rarg(lean_object*, lean_object*, size_t, size_t, lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentArray_findSomeRevM_x3f___at_Lean_LocalContext_findFromUserName_x3f___spec__1___boxed(lean_object*, lean_object*); @@ -235,7 +236,6 @@ LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_LocalContext_any___spec__4( lean_object* lean_name_append_index_after(lean_object*, lean_object*); static size_t l_Std_PersistentHashMap_insertAux___at_Lean_LocalContext_mkLocalDecl___spec__2___closed__1; LEAN_EXPORT lean_object* l_Array_foldrMUnsafe_fold___at_Lean_LocalContext_foldr___spec__4___rarg(lean_object*, lean_object*, size_t, size_t, lean_object*); -lean_object* l_panic___at_Lean_Expr_getRevArg_x21___spec__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_LocalContext_findDeclRev_x3f___rarg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_LocalContext_setBinderInfo___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Std_PersistentArray_set___rarg(lean_object*, lean_object*, lean_object*); @@ -1000,7 +1000,7 @@ if (lean_obj_tag(x_1) == 0) { lean_object* x_2; lean_object* x_3; x_2 = l_Lean_LocalDecl_value___closed__4; -x_3 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_2); +x_3 = l_panic___at_Lean_mkApp___spec__1(x_2); return x_3; } else @@ -1549,7 +1549,7 @@ else lean_object* x_9; lean_object* x_10; uint64_t x_11; size_t x_12; size_t x_13; size_t x_14; size_t x_15; size_t x_16; size_t x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; x_9 = lean_array_fget(x_2, x_5); x_10 = lean_array_fget(x_3, x_5); -x_11 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1732_(x_9); +x_11 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1754_(x_9); x_12 = lean_uint64_to_usize(x_11); x_13 = 1; x_14 = lean_usize_sub(x_1, x_13); @@ -2061,7 +2061,7 @@ if (x_4 == 0) lean_object* x_5; lean_object* x_6; uint64_t x_7; size_t x_8; size_t x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; x_5 = lean_ctor_get(x_1, 0); x_6 = lean_ctor_get(x_1, 1); -x_7 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1732_(x_2); +x_7 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1754_(x_2); x_8 = lean_uint64_to_usize(x_7); x_9 = 1; x_10 = l_Std_PersistentHashMap_insertAux___at_Lean_LocalContext_mkLocalDecl___spec__2(x_5, x_8, x_9, x_2, x_3); @@ -2080,7 +2080,7 @@ x_14 = lean_ctor_get(x_1, 1); lean_inc(x_14); lean_inc(x_13); lean_dec(x_1); -x_15 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1732_(x_2); +x_15 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1754_(x_2); x_16 = lean_uint64_to_usize(x_15); x_17 = 1; x_18 = l_Std_PersistentHashMap_insertAux___at_Lean_LocalContext_mkLocalDecl___spec__2(x_13, x_16, x_17, x_2, x_3); @@ -2428,7 +2428,7 @@ lean_object* x_3; uint64_t x_4; size_t x_5; lean_object* x_6; x_3 = lean_ctor_get(x_1, 0); lean_inc(x_3); lean_dec(x_1); -x_4 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1732_(x_2); +x_4 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1754_(x_2); x_5 = lean_uint64_to_usize(x_4); x_6 = l_Std_PersistentHashMap_findAux___at_Lean_LocalContext_find_x3f___spec__2(x_3, x_5, x_2); lean_dec(x_2); @@ -2647,7 +2647,7 @@ lean_object* x_3; uint64_t x_4; size_t x_5; uint8_t x_6; x_3 = lean_ctor_get(x_1, 0); lean_inc(x_3); lean_dec(x_1); -x_4 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1732_(x_2); +x_4 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1754_(x_2); x_5 = lean_uint64_to_usize(x_4); x_6 = l_Std_PersistentHashMap_containsAux___at_Lean_LocalContext_contains___spec__2(x_3, x_5, x_2); lean_dec(x_2); @@ -3835,7 +3835,7 @@ if (x_3 == 0) lean_object* x_4; lean_object* x_5; uint64_t x_6; size_t x_7; lean_object* x_8; lean_object* x_9; uint8_t x_10; x_4 = lean_ctor_get(x_1, 0); x_5 = lean_ctor_get(x_1, 1); -x_6 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1732_(x_2); +x_6 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1754_(x_2); x_7 = lean_uint64_to_usize(x_6); x_8 = l_Std_PersistentHashMap_eraseAux___at_Lean_LocalContext_erase___spec__2(x_4, x_7, x_2); x_9 = lean_ctor_get(x_8, 1); @@ -3873,7 +3873,7 @@ x_16 = lean_ctor_get(x_1, 1); lean_inc(x_16); lean_inc(x_15); lean_dec(x_1); -x_17 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1732_(x_2); +x_17 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1754_(x_2); x_18 = lean_uint64_to_usize(x_17); x_19 = l_Std_PersistentHashMap_eraseAux___at_Lean_LocalContext_erase___spec__2(x_15, x_18, x_2); x_20 = lean_ctor_get(x_19, 1); @@ -9653,7 +9653,7 @@ if (lean_obj_tag(x_12) == 0) lean_object* x_13; lean_object* x_14; lean_dec(x_5); x_13 = l_Nat_foldRev_loop___at_Lean_LocalContext_mkBinding___spec__1___closed__2; -x_14 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_13); +x_14 = l_panic___at_Lean_mkApp___spec__1(x_13); x_4 = x_9; x_5 = x_14; goto _start; @@ -9793,7 +9793,7 @@ if (lean_obj_tag(x_11) == 0) lean_object* x_12; lean_object* x_13; lean_dec(x_4); x_12 = l_Nat_foldRev_loop___at_Lean_LocalContext_mkBinding___spec__1___closed__2; -x_13 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_12); +x_13 = l_panic___at_Lean_mkApp___spec__1(x_12); x_3 = x_8; x_4 = x_13; goto _start; @@ -9917,7 +9917,7 @@ if (lean_obj_tag(x_11) == 0) lean_object* x_12; lean_object* x_13; lean_dec(x_4); x_12 = l_Nat_foldRev_loop___at_Lean_LocalContext_mkBinding___spec__1___closed__2; -x_13 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_12); +x_13 = l_panic___at_Lean_mkApp___spec__1(x_12); x_3 = x_8; x_4 = x_13; goto _start; diff --git a/stage0/stdlib/Lean/Meta/Closure.c b/stage0/stdlib/Lean/Meta/Closure.c index 3b4735a1fe..f6ab3fade9 100644 --- a/stage0/stdlib/Lean/Meta/Closure.c +++ b/stage0/stdlib/Lean/Meta/Closure.c @@ -38,6 +38,7 @@ lean_object* l_Array_append___rarg(lean_object*, lean_object*); static lean_object* l_List_foldlM___at_Lean_Meta_mkAuxDefinition___spec__6___closed__2; static lean_object* l_Lean_Meta_Closure_collectLevelAux___closed__2; lean_object* lean_array_uset(lean_object*, size_t, lean_object*); +lean_object* l_panic___at_Lean_mkApp___spec__1(lean_object*); static lean_object* l_Lean_Meta_Closure_collectLevelAux___closed__9; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_Closure_process___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Closure_collectExprAux___closed__16; @@ -122,7 +123,6 @@ LEAN_EXPORT lean_object* l_Lean_Declaration_foldExprM___at_Lean_Meta_mkAuxDefini lean_object* l_Std_mkHashMapImp___rarg(lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Closure_pickNextToProcess_x3f___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_name_append_index_after(lean_object*, lean_object*); -lean_object* l_panic___at_Lean_Expr_getRevArg_x21___spec__1(lean_object*); uint8_t l_Lean_Name_quickCmp(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Closure_State_visitedLevel___default; LEAN_EXPORT lean_object* l_Lean_Meta_Closure_collectExprAux___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -3930,7 +3930,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_Meta_Closure_collectExprAux___closed__1; x_2 = l_Lean_Meta_Closure_collectExprAux___closed__2; -x_3 = lean_unsigned_to_nat(1027u); +x_3 = lean_unsigned_to_nat(1034u); x_4 = lean_unsigned_to_nat(19u); x_5 = l_Lean_Meta_Closure_collectExprAux___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -3959,7 +3959,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_Meta_Closure_collectExprAux___closed__1; x_2 = l_Lean_Meta_Closure_collectExprAux___closed__5; -x_3 = lean_unsigned_to_nat(1032u); +x_3 = lean_unsigned_to_nat(1039u); x_4 = lean_unsigned_to_nat(20u); x_5 = l_Lean_Meta_Closure_collectExprAux___closed__6; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -3988,7 +3988,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_Meta_Closure_collectExprAux___closed__1; x_2 = l_Lean_Meta_Closure_collectExprAux___closed__8; -x_3 = lean_unsigned_to_nat(992u); +x_3 = lean_unsigned_to_nat(999u); x_4 = lean_unsigned_to_nat(20u); x_5 = l_Lean_Meta_Closure_collectExprAux___closed__9; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -4017,7 +4017,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_Meta_Closure_collectExprAux___closed__1; x_2 = l_Lean_Meta_Closure_collectExprAux___closed__11; -x_3 = lean_unsigned_to_nat(1060u); +x_3 = lean_unsigned_to_nat(1067u); x_4 = lean_unsigned_to_nat(19u); x_5 = l_Lean_Meta_Closure_collectExprAux___closed__12; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -4046,7 +4046,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_Meta_Closure_collectExprAux___closed__1; x_2 = l_Lean_Meta_Closure_collectExprAux___closed__14; -x_3 = lean_unsigned_to_nat(1046u); +x_3 = lean_unsigned_to_nat(1053u); x_4 = lean_unsigned_to_nat(23u); x_5 = l_Lean_Meta_Closure_collectExprAux___closed__15; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -4075,7 +4075,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_Meta_Closure_collectExprAux___closed__1; x_2 = l_Lean_Meta_Closure_collectExprAux___closed__17; -x_3 = lean_unsigned_to_nat(1069u); +x_3 = lean_unsigned_to_nat(1076u); x_4 = lean_unsigned_to_nat(22u); x_5 = l_Lean_Meta_Closure_collectExprAux___closed__18; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -5609,7 +5609,7 @@ lean_dec(x_385); lean_dec(x_383); lean_dec(x_1); x_396 = l_Lean_Meta_Closure_collectExprAux___closed__10; -x_397 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_396); +x_397 = l_panic___at_Lean_mkApp___spec__1(x_396); x_398 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_398, 0, x_397); lean_ctor_set(x_398, 1, x_386); @@ -6067,7 +6067,7 @@ lean_dec(x_503); lean_dec(x_501); lean_dec(x_1); x_518 = l_Lean_Meta_Closure_collectExprAux___closed__13; -x_519 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_518); +x_519 = l_panic___at_Lean_mkApp___spec__1(x_518); x_520 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_520, 0, x_519); lean_ctor_set(x_520, 1, x_504); @@ -6525,7 +6525,7 @@ lean_dec(x_625); lean_dec(x_623); lean_dec(x_1); x_640 = l_Lean_Meta_Closure_collectExprAux___closed__16; -x_641 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_640); +x_641 = l_panic___at_Lean_mkApp___spec__1(x_640); x_642 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_642, 0, x_641); lean_ctor_set(x_642, 1, x_626); @@ -7027,7 +7027,7 @@ lean_dec(x_748); lean_dec(x_746); lean_dec(x_1); x_763 = l_Lean_Meta_Closure_collectExprAux___closed__19; -x_764 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_763); +x_764 = l_panic___at_Lean_mkApp___spec__1(x_763); x_765 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_765, 0, x_764); lean_ctor_set(x_765, 1, x_751); @@ -7965,7 +7965,7 @@ lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_dec(x_9); lean_dec(x_1); x_20 = l_Lean_Meta_Closure_collectExprAux___closed__4; -x_21 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_20); +x_21 = l_panic___at_Lean_mkApp___spec__1(x_20); x_22 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_22, 0, x_21); lean_ctor_set(x_22, 1, x_10); @@ -8016,7 +8016,7 @@ lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_dec(x_24); lean_dec(x_1); x_36 = l_Lean_Meta_Closure_collectExprAux___closed__7; -x_37 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_36); +x_37 = l_panic___at_Lean_mkApp___spec__1(x_36); x_38 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_38, 0, x_37); lean_ctor_set(x_38, 1, x_25); diff --git a/stage0/stdlib/Lean/Meta/DiscrTree.c b/stage0/stdlib/Lean/Meta/DiscrTree.c index 84f6566338..3d8026036c 100644 --- a/stage0/stdlib/Lean/Meta/DiscrTree.c +++ b/stage0/stdlib/Lean/Meta/DiscrTree.c @@ -2390,6 +2390,7 @@ lean_dec(x_17); x_26 = lean_nat_sub(x_25, x_24); lean_dec(x_25); x_27 = l_Lean_Expr_getRevArg_x21(x_1, x_26); +lean_dec(x_1); x_1 = x_27; goto _start; } @@ -2595,7 +2596,6 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); x_112 = l_Lean_Expr_appArg_x21(x_2); -lean_dec(x_2); x_113 = l___private_Lean_Meta_DiscrTree_0__Lean_Meta_DiscrTree_isNumeral(x_112); x_114 = lean_box(x_113); x_115 = lean_alloc_ctor(0, 2, 0); @@ -2622,7 +2622,6 @@ x_12 = lean_name_eq(x_1, x_11); if (x_12 == 0) { uint8_t x_13; lean_object* x_14; lean_object* x_15; -lean_dec(x_2); x_13 = 0; x_14 = lean_box(x_13); x_15 = lean_alloc_ctor(0, 2, 0); @@ -2635,7 +2634,6 @@ else lean_object* x_16; lean_object* x_17; lean_object* x_18; uint8_t x_19; lean_object* x_20; lean_object* x_21; x_16 = lean_unsigned_to_nat(0u); x_17 = l_Lean_Expr_getAppNumArgsAux(x_2, x_16); -lean_dec(x_2); x_18 = lean_unsigned_to_nat(1u); x_19 = lean_nat_dec_eq(x_17, x_18); lean_dec(x_17); @@ -2660,7 +2658,6 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -lean_dec(x_2); x_26 = l___private_Lean_Meta_DiscrTree_0__Lean_Meta_DiscrTree_isNumeral___closed__10; x_27 = lean_name_eq(x_1, x_26); if (x_27 == 0) @@ -2695,7 +2692,6 @@ x_36 = lean_nat_sub(x_23, x_35); lean_dec(x_23); x_37 = lean_nat_sub(x_36, x_35); lean_dec(x_36); -lean_inc(x_2); x_38 = l_Lean_Expr_getRevArg_x21(x_2, x_37); x_39 = l___private_Lean_Meta_DiscrTree_0__Lean_Meta_DiscrTree_isNatType(x_38, x_3, x_4, x_5, x_6, x_7); if (lean_obj_tag(x_39) == 0) @@ -2708,7 +2704,6 @@ lean_dec(x_40); if (x_41 == 0) { uint8_t x_42; -lean_dec(x_2); x_42 = !lean_is_exclusive(x_39); if (x_42 == 0) { @@ -2744,7 +2739,6 @@ lean_object* x_51; lean_object* x_52; uint8_t x_53; lean_object* x_54; x_51 = lean_ctor_get(x_39, 0); lean_dec(x_51); x_52 = l_Lean_Expr_appArg_x21(x_2); -lean_dec(x_2); x_53 = l___private_Lean_Meta_DiscrTree_0__Lean_Meta_DiscrTree_isNumeral(x_52); x_54 = lean_box(x_53); lean_ctor_set(x_39, 0, x_54); @@ -2757,7 +2751,6 @@ x_55 = lean_ctor_get(x_39, 1); lean_inc(x_55); lean_dec(x_39); x_56 = l_Lean_Expr_appArg_x21(x_2); -lean_dec(x_2); x_57 = l___private_Lean_Meta_DiscrTree_0__Lean_Meta_DiscrTree_isNumeral(x_56); x_58 = lean_box(x_57); x_59 = lean_alloc_ctor(0, 2, 0); @@ -2770,7 +2763,6 @@ return x_59; else { uint8_t x_60; -lean_dec(x_2); x_60 = !lean_is_exclusive(x_39); if (x_60 == 0) { @@ -2829,7 +2821,6 @@ lean_dec(x_70); x_75 = lean_unsigned_to_nat(1u); x_76 = lean_nat_sub(x_74, x_75); lean_dec(x_74); -lean_inc(x_2); x_77 = l_Lean_Expr_getRevArg_x21(x_2, x_76); x_78 = l___private_Lean_Meta_DiscrTree_0__Lean_Meta_DiscrTree_isNatType(x_77, x_3, x_4, x_5, x_6, x_7); if (lean_obj_tag(x_78) == 0) @@ -2842,7 +2833,6 @@ lean_dec(x_79); if (x_80 == 0) { uint8_t x_81; -lean_dec(x_2); x_81 = !lean_is_exclusive(x_78); if (x_81 == 0) { @@ -2878,7 +2868,6 @@ lean_object* x_90; lean_object* x_91; uint8_t x_92; lean_object* x_93; x_90 = lean_ctor_get(x_78, 0); lean_dec(x_90); x_91 = l_Lean_Expr_appArg_x21(x_2); -lean_dec(x_2); x_92 = l___private_Lean_Meta_DiscrTree_0__Lean_Meta_DiscrTree_isNumeral(x_91); x_93 = lean_box(x_92); lean_ctor_set(x_78, 0, x_93); @@ -2891,7 +2880,6 @@ x_94 = lean_ctor_get(x_78, 1); lean_inc(x_94); lean_dec(x_78); x_95 = l_Lean_Expr_appArg_x21(x_2); -lean_dec(x_2); x_96 = l___private_Lean_Meta_DiscrTree_0__Lean_Meta_DiscrTree_isNumeral(x_95); x_97 = lean_box(x_96); x_98 = lean_alloc_ctor(0, 2, 0); @@ -2904,7 +2892,6 @@ return x_98; else { uint8_t x_99; -lean_dec(x_2); x_99 = !lean_is_exclusive(x_78); if (x_99 == 0) { @@ -2934,6 +2921,7 @@ _start: { lean_object* x_8; x_8 = l___private_Lean_Meta_DiscrTree_0__Lean_Meta_DiscrTree_isOffset(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +lean_dec(x_2); lean_dec(x_1); return x_8; } @@ -2957,7 +2945,6 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -lean_dec(x_2); x_11 = 1; x_12 = lean_box(x_11); x_13 = lean_alloc_ctor(0, 2, 0); @@ -2972,6 +2959,7 @@ _start: { lean_object* x_8; x_8 = l___private_Lean_Meta_DiscrTree_0__Lean_Meta_DiscrTree_shouldAddAsStar(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +lean_dec(x_2); lean_dec(x_1); return x_8; } @@ -3910,7 +3898,6 @@ lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -lean_inc(x_12); x_70 = l___private_Lean_Meta_DiscrTree_0__Lean_Meta_DiscrTree_shouldAddAsStar(x_69, x_12, x_4, x_5, x_6, x_7, x_13); if (lean_obj_tag(x_70) == 0) { @@ -4372,7 +4359,6 @@ lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -lean_inc(x_111); x_162 = l___private_Lean_Meta_DiscrTree_0__Lean_Meta_DiscrTree_shouldAddAsStar(x_161, x_111, x_4, x_5, x_6, x_7, x_112); if (lean_obj_tag(x_162) == 0) { diff --git a/stage0/stdlib/Lean/Meta/DiscrTreeTypes.c b/stage0/stdlib/Lean/Meta/DiscrTreeTypes.c index 13310025e9..2930f634a4 100644 --- a/stage0/stdlib/Lean/Meta/DiscrTreeTypes.c +++ b/stage0/stdlib/Lean/Meta/DiscrTreeTypes.c @@ -16,7 +16,7 @@ extern "C" { static lean_object* l_Lean_Meta_DiscrTree_root___default___closed__2; static lean_object* l_Lean_Meta_DiscrTree_instBEqKey___closed__1; LEAN_EXPORT lean_object* l_Lean_Meta_DiscrTree_root___default(lean_object*); -uint64_t l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1732_(lean_object*); +uint64_t l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1754_(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_DiscrTreeTypes_0__Lean_Meta_DiscrTree_reprKey____x40_Lean_Meta_DiscrTreeTypes___hyg_312_(lean_object*, lean_object*); static lean_object* l_Lean_Meta_DiscrTree_instInhabitedKey___closed__1; static lean_object* l___private_Lean_Meta_DiscrTreeTypes_0__Lean_Meta_DiscrTree_reprKey____x40_Lean_Meta_DiscrTreeTypes___hyg_312____closed__31; @@ -938,7 +938,7 @@ lean_object* x_9; lean_object* x_10; uint64_t x_11; uint64_t x_12; uint64_t x_13 x_9 = lean_ctor_get(x_1, 0); x_10 = lean_ctor_get(x_1, 1); x_11 = 3541; -x_12 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1732_(x_9); +x_12 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1754_(x_9); x_13 = lean_uint64_of_nat(x_10); x_14 = lean_uint64_mix_hash(x_12, x_13); x_15 = lean_uint64_mix_hash(x_11, x_14); diff --git a/stage0/stdlib/Lean/Meta/ExprDefEq.c b/stage0/stdlib/Lean/Meta/ExprDefEq.c index c83ee9225c..add7c89953 100644 --- a/stage0/stdlib/Lean/Meta/ExprDefEq.c +++ b/stage0/stdlib/Lean/Meta/ExprDefEq.c @@ -74,7 +74,7 @@ LEAN_EXPORT lean_object* l_Lean_Meta_isDefEqStringLit(lean_object*, lean_object* static lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_assignConst___lambda__2___closed__1; LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_unfoldNonProjFnDefEq___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Std_PersistentArray_anyM___at_Lean_Meta_CheckAssignment_checkMVar___spec__13(lean_object*, lean_object*); -uint64_t l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1732_(lean_object*); +uint64_t l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1754_(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqBindingAux(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_Meta_ExprDefEq_0__Lean_Meta_unstuckMVar___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqOnFailure___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_expr_update_mdata(lean_object*, lean_object*); @@ -102,6 +102,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_processAss LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insertAux___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_cacheResult___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_occursCheck(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_hasLetDeclsInBetween___lambda__1___boxed(lean_object*); +lean_object* l_panic___at_Lean_mkApp___spec__1(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_assignConst___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_sameHeadSymbol___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_CheckAssignment_checkMVar___spec__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*); @@ -350,7 +351,6 @@ LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isListLeve LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_CheckAssignment_checkMVar___spec__31___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_CheckAssignment_run___closed__2; LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_panic___at_Lean_Expr_getRevArg_x21___spec__1(lean_object*); static lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps___closed__6; uint8_t l_Lean_ReducibilityHints_isRegular(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqOnFailure(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -10948,7 +10948,7 @@ lean_object* x_4; lean_object* x_5; lean_object* x_6; uint64_t x_7; size_t x_8; x_4 = lean_ctor_get(x_2, 0); x_5 = lean_ctor_get(x_2, 1); x_6 = lean_array_get_size(x_1); -x_7 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1732_(x_4); +x_7 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1754_(x_4); x_8 = lean_uint64_to_usize(x_7); x_9 = lean_usize_modn(x_8, x_6); lean_dec(x_6); @@ -10968,7 +10968,7 @@ lean_inc(x_14); lean_inc(x_13); lean_dec(x_2); x_15 = lean_array_get_size(x_1); -x_16 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1732_(x_13); +x_16 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1754_(x_13); x_17 = lean_uint64_to_usize(x_16); x_18 = lean_usize_modn(x_17, x_15); lean_dec(x_15); @@ -11108,7 +11108,7 @@ lean_object* x_4; lean_object* x_5; lean_object* x_6; uint64_t x_7; size_t x_8; x_4 = lean_ctor_get(x_1, 0); x_5 = lean_ctor_get(x_1, 1); x_6 = lean_array_get_size(x_5); -x_7 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1732_(x_2); +x_7 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1754_(x_2); x_8 = lean_uint64_to_usize(x_7); x_9 = lean_usize_modn(x_8, x_6); x_10 = lean_array_uget(x_5, x_9); @@ -11160,7 +11160,7 @@ lean_inc(x_21); lean_inc(x_20); lean_dec(x_1); x_22 = lean_array_get_size(x_21); -x_23 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1732_(x_2); +x_23 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1754_(x_2); x_24 = lean_uint64_to_usize(x_23); x_25 = lean_usize_modn(x_24, x_22); x_26 = lean_array_uget(x_21, x_25); @@ -12983,7 +12983,7 @@ _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; uint8_t x_9; x_3 = lean_ctor_get(x_1, 1); x_4 = lean_array_get_size(x_3); -x_5 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1732_(x_2); +x_5 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1754_(x_2); x_6 = lean_uint64_to_usize(x_5); x_7 = lean_usize_modn(x_6, x_4); lean_dec(x_4); @@ -15607,7 +15607,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_Meta_CheckAssignment_check___closed__1; x_2 = l_Lean_Meta_CheckAssignment_check___closed__2; -x_3 = lean_unsigned_to_nat(1027u); +x_3 = lean_unsigned_to_nat(1034u); x_4 = lean_unsigned_to_nat(19u); x_5 = l_Lean_Meta_CheckAssignment_check___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -15636,7 +15636,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_Meta_CheckAssignment_check___closed__1; x_2 = l_Lean_Meta_CheckAssignment_check___closed__5; -x_3 = lean_unsigned_to_nat(1032u); +x_3 = lean_unsigned_to_nat(1039u); x_4 = lean_unsigned_to_nat(20u); x_5 = l_Lean_Meta_CheckAssignment_check___closed__6; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -15665,7 +15665,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_Meta_CheckAssignment_check___closed__1; x_2 = l_Lean_Meta_CheckAssignment_check___closed__8; -x_3 = lean_unsigned_to_nat(1060u); +x_3 = lean_unsigned_to_nat(1067u); x_4 = lean_unsigned_to_nat(19u); x_5 = l_Lean_Meta_CheckAssignment_check___closed__9; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -15694,7 +15694,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_Meta_CheckAssignment_check___closed__1; x_2 = l_Lean_Meta_CheckAssignment_check___closed__11; -x_3 = lean_unsigned_to_nat(1046u); +x_3 = lean_unsigned_to_nat(1053u); x_4 = lean_unsigned_to_nat(23u); x_5 = l_Lean_Meta_CheckAssignment_check___closed__12; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -15723,7 +15723,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_Meta_CheckAssignment_check___closed__1; x_2 = l_Lean_Meta_CheckAssignment_check___closed__14; -x_3 = lean_unsigned_to_nat(1069u); +x_3 = lean_unsigned_to_nat(1076u); x_4 = lean_unsigned_to_nat(22u); x_5 = l_Lean_Meta_CheckAssignment_check___closed__15; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -16187,7 +16187,7 @@ lean_dec(x_101); lean_dec(x_99); lean_dec(x_1); x_116 = l_Lean_Meta_CheckAssignment_check___closed__10; -x_117 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_116); +x_117 = l_panic___at_Lean_mkApp___spec__1(x_116); x_118 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_118, 0, x_117); lean_ctor_set(x_118, 1, x_102); @@ -16496,7 +16496,7 @@ lean_dec(x_165); lean_dec(x_163); lean_dec(x_1); x_180 = l_Lean_Meta_CheckAssignment_check___closed__13; -x_181 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_180); +x_181 = l_panic___at_Lean_mkApp___spec__1(x_180); x_182 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_182, 0, x_181); lean_ctor_set(x_182, 1, x_166); @@ -16837,7 +16837,7 @@ lean_dec(x_230); lean_dec(x_228); lean_dec(x_1); x_245 = l_Lean_Meta_CheckAssignment_check___closed__16; -x_246 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_245); +x_246 = l_panic___at_Lean_mkApp___spec__1(x_245); x_247 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_247, 0, x_246); lean_ctor_set(x_247, 1, x_233); @@ -17446,7 +17446,7 @@ lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_dec(x_9); lean_dec(x_1); x_20 = l_Lean_Meta_CheckAssignment_check___closed__4; -x_21 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_20); +x_21 = l_panic___at_Lean_mkApp___spec__1(x_20); x_22 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_22, 0, x_21); lean_ctor_set(x_22, 1, x_10); @@ -17497,7 +17497,7 @@ lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_dec(x_24); lean_dec(x_1); x_36 = l_Lean_Meta_CheckAssignment_check___closed__7; -x_37 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_36); +x_37 = l_panic___at_Lean_mkApp___spec__1(x_36); x_38 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_38, 0, x_37); lean_ctor_set(x_38, 1, x_25); diff --git a/stage0/stdlib/Lean/Meta/InferType.c b/stage0/stdlib/Lean/Meta/InferType.c index ba65ac7c13..772796db60 100644 --- a/stage0/stdlib/Lean/Meta/InferType.c +++ b/stage0/stdlib/Lean/Meta/InferType.c @@ -44,6 +44,7 @@ lean_object* l_Lean_throwError___at___private_Lean_Meta_Basic_0__Lean_Meta_proce LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescope___at___private_Lean_Meta_InferType_0__Lean_Meta_inferForallType___spec__2(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_InferType_0__Lean_Meta_isAlwaysZero___boxed(lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_throwTypeExcepted___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_panic___at_Lean_mkApp___spec__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_instantiateBetaRevRange_visit___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Expr_instantiateBetaRevRange_visit___closed__2; size_t lean_usize_sub(size_t, size_t); @@ -119,7 +120,6 @@ lean_object* l_instInhabited___rarg(lean_object*, lean_object*); static lean_object* l_panic___at_Lean_Expr_instantiateBetaRevRange_visit___spec__10___closed__2; static lean_object* l_panic___at_Lean_Expr_instantiateBetaRevRange_visit___spec__10___closed__1; lean_object* lean_level_mk_imax_simp(lean_object*, lean_object*); -lean_object* l_panic___at_Lean_Expr_getRevArg_x21___spec__1(lean_object*); LEAN_EXPORT lean_object* l_Std_AssocList_foldlM___at_Lean_Expr_instantiateBetaRevRange_visit___spec__7___at_Lean_Expr_instantiateBetaRevRange_visit___spec__8(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at_Lean_Expr_instantiateBetaRevRange_visit___spec__2(lean_object*, lean_object*); lean_object* lean_instantiate_type_lparams(lean_object*, lean_object*); @@ -2071,7 +2071,7 @@ if (x_8 == 0) lean_object* x_9; lean_object* x_10; lean_dec(x_1); x_9 = l_Lean_Expr_instantiateBetaRevRange___closed__5; -x_10 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_9); +x_10 = l_panic___at_Lean_mkApp___spec__1(x_9); return x_10; } else diff --git a/stage0/stdlib/Lean/Meta/Injective.c b/stage0/stdlib/Lean/Meta/Injective.c index 7c513e0b2a..ab5bfd2937 100644 --- a/stage0/stdlib/Lean/Meta/Injective.c +++ b/stage0/stdlib/Lean/Meta/Injective.c @@ -334,6 +334,7 @@ x_13 = lean_unsigned_to_nat(1u); x_14 = lean_nat_sub(x_12, x_13); lean_dec(x_12); x_15 = l_Lean_Expr_getRevArg_x21(x_1, x_14); +lean_dec(x_1); x_16 = lean_alloc_ctor(1, 1, 0); lean_ctor_set(x_16, 0, x_15); x_17 = lean_alloc_ctor(0, 2, 0); diff --git a/stage0/stdlib/Lean/Meta/Match/Basic.c b/stage0/stdlib/Lean/Meta/Match/Basic.c index 611f921256..c7c37586db 100644 --- a/stage0/stdlib/Lean/Meta/Match/Basic.c +++ b/stage0/stdlib/Lean/Meta/Match/Basic.c @@ -6688,7 +6688,6 @@ x_83 = lean_nat_sub(x_81, x_82); x_84 = lean_unsigned_to_nat(1u); x_85 = lean_nat_sub(x_83, x_84); lean_dec(x_83); -lean_inc(x_1); x_86 = l_Lean_Expr_getRevArg_x21(x_1, x_85); lean_inc(x_5); lean_inc(x_4); @@ -6708,13 +6707,13 @@ x_91 = lean_unsigned_to_nat(3u); x_92 = lean_nat_sub(x_81, x_91); x_93 = lean_nat_sub(x_92, x_84); lean_dec(x_92); -lean_inc(x_1); x_94 = l_Lean_Expr_getRevArg_x21(x_1, x_93); x_95 = lean_nat_sub(x_81, x_84); lean_dec(x_81); x_96 = lean_nat_sub(x_95, x_84); lean_dec(x_95); x_97 = l_Lean_Expr_getRevArg_x21(x_1, x_96); +lean_dec(x_1); if (lean_obj_tag(x_97) == 1) { if (lean_obj_tag(x_94) == 1) @@ -6781,13 +6780,13 @@ x_107 = lean_unsigned_to_nat(3u); x_108 = lean_nat_sub(x_81, x_107); x_109 = lean_nat_sub(x_108, x_84); lean_dec(x_108); -lean_inc(x_1); x_110 = l_Lean_Expr_getRevArg_x21(x_1, x_109); x_111 = lean_nat_sub(x_81, x_84); lean_dec(x_81); x_112 = lean_nat_sub(x_111, x_84); lean_dec(x_111); x_113 = l_Lean_Expr_getRevArg_x21(x_1, x_112); +lean_dec(x_1); if (lean_obj_tag(x_113) == 1) { if (lean_obj_tag(x_110) == 1) diff --git a/stage0/stdlib/Lean/Meta/Offset.c b/stage0/stdlib/Lean/Meta/Offset.c index 4a6be482dd..d03e4b6909 100644 --- a/stage0/stdlib/Lean/Meta/Offset.c +++ b/stage0/stdlib/Lean/Meta/Offset.c @@ -743,6 +743,7 @@ lean_dec(x_25); x_229 = lean_nat_sub(x_228, x_225); lean_dec(x_228); x_230 = l_Lean_Expr_getRevArg_x21(x_1, x_229); +lean_dec(x_1); x_231 = l_Lean_Meta_evalNat(x_230, x_2, x_3, x_4, x_5, x_6); if (lean_obj_tag(x_231) == 0) { @@ -1089,7 +1090,6 @@ x_67 = lean_nat_sub(x_25, x_24); x_68 = lean_unsigned_to_nat(1u); x_69 = lean_nat_sub(x_67, x_68); lean_dec(x_67); -lean_inc(x_1); x_70 = l_Lean_Expr_getRevArg_x21(x_1, x_69); lean_inc(x_5); lean_inc(x_4); @@ -1147,6 +1147,7 @@ lean_dec(x_25); x_82 = lean_nat_sub(x_81, x_68); lean_dec(x_81); x_83 = l_Lean_Expr_getRevArg_x21(x_1, x_82); +lean_dec(x_1); x_84 = l_Lean_Meta_evalNat(x_83, x_2, x_3, x_4, x_5, x_79); if (lean_obj_tag(x_84) == 0) { @@ -1340,7 +1341,6 @@ x_124 = lean_nat_sub(x_25, x_24); x_125 = lean_unsigned_to_nat(1u); x_126 = lean_nat_sub(x_124, x_125); lean_dec(x_124); -lean_inc(x_1); x_127 = l_Lean_Expr_getRevArg_x21(x_1, x_126); lean_inc(x_5); lean_inc(x_4); @@ -1398,6 +1398,7 @@ lean_dec(x_25); x_139 = lean_nat_sub(x_138, x_125); lean_dec(x_138); x_140 = l_Lean_Expr_getRevArg_x21(x_1, x_139); +lean_dec(x_1); x_141 = l_Lean_Meta_evalNat(x_140, x_2, x_3, x_4, x_5, x_136); if (lean_obj_tag(x_141) == 0) { @@ -1573,7 +1574,6 @@ x_174 = lean_nat_sub(x_25, x_24); x_175 = lean_unsigned_to_nat(1u); x_176 = lean_nat_sub(x_174, x_175); lean_dec(x_174); -lean_inc(x_1); x_177 = l_Lean_Expr_getRevArg_x21(x_1, x_176); lean_inc(x_5); lean_inc(x_4); @@ -1631,6 +1631,7 @@ lean_dec(x_25); x_189 = lean_nat_sub(x_188, x_175); lean_dec(x_188); x_190 = l_Lean_Expr_getRevArg_x21(x_1, x_189); +lean_dec(x_1); x_191 = l_Lean_Meta_evalNat(x_190, x_2, x_3, x_4, x_5, x_186); if (lean_obj_tag(x_191) == 0) { @@ -2711,7 +2712,6 @@ x_109 = lean_unsigned_to_nat(1u); x_110 = lean_nat_sub(x_27, x_109); x_111 = lean_nat_sub(x_110, x_109); lean_dec(x_110); -lean_inc(x_1); x_112 = l_Lean_Expr_getRevArg_x21(x_1, x_111); lean_inc(x_6); lean_inc(x_5); @@ -2769,6 +2769,7 @@ lean_dec(x_27); x_124 = lean_nat_sub(x_123, x_109); lean_dec(x_123); x_125 = l_Lean_Expr_getRevArg_x21(x_1, x_124); +lean_dec(x_1); x_126 = 0; x_127 = l___private_Lean_Meta_Offset_0__Lean_Meta_getOffsetAux(x_125, x_126, x_3, x_4, x_5, x_6, x_121); if (lean_obj_tag(x_127) == 0) diff --git a/stage0/stdlib/Lean/Meta/ReduceEval.c b/stage0/stdlib/Lean/Meta/ReduceEval.c index 8fe73035f2..04fad35eac 100644 --- a/stage0/stdlib/Lean/Meta/ReduceEval.c +++ b/stage0/stdlib/Lean/Meta/ReduceEval.c @@ -3674,7 +3674,6 @@ x_22 = lean_nat_sub(x_14, x_13); x_23 = lean_unsigned_to_nat(1u); x_24 = lean_nat_sub(x_22, x_23); lean_dec(x_22); -lean_inc(x_9); x_25 = l_Lean_Expr_getRevArg_x21(x_9, x_24); lean_inc(x_5); lean_inc(x_4); @@ -3694,6 +3693,7 @@ lean_dec(x_14); x_30 = lean_nat_sub(x_29, x_23); lean_dec(x_29); x_31 = l_Lean_Expr_getRevArg_x21(x_9, x_30); +lean_dec(x_9); x_32 = l_Lean_Meta_reduceEval___at___private_Lean_Meta_ReduceEval_0__Lean_Meta_evalName___spec__1(x_31, x_2, x_3, x_4, x_5, x_28); if (lean_obj_tag(x_32) == 0) { @@ -3810,7 +3810,6 @@ x_56 = lean_nat_sub(x_14, x_13); x_57 = lean_unsigned_to_nat(1u); x_58 = lean_nat_sub(x_56, x_57); lean_dec(x_56); -lean_inc(x_9); x_59 = l_Lean_Expr_getRevArg_x21(x_9, x_58); lean_inc(x_5); lean_inc(x_4); @@ -3830,6 +3829,7 @@ lean_dec(x_14); x_64 = lean_nat_sub(x_63, x_57); lean_dec(x_63); x_65 = l_Lean_Expr_getRevArg_x21(x_9, x_64); +lean_dec(x_9); x_66 = l_Lean_Meta_reduceEval___at___private_Lean_Meta_ReduceEval_0__Lean_Meta_evalName___spec__2(x_65, x_2, x_3, x_4, x_5, x_62); if (lean_obj_tag(x_66) == 0) { @@ -4022,7 +4022,6 @@ x_103 = lean_nat_sub(x_95, x_94); x_104 = lean_unsigned_to_nat(1u); x_105 = lean_nat_sub(x_103, x_104); lean_dec(x_103); -lean_inc(x_90); x_106 = l_Lean_Expr_getRevArg_x21(x_90, x_105); lean_inc(x_5); lean_inc(x_4); @@ -4042,6 +4041,7 @@ lean_dec(x_95); x_111 = lean_nat_sub(x_110, x_104); lean_dec(x_110); x_112 = l_Lean_Expr_getRevArg_x21(x_90, x_111); +lean_dec(x_90); x_113 = l_Lean_Meta_reduceEval___at___private_Lean_Meta_ReduceEval_0__Lean_Meta_evalName___spec__1(x_112, x_2, x_3, x_4, x_5, x_109); if (lean_obj_tag(x_113) == 0) { @@ -4160,7 +4160,6 @@ x_135 = lean_nat_sub(x_95, x_94); x_136 = lean_unsigned_to_nat(1u); x_137 = lean_nat_sub(x_135, x_136); lean_dec(x_135); -lean_inc(x_90); x_138 = l_Lean_Expr_getRevArg_x21(x_90, x_137); lean_inc(x_5); lean_inc(x_4); @@ -4180,6 +4179,7 @@ lean_dec(x_95); x_143 = lean_nat_sub(x_142, x_136); lean_dec(x_142); x_144 = l_Lean_Expr_getRevArg_x21(x_90, x_143); +lean_dec(x_90); x_145 = l_Lean_Meta_reduceEval___at___private_Lean_Meta_ReduceEval_0__Lean_Meta_evalName___spec__2(x_144, x_2, x_3, x_4, x_5, x_141); if (lean_obj_tag(x_145) == 0) { diff --git a/stage0/stdlib/Lean/Meta/Tactic/LinearArith/Nat/Basic.c b/stage0/stdlib/Lean/Meta/Tactic/LinearArith/Nat/Basic.c index fb96ba4ce8..1077c1c88a 100644 --- a/stage0/stdlib/Lean/Meta/Tactic/LinearArith/Nat/Basic.c +++ b/stage0/stdlib/Lean/Meta/Tactic/LinearArith/Nat/Basic.c @@ -2048,7 +2048,6 @@ x_111 = lean_nat_sub(x_17, x_16); x_112 = lean_unsigned_to_nat(1u); x_113 = lean_nat_sub(x_111, x_112); lean_dec(x_111); -lean_inc(x_1); x_114 = l_Lean_Expr_getRevArg_x21(x_1, x_113); lean_inc(x_6); lean_inc(x_5); @@ -2068,6 +2067,7 @@ lean_dec(x_17); x_119 = lean_nat_sub(x_118, x_112); lean_dec(x_118); x_120 = l_Lean_Expr_getRevArg_x21(x_1, x_119); +lean_dec(x_1); x_121 = l_Lean_Meta_Linear_Nat_ToLinear_toLinearExpr(x_120, x_2, x_3, x_4, x_5, x_6, x_117); if (lean_obj_tag(x_121) == 0) { @@ -2191,7 +2191,6 @@ lean_dec(x_15); x_145 = lean_nat_sub(x_17, x_16); x_146 = lean_nat_sub(x_145, x_137); lean_dec(x_145); -lean_inc(x_1); x_147 = l_Lean_Expr_getRevArg_x21(x_1, x_146); lean_inc(x_6); lean_inc(x_5); @@ -2211,6 +2210,7 @@ lean_dec(x_17); x_152 = lean_nat_sub(x_151, x_137); lean_dec(x_151); x_153 = l_Lean_Expr_getRevArg_x21(x_1, x_152); +lean_dec(x_1); x_154 = l_Lean_Meta_Linear_Nat_ToLinear_toLinearExpr(x_153, x_2, x_3, x_4, x_5, x_6, x_150); if (lean_obj_tag(x_154) == 0) { @@ -2532,7 +2532,6 @@ x_49 = lean_nat_sub(x_17, x_16); x_50 = lean_unsigned_to_nat(1u); x_51 = lean_nat_sub(x_49, x_50); lean_dec(x_49); -lean_inc(x_1); x_52 = l_Lean_Expr_getRevArg_x21(x_1, x_51); lean_inc(x_6); lean_inc(x_5); @@ -2555,7 +2554,6 @@ x_56 = lean_nat_sub(x_17, x_50); lean_dec(x_17); x_57 = lean_nat_sub(x_56, x_50); lean_dec(x_56); -lean_inc(x_1); x_58 = l_Lean_Expr_getRevArg_x21(x_1, x_57); lean_inc(x_6); lean_inc(x_5); @@ -2688,6 +2686,7 @@ lean_dec(x_17); x_84 = lean_nat_sub(x_83, x_50); lean_dec(x_83); x_85 = l_Lean_Expr_getRevArg_x21(x_1, x_84); +lean_dec(x_1); x_86 = l_Lean_Meta_Linear_Nat_ToLinear_toLinearExpr(x_85, x_2, x_3, x_4, x_5, x_6, x_81); if (lean_obj_tag(x_86) == 0) { @@ -3244,7 +3243,6 @@ x_197 = lean_unsigned_to_nat(1u); x_198 = lean_nat_sub(x_24, x_197); x_199 = lean_nat_sub(x_198, x_197); lean_dec(x_198); -lean_inc(x_1); x_200 = l_Lean_Expr_getRevArg_x21(x_1, x_199); lean_inc(x_6); lean_inc(x_5); @@ -3265,6 +3263,7 @@ lean_dec(x_24); x_206 = lean_nat_sub(x_205, x_197); lean_dec(x_205); x_207 = l_Lean_Expr_getRevArg_x21(x_1, x_206); +lean_dec(x_1); x_208 = l_Lean_Meta_Linear_Nat_ToLinear_toLinearExpr(x_207, x_2, x_3, x_4, x_5, x_6, x_203); if (lean_obj_tag(x_208) == 0) { @@ -3392,7 +3391,6 @@ x_160 = lean_nat_sub(x_24, x_23); x_161 = lean_unsigned_to_nat(1u); x_162 = lean_nat_sub(x_160, x_161); lean_dec(x_160); -lean_inc(x_1); x_163 = l_Lean_Expr_getRevArg_x21(x_1, x_162); lean_inc(x_6); lean_inc(x_5); @@ -3412,6 +3410,7 @@ lean_dec(x_24); x_168 = lean_nat_sub(x_167, x_161); lean_dec(x_167); x_169 = l_Lean_Expr_getRevArg_x21(x_1, x_168); +lean_dec(x_1); x_170 = l_Lean_Meta_Linear_Nat_ToLinear_toLinearExpr(x_169, x_2, x_3, x_4, x_5, x_6, x_166); if (lean_obj_tag(x_170) == 0) { @@ -3515,7 +3514,6 @@ lean_dec(x_24); x_28 = lean_unsigned_to_nat(1u); x_29 = lean_nat_sub(x_27, x_28); lean_dec(x_27); -lean_inc(x_1); x_30 = l_Lean_Expr_getRevArg_x21(x_1, x_29); x_31 = l_Lean_Meta_Linear_Nat_ToLinear_toLinearCnstr_x3f___closed__1; lean_inc(x_6); @@ -3978,7 +3976,6 @@ x_121 = lean_nat_sub(x_24, x_23); x_122 = lean_unsigned_to_nat(1u); x_123 = lean_nat_sub(x_121, x_122); lean_dec(x_121); -lean_inc(x_1); x_124 = l_Lean_Expr_getRevArg_x21(x_1, x_123); lean_inc(x_6); lean_inc(x_5); @@ -3998,6 +3995,7 @@ lean_dec(x_24); x_129 = lean_nat_sub(x_128, x_122); lean_dec(x_128); x_130 = l_Lean_Expr_getRevArg_x21(x_1, x_129); +lean_dec(x_1); x_131 = l_Lean_Meta_Linear_Nat_ToLinear_toLinearExpr(x_130, x_2, x_3, x_4, x_5, x_6, x_127); if (lean_obj_tag(x_131) == 0) { diff --git a/stage0/stdlib/Lean/Meta/Tactic/LinearArith/Nat/Simp.c b/stage0/stdlib/Lean/Meta/Tactic/LinearArith/Nat/Simp.c index bd030d41e4..aa6b3d7961 100644 --- a/stage0/stdlib/Lean/Meta/Tactic/LinearArith/Nat/Simp.c +++ b/stage0/stdlib/Lean/Meta/Tactic/LinearArith/Nat/Simp.c @@ -1718,7 +1718,6 @@ lean_dec(x_8); lean_dec(x_7); lean_dec(x_4); lean_dec(x_3); -lean_dec(x_2); x_12 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_12, 0, x_1); lean_ctor_set(x_12, 1, x_11); @@ -1742,7 +1741,6 @@ x_20 = lean_nat_sub(x_18, x_19); x_21 = lean_unsigned_to_nat(1u); x_22 = lean_nat_sub(x_20, x_21); lean_dec(x_20); -lean_inc(x_2); x_23 = l_Lean_Expr_getRevArg_x21(x_2, x_22); x_24 = lean_unsigned_to_nat(3u); x_25 = lean_nat_sub(x_18, x_24); @@ -1969,7 +1967,6 @@ x_85 = lean_nat_sub(x_83, x_84); x_86 = lean_unsigned_to_nat(1u); x_87 = lean_nat_sub(x_85, x_86); lean_dec(x_85); -lean_inc(x_2); x_88 = l_Lean_Expr_getRevArg_x21(x_2, x_87); x_89 = lean_unsigned_to_nat(3u); x_90 = lean_nat_sub(x_83, x_89); @@ -2390,6 +2387,7 @@ lean_object* x_22; lean_object* x_23; lean_object* x_24; x_22 = lean_box(0); x_23 = lean_box(0); x_24 = l_Lean_Meta_Linear_Nat_simpCnstr_x3f___lambda__1(x_12, x_11, x_1, x_22, x_12, x_23, x_2, x_3, x_4, x_5, x_6); +lean_dec(x_11); return x_24; } else @@ -2401,14 +2399,12 @@ x_27 = lean_unsigned_to_nat(2u); x_28 = lean_nat_sub(x_26, x_27); x_29 = lean_nat_sub(x_28, x_8); lean_dec(x_28); -lean_inc(x_11); x_30 = l_Lean_Expr_getRevArg_x21(x_11, x_29); x_31 = lean_unsigned_to_nat(3u); x_32 = lean_nat_sub(x_26, x_31); lean_dec(x_26); x_33 = lean_nat_sub(x_32, x_8); lean_dec(x_32); -lean_inc(x_11); x_34 = l_Lean_Expr_getRevArg_x21(x_11, x_33); lean_inc(x_5); lean_inc(x_4); @@ -2428,6 +2424,7 @@ lean_ctor_set(x_38, 0, x_36); x_39 = l_Lean_Meta_Linear_Nat_simpCnstr_x3f___closed__20; x_40 = lean_box(0); x_41 = l_Lean_Meta_Linear_Nat_simpCnstr_x3f___lambda__1(x_12, x_11, x_1, x_39, x_38, x_40, x_2, x_3, x_4, x_5, x_37); +lean_dec(x_11); return x_41; } else @@ -2469,14 +2466,12 @@ x_48 = lean_unsigned_to_nat(3u); x_49 = lean_nat_sub(x_47, x_48); x_50 = lean_nat_sub(x_49, x_8); lean_dec(x_49); -lean_inc(x_11); x_51 = l_Lean_Expr_getRevArg_x21(x_11, x_50); x_52 = lean_unsigned_to_nat(2u); x_53 = lean_nat_sub(x_47, x_52); lean_dec(x_47); x_54 = lean_nat_sub(x_53, x_8); lean_dec(x_53); -lean_inc(x_11); x_55 = l_Lean_Expr_getRevArg_x21(x_11, x_54); lean_inc(x_5); lean_inc(x_4); @@ -2496,6 +2491,7 @@ lean_ctor_set(x_59, 0, x_57); x_60 = l_Lean_Meta_Linear_Nat_simpCnstr_x3f___closed__22; x_61 = lean_box(0); x_62 = l_Lean_Meta_Linear_Nat_simpCnstr_x3f___lambda__1(x_12, x_11, x_1, x_60, x_59, x_61, x_2, x_3, x_4, x_5, x_58); +lean_dec(x_11); return x_62; } else @@ -2537,7 +2533,6 @@ x_69 = lean_unsigned_to_nat(2u); x_70 = lean_nat_sub(x_68, x_69); x_71 = lean_nat_sub(x_70, x_8); lean_dec(x_70); -lean_inc(x_11); x_72 = l_Lean_Expr_getRevArg_x21(x_11, x_71); x_73 = l_Lean_Meta_Linear_Nat_simpCnstr_x3f___closed__23; lean_inc(x_5); @@ -2558,7 +2553,6 @@ x_78 = lean_nat_sub(x_68, x_77); lean_dec(x_68); x_79 = lean_nat_sub(x_78, x_8); lean_dec(x_78); -lean_inc(x_11); x_80 = l_Lean_Expr_getRevArg_x21(x_11, x_79); lean_inc(x_5); lean_inc(x_4); @@ -2578,6 +2572,7 @@ lean_ctor_set(x_84, 0, x_82); x_85 = l_Lean_Meta_Linear_Nat_simpCnstr_x3f___closed__25; x_86 = lean_box(0); x_87 = l_Lean_Meta_Linear_Nat_simpCnstr_x3f___lambda__1(x_12, x_11, x_1, x_85, x_84, x_86, x_2, x_3, x_4, x_5, x_83); +lean_dec(x_11); return x_87; } else @@ -2649,7 +2644,6 @@ x_98 = lean_unsigned_to_nat(3u); x_99 = lean_nat_sub(x_97, x_98); x_100 = lean_nat_sub(x_99, x_8); lean_dec(x_99); -lean_inc(x_11); x_101 = l_Lean_Expr_getRevArg_x21(x_11, x_100); x_102 = l_Lean_Meta_Linear_Nat_simpCnstr_x3f___closed__23; lean_inc(x_5); @@ -2670,7 +2664,6 @@ x_107 = lean_nat_sub(x_97, x_106); lean_dec(x_97); x_108 = lean_nat_sub(x_107, x_8); lean_dec(x_107); -lean_inc(x_11); x_109 = l_Lean_Expr_getRevArg_x21(x_11, x_108); lean_inc(x_5); lean_inc(x_4); @@ -2690,6 +2683,7 @@ lean_ctor_set(x_113, 0, x_111); x_114 = l_Lean_Meta_Linear_Nat_simpCnstr_x3f___closed__27; x_115 = lean_box(0); x_116 = l_Lean_Meta_Linear_Nat_simpCnstr_x3f___lambda__1(x_12, x_11, x_1, x_114, x_113, x_115, x_2, x_3, x_4, x_5, x_112); +lean_dec(x_11); return x_116; } else @@ -2760,6 +2754,7 @@ _start: lean_object* x_12; x_12 = l_Lean_Meta_Linear_Nat_simpCnstr_x3f___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_6); +lean_dec(x_2); return x_12; } } diff --git a/stage0/stdlib/Lean/Meta/Tactic/Simp/Main.c b/stage0/stdlib/Lean/Meta/Tactic/Simp/Main.c index 271704968a..529677fda0 100644 --- a/stage0/stdlib/Lean/Meta/Tactic/Simp/Main.c +++ b/stage0/stdlib/Lean/Meta/Tactic/Simp/Main.c @@ -109,6 +109,7 @@ LEAN_EXPORT lean_object* l_Lean_Meta_transform___at___private_Lean_Meta_Tactic_S static lean_object* l_Lean_Meta_Simp_simp_simpLoop___closed__1; LEAN_EXPORT lean_object* l_Lean_Meta_Simp_Config_updateArith(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Simp_DefaultMethods_discharge_x3f___lambda__2___closed__8; +lean_object* l_panic___at_Lean_mkApp___spec__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Simp_simp_processCongrHypothesis(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_Lean_Meta_Simp_simp_mkCongrSimp_x3f___spec__9___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Simp_simp_simpLoop___closed__2; @@ -315,7 +316,6 @@ LEAN_EXPORT lean_object* l_Std_HashMapImp_moveEntries___at_Lean_Meta_Simp_simp_m lean_object* l_instInhabited___rarg(lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_mkImpCongr___closed__3; static lean_object* l_Lean_Meta_Simp_simp_simpArrow___lambda__4___closed__5; -lean_object* l_panic___at_Lean_Expr_getRevArg_x21___spec__1(lean_object*); static lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_simp_tryAutoCongrTheorem_x3f___spec__3___closed__3; LEAN_EXPORT lean_object* l_Lean_Meta_Simp_simp_tryAutoCongrTheorem_x3f___lambda__4___boxed(lean_object**); LEAN_EXPORT lean_object* l_Lean_throwMaxRecDepthAt___at_Lean_Meta_Simp_simp___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -1698,7 +1698,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___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_mkImpCongr___closed__1; x_2 = l___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_mkImpCongr___closed__2; -x_3 = lean_unsigned_to_nat(1046u); +x_3 = lean_unsigned_to_nat(1053u); x_4 = lean_unsigned_to_nat(23u); x_5 = l___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_mkImpCongr___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -1757,7 +1757,7 @@ lean_dec(x_10); lean_dec(x_9); lean_dec(x_1); x_135 = l___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_mkImpCongr___closed__4; -x_136 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_135); +x_136 = l_panic___at_Lean_mkApp___spec__1(x_135); x_12 = x_136; goto block_123; } @@ -16941,7 +16941,7 @@ lean_dec(x_105); lean_dec(x_4); lean_dec(x_2); x_127 = l___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_mkImpCongr___closed__4; -x_128 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_127); +x_128 = l_panic___at_Lean_mkApp___spec__1(x_127); x_129 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_129, 0, x_128); lean_ctor_set(x_129, 1, x_89); @@ -17209,7 +17209,7 @@ lean_dec(x_159); lean_dec(x_4); lean_dec(x_2); x_178 = l___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_mkImpCongr___closed__4; -x_179 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_178); +x_179 = l_panic___at_Lean_mkApp___spec__1(x_178); x_180 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_180, 0, x_179); lean_ctor_set(x_180, 1, x_168); @@ -17573,7 +17573,7 @@ lean_dec(x_229); lean_dec(x_4); lean_dec(x_2); x_248 = l___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_mkImpCongr___closed__4; -x_249 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_248); +x_249 = l_panic___at_Lean_mkApp___spec__1(x_248); x_250 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_250, 0, x_249); lean_ctor_set(x_250, 1, x_238); @@ -17975,7 +17975,7 @@ lean_dec(x_306); lean_dec(x_4); lean_dec(x_2); x_325 = l___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_mkImpCongr___closed__4; -x_326 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_325); +x_326 = l_panic___at_Lean_mkApp___spec__1(x_325); x_327 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_327, 0, x_326); lean_ctor_set(x_327, 1, x_315); @@ -32848,7 +32848,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___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_mkImpCongr___closed__1; x_2 = l_Lean_Meta_Simp_simp_simpProj___lambda__1___closed__1; -x_3 = lean_unsigned_to_nat(1032u); +x_3 = lean_unsigned_to_nat(1039u); x_4 = lean_unsigned_to_nat(20u); x_5 = l_Lean_Meta_Simp_simp_simpProj___lambda__1___closed__2; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -32883,7 +32883,7 @@ else { lean_object* x_75; lean_object* x_76; x_75 = l_Lean_Meta_Simp_simp_simpProj___lambda__1___closed__3; -x_76 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_75); +x_76 = l_panic___at_Lean_mkApp___spec__1(x_75); x_11 = x_76; goto block_68; } @@ -33351,7 +33351,7 @@ else lean_object* x_98; lean_object* x_99; lean_dec(x_45); x_98 = l_Lean_Meta_Simp_simp_simpProj___lambda__1___closed__3; -x_99 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_98); +x_99 = l_panic___at_Lean_mkApp___spec__1(x_98); x_47 = x_99; goto block_91; } diff --git a/stage0/stdlib/Lean/Meta/Tactic/Simp/SimpTheorems.c b/stage0/stdlib/Lean/Meta/Tactic/Simp/SimpTheorems.c index b650e1cc23..2edf318717 100644 --- a/stage0/stdlib/Lean/Meta/Tactic/Simp/SimpTheorems.c +++ b/stage0/stdlib/Lean/Meta/Tactic/Simp/SimpTheorems.c @@ -60,6 +60,7 @@ static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems lean_object* l_Lean_registerSimpleScopedEnvExtension___rarg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_DiscrTree_0__Lean_Meta_DiscrTree_insertAux___at_Lean_Meta_addSimpTheoremEntry___spec__9(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_forallTelescopeReducing___at_Lean_Meta_getParamNames___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_panic___at_Lean_mkApp___spec__1(lean_object*); static lean_object* l_Lean_Meta_mkSimpAttr___lambda__1___closed__6; static lean_object* l_Lean_Meta_mkSimpAttr___lambda__1___closed__25; LEAN_EXPORT lean_object* l_Lean_Meta_SimpTheorems_erase___at_Lean_Meta_mkSimpAttr___spec__2___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -176,7 +177,6 @@ LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insertAux_traverse___at_Lean_Me static size_t l_Std_PersistentHashMap_findAux___at_Lean_Meta_addSimpTheoremEntry___spec__3___closed__2; lean_object* lean_array_fset(lean_object*, lean_object*, lean_object*); lean_object* l_List_mapM___at___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkFun___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_panic___at_Lean_Expr_getRevArg_x21___spec__1(lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentHashMap_contains___at_Lean_Meta_SimpTheorems_erase___spec__1___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_getSimpTheorems___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_mkSimpExt___closed__1; @@ -11676,7 +11676,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_Meta_SimpTheorem_getValue___closed__1; x_2 = l_Lean_Meta_SimpTheorem_getValue___closed__2; -x_3 = lean_unsigned_to_nat(1001u); +x_3 = lean_unsigned_to_nat(1008u); x_4 = lean_unsigned_to_nat(20u); x_5 = l_Lean_Meta_SimpTheorem_getValue___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -11879,7 +11879,7 @@ lean_object* x_62; lean_object* x_63; lean_object* x_64; x_62 = lean_ctor_get(x_41, 0); lean_dec(x_62); x_63 = l_Lean_Meta_SimpTheorem_getValue___closed__4; -x_64 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_63); +x_64 = l_panic___at_Lean_mkApp___spec__1(x_63); lean_ctor_set(x_41, 0, x_64); return x_41; } @@ -11890,7 +11890,7 @@ x_65 = lean_ctor_get(x_41, 1); lean_inc(x_65); lean_dec(x_41); x_66 = l_Lean_Meta_SimpTheorem_getValue___closed__4; -x_67 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_66); +x_67 = l_panic___at_Lean_mkApp___spec__1(x_66); x_68 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_68, 0, x_67); lean_ctor_set(x_68, 1, x_65); @@ -11981,7 +11981,7 @@ if (lean_is_exclusive(x_73)) { x_85 = lean_box(0); } x_86 = l_Lean_Meta_SimpTheorem_getValue___closed__4; -x_87 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_86); +x_87 = l_panic___at_Lean_mkApp___spec__1(x_86); if (lean_is_scalar(x_85)) { x_88 = lean_alloc_ctor(0, 2, 0); } else { diff --git a/stage0/stdlib/Lean/Meta/Tactic/Split.c b/stage0/stdlib/Lean/Meta/Tactic/Split.c index fe6385b5a3..cd824bc73b 100644 --- a/stage0/stdlib/Lean/Meta/Tactic/Split.c +++ b/stage0/stdlib/Lean/Meta/Tactic/Split.c @@ -4953,6 +4953,7 @@ lean_object* x_31; lean_object* x_32; uint8_t x_33; lean_dec(x_1); x_31 = l_Lean_Meta_Split_findSplit_x3f_isCandidate___closed__4; x_32 = l_Lean_Expr_getRevArg_x21(x_4, x_31); +lean_dec(x_4); x_33 = l_Lean_Expr_hasLooseBVars(x_32); lean_dec(x_32); if (x_33 == 0) @@ -4977,6 +4978,7 @@ lean_object* x_38; lean_object* x_39; uint8_t x_40; lean_dec(x_1); x_38 = l_Lean_Meta_Split_findSplit_x3f_isCandidate___closed__4; x_39 = l_Lean_Expr_getRevArg_x21(x_4, x_38); +lean_dec(x_4); x_40 = l_Lean_Expr_hasLooseBVars(x_39); lean_dec(x_39); if (x_40 == 0) @@ -5144,7 +5146,6 @@ else { lean_object* x_13; lean_object* x_14; lean_object* x_15; x_13 = l_Lean_Meta_Split_findSplit_x3f_isCandidate___closed__4; -lean_inc(x_10); x_14 = l_Lean_Expr_getRevArg_x21(x_10, x_13); x_15 = l_Lean_Meta_Split_findSplit_x3f_go(x_1, x_2, x_3, x_14); if (lean_obj_tag(x_15) == 0) @@ -5179,7 +5180,6 @@ else lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_dec(x_4); x_19 = l_Lean_Meta_Split_findSplit_x3f_isCandidate___closed__4; -lean_inc(x_10); x_20 = l_Lean_Expr_getRevArg_x21(x_10, x_19); x_21 = l_Lean_Meta_Split_findSplit_x3f_go(x_1, x_2, x_3, x_20); if (lean_obj_tag(x_21) == 0) @@ -5234,7 +5234,6 @@ else { lean_object* x_29; lean_object* x_30; lean_object* x_31; x_29 = l_Lean_Meta_Split_findSplit_x3f_isCandidate___closed__4; -lean_inc(x_25); x_30 = l_Lean_Expr_getRevArg_x21(x_25, x_29); x_31 = l_Lean_Meta_Split_findSplit_x3f_go(x_1, x_2, x_3, x_30); if (lean_obj_tag(x_31) == 0) @@ -5272,7 +5271,6 @@ else lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_dec(x_4); x_36 = l_Lean_Meta_Split_findSplit_x3f_isCandidate___closed__4; -lean_inc(x_25); x_37 = l_Lean_Expr_getRevArg_x21(x_25, x_36); x_38 = l_Lean_Meta_Split_findSplit_x3f_go(x_1, x_2, x_3, x_37); if (lean_obj_tag(x_38) == 0) diff --git a/stage0/stdlib/Lean/Meta/Tactic/SplitIf.c b/stage0/stdlib/Lean/Meta/Tactic/SplitIf.c index 99306e533f..876c294da7 100644 --- a/stage0/stdlib/Lean/Meta/Tactic/SplitIf.c +++ b/stage0/stdlib/Lean/Meta/Tactic/SplitIf.c @@ -2996,7 +2996,6 @@ x_3 = l_Lean_Expr_isDIte(x_1); if (x_3 == 0) { uint8_t x_4; -lean_dec(x_1); x_4 = 0; return x_4; } @@ -3073,6 +3072,7 @@ lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; x_6 = lean_ctor_get(x_3, 0); x_7 = l_Lean_Meta_SplitIf_findIfToSplit_x3f___lambda__1___closed__2; x_8 = l_Lean_Expr_getRevArg_x21(x_6, x_7); +lean_dec(x_6); lean_inc(x_8); x_9 = l_Lean_Meta_SplitIf_findIfToSplit_x3f(x_8); if (lean_obj_tag(x_9) == 0) @@ -3110,6 +3110,7 @@ lean_inc(x_13); lean_dec(x_3); x_14 = l_Lean_Meta_SplitIf_findIfToSplit_x3f___lambda__1___closed__2; x_15 = l_Lean_Expr_getRevArg_x21(x_13, x_14); +lean_dec(x_13); lean_inc(x_15); x_16 = l_Lean_Meta_SplitIf_findIfToSplit_x3f(x_15); if (lean_obj_tag(x_16) == 0) @@ -3149,6 +3150,7 @@ _start: { uint8_t x_2; lean_object* x_3; x_2 = l_Lean_Meta_SplitIf_findIfToSplit_x3f___lambda__1(x_1); +lean_dec(x_1); x_3 = lean_box(x_2); return x_3; } diff --git a/stage0/stdlib/Lean/Meta/Tactic/Util.c b/stage0/stdlib/Lean/Meta/Tactic/Util.c index d893318c15..dc72f66dca 100644 --- a/stage0/stdlib/Lean/Meta/Tactic/Util.c +++ b/stage0/stdlib/Lean/Meta/Tactic/Util.c @@ -35,7 +35,7 @@ lean_object* lean_name_mk_string(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_throwTacticEx(lean_object*); lean_object* lean_array_uget(lean_object*, size_t); static lean_object* l_Lean_throwMaxRecDepthAt___at_Lean_Meta_saturate_go___spec__2___closed__2; -uint64_t l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1732_(lean_object*); +uint64_t l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1754_(lean_object*); lean_object* l_Std_HashMapImp_find_x3f___at_Lean_Meta_ToHide_visitVisibleExpr_visit___spec__1(lean_object*, lean_object*); static lean_object* l_Lean_Meta_checkNotAssigned___closed__3; extern lean_object* l_Lean_maxRecDepthErrorMessage; @@ -1502,7 +1502,7 @@ lean_inc(x_3); x_4 = lean_ctor_get(x_1, 1); lean_inc(x_4); x_5 = lean_array_get_size(x_4); -x_6 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1732_(x_2); +x_6 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1754_(x_2); x_7 = lean_uint64_to_usize(x_6); x_8 = lean_usize_modn(x_7, x_5); lean_dec(x_5); @@ -3247,7 +3247,7 @@ lean_object* x_4; lean_object* x_5; lean_object* x_6; uint64_t x_7; size_t x_8; x_4 = lean_ctor_get(x_2, 0); x_5 = lean_ctor_get(x_2, 1); x_6 = lean_array_get_size(x_1); -x_7 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1732_(x_4); +x_7 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1754_(x_4); x_8 = lean_uint64_to_usize(x_7); x_9 = lean_usize_modn(x_8, x_6); lean_dec(x_6); @@ -3267,7 +3267,7 @@ lean_inc(x_14); lean_inc(x_13); lean_dec(x_2); x_15 = lean_array_get_size(x_1); -x_16 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1732_(x_13); +x_16 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1754_(x_13); x_17 = lean_uint64_to_usize(x_16); x_18 = lean_usize_modn(x_17, x_15); lean_dec(x_15); @@ -3407,7 +3407,7 @@ lean_object* x_4; lean_object* x_5; lean_object* x_6; uint64_t x_7; size_t x_8; x_4 = lean_ctor_get(x_1, 0); x_5 = lean_ctor_get(x_1, 1); x_6 = lean_array_get_size(x_5); -x_7 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1732_(x_2); +x_7 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1754_(x_2); x_8 = lean_uint64_to_usize(x_7); x_9 = lean_usize_modn(x_8, x_6); x_10 = lean_array_uget(x_5, x_9); @@ -3459,7 +3459,7 @@ lean_inc(x_21); lean_inc(x_20); lean_dec(x_1); x_22 = lean_array_get_size(x_21); -x_23 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1732_(x_2); +x_23 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1754_(x_2); x_24 = lean_uint64_to_usize(x_23); x_25 = lean_usize_modn(x_24, x_22); x_26 = lean_array_uget(x_21, x_25); @@ -5070,7 +5070,7 @@ _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; uint8_t x_9; x_3 = lean_ctor_get(x_1, 1); x_4 = lean_array_get_size(x_3); -x_5 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1732_(x_2); +x_5 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1754_(x_2); x_6 = lean_uint64_to_usize(x_5); x_7 = lean_usize_modn(x_6, x_4); lean_dec(x_4); diff --git a/stage0/stdlib/Lean/Meta/Transform.c b/stage0/stdlib/Lean/Meta/Transform.c index c059263739..23c50eb00d 100644 --- a/stage0/stdlib/Lean/Meta/Transform.c +++ b/stage0/stdlib/Lean/Meta/Transform.c @@ -42,6 +42,7 @@ LEAN_EXPORT lean_object* l_Lean_Meta_transform_visit_visitLet___rarg___lambda__4 LEAN_EXPORT lean_object* l_Lean_setEnv___at_Lean_Meta_unfoldDeclsFrom___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_uset(lean_object*, size_t, lean_object*); LEAN_EXPORT lean_object* l_Lean_Core_transform_visit_visitPost___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_panic___at_Lean_mkApp___spec__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_Core_betaReduce___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withLocalDeclImp___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Core_transform_visit___rarg___lambda__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -112,7 +113,6 @@ lean_object* l_ST_Prim_Ref_get___boxed(lean_object*, lean_object*, lean_object*, lean_object* l_Std_mkHashMapImp___rarg(lean_object*); LEAN_EXPORT lean_object* l_Lean_Core_transform_visit_visitPost(lean_object*); static lean_object* l_Lean_Core_transform_visit___rarg___lambda__4___closed__2; -lean_object* l_panic___at_Lean_Expr_getRevArg_x21___spec__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_Core_transform_visit___rarg___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_EXPORT lean_object* l_ReaderT_bind___at_Lean_Meta_transform_visit___spec__3___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Core_transform___rarg___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*); @@ -674,7 +674,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_Core_transform_visit___rarg___lambda__2___closed__1; x_2 = l_Lean_Core_transform_visit___rarg___lambda__2___closed__2; -x_3 = lean_unsigned_to_nat(1060u); +x_3 = lean_unsigned_to_nat(1067u); x_4 = lean_unsigned_to_nat(19u); x_5 = l_Lean_Core_transform_visit___rarg___lambda__2___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -726,7 +726,7 @@ lean_dec(x_10); lean_dec(x_9); lean_dec(x_1); x_24 = l_Lean_Core_transform_visit___rarg___lambda__2___closed__4; -x_25 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_24); +x_25 = l_panic___at_Lean_mkApp___spec__1(x_24); x_26 = l_Lean_Core_transform_visit_visitPost___rarg(x_2, x_3, x_4, x_5, x_6, x_7, x_25, x_8); return x_26; } @@ -780,7 +780,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_Core_transform_visit___rarg___lambda__2___closed__1; x_2 = l_Lean_Core_transform_visit___rarg___lambda__4___closed__1; -x_3 = lean_unsigned_to_nat(1046u); +x_3 = lean_unsigned_to_nat(1053u); x_4 = lean_unsigned_to_nat(23u); x_5 = l_Lean_Core_transform_visit___rarg___lambda__4___closed__2; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -832,7 +832,7 @@ lean_dec(x_10); lean_dec(x_9); lean_dec(x_1); x_24 = l_Lean_Core_transform_visit___rarg___lambda__4___closed__3; -x_25 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_24); +x_25 = l_panic___at_Lean_mkApp___spec__1(x_24); x_26 = l_Lean_Core_transform_visit_visitPost___rarg(x_2, x_3, x_4, x_5, x_6, x_7, x_25, x_8); return x_26; } @@ -886,7 +886,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_Core_transform_visit___rarg___lambda__2___closed__1; x_2 = l_Lean_Core_transform_visit___rarg___lambda__6___closed__1; -x_3 = lean_unsigned_to_nat(1069u); +x_3 = lean_unsigned_to_nat(1076u); x_4 = lean_unsigned_to_nat(22u); x_5 = l_Lean_Core_transform_visit___rarg___lambda__6___closed__2; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -939,7 +939,7 @@ lean_dec(x_10); lean_dec(x_9); lean_dec(x_1); x_23 = l_Lean_Core_transform_visit___rarg___lambda__6___closed__3; -x_24 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_23); +x_24 = l_panic___at_Lean_mkApp___spec__1(x_23); x_25 = l_Lean_Core_transform_visit_visitPost___rarg(x_2, x_3, x_4, x_5, x_6, x_7, x_24, x_8); return x_25; } @@ -1023,7 +1023,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_Core_transform_visit___rarg___lambda__2___closed__1; x_2 = l_Lean_Core_transform_visit___rarg___lambda__9___closed__1; -x_3 = lean_unsigned_to_nat(1027u); +x_3 = lean_unsigned_to_nat(1034u); x_4 = lean_unsigned_to_nat(19u); x_5 = l_Lean_Core_transform_visit___rarg___lambda__9___closed__2; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -1068,7 +1068,7 @@ lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_dec(x_9); lean_dec(x_1); x_19 = l_Lean_Core_transform_visit___rarg___lambda__9___closed__3; -x_20 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_19); +x_20 = l_panic___at_Lean_mkApp___spec__1(x_19); x_21 = l_Lean_Core_transform_visit_visitPost___rarg(x_2, x_3, x_4, x_5, x_6, x_7, x_20, x_8); return x_21; } @@ -1096,7 +1096,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_Core_transform_visit___rarg___lambda__2___closed__1; x_2 = l_Lean_Core_transform_visit___rarg___lambda__10___closed__1; -x_3 = lean_unsigned_to_nat(1032u); +x_3 = lean_unsigned_to_nat(1039u); x_4 = lean_unsigned_to_nat(20u); x_5 = l_Lean_Core_transform_visit___rarg___lambda__10___closed__2; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -1144,7 +1144,7 @@ lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_dec(x_9); lean_dec(x_1); x_20 = l_Lean_Core_transform_visit___rarg___lambda__10___closed__3; -x_21 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_20); +x_21 = l_panic___at_Lean_mkApp___spec__1(x_20); x_22 = l_Lean_Core_transform_visit_visitPost___rarg(x_2, x_3, x_4, x_5, x_6, x_7, x_21, x_8); return x_22; } @@ -4608,7 +4608,7 @@ lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_dec(x_10); lean_dec(x_1); x_20 = l_Lean_Core_transform_visit___rarg___lambda__9___closed__3; -x_21 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_20); +x_21 = l_panic___at_Lean_mkApp___spec__1(x_20); x_22 = l_Lean_Meta_transform_visit_visitPost___rarg(x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_21, x_9); return x_22; } @@ -4655,7 +4655,7 @@ lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_dec(x_10); lean_dec(x_1); x_21 = l_Lean_Core_transform_visit___rarg___lambda__10___closed__3; -x_22 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_21); +x_22 = l_panic___at_Lean_mkApp___spec__1(x_21); x_23 = l_Lean_Meta_transform_visit_visitPost___rarg(x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_22, x_9); return x_23; } diff --git a/stage0/stdlib/Lean/Meta/WHNF.c b/stage0/stdlib/Lean/Meta/WHNF.c index 069d0a1895..a431ef070f 100644 --- a/stage0/stdlib/Lean/Meta/WHNF.c +++ b/stage0/stdlib/Lean/Meta/WHNF.c @@ -9656,6 +9656,7 @@ x_31 = lean_unsigned_to_nat(1u); x_32 = lean_nat_sub(x_30, x_31); lean_dec(x_30); x_33 = l_Lean_Expr_getRevArg_x21(x_12, x_32); +lean_dec(x_12); lean_ctor_set(x_19, 0, x_33); lean_ctor_set(x_15, 0, x_19); return x_15; @@ -9712,6 +9713,7 @@ x_44 = lean_unsigned_to_nat(1u); x_45 = lean_nat_sub(x_43, x_44); lean_dec(x_43); x_46 = l_Lean_Expr_getRevArg_x21(x_12, x_45); +lean_dec(x_12); x_47 = lean_alloc_ctor(1, 1, 0); lean_ctor_set(x_47, 0, x_46); lean_ctor_set(x_15, 0, x_47); @@ -9801,6 +9803,7 @@ x_66 = lean_unsigned_to_nat(1u); x_67 = lean_nat_sub(x_65, x_66); lean_dec(x_65); x_68 = l_Lean_Expr_getRevArg_x21(x_12, x_67); +lean_dec(x_12); if (lean_is_scalar(x_56)) { x_69 = lean_alloc_ctor(1, 1, 0); } else { @@ -9940,6 +9943,7 @@ x_98 = lean_unsigned_to_nat(1u); x_99 = lean_nat_sub(x_97, x_98); lean_dec(x_97); x_100 = l_Lean_Expr_getRevArg_x21(x_76, x_99); +lean_dec(x_76); if (lean_is_scalar(x_88)) { x_101 = lean_alloc_ctor(1, 1, 0); } else { diff --git a/stage0/stdlib/Lean/MetavarContext.c b/stage0/stdlib/Lean/MetavarContext.c index 0baf40d85c..fb1e6885aa 100644 --- a/stage0/stdlib/Lean/MetavarContext.c +++ b/stage0/stdlib/Lean/MetavarContext.c @@ -171,6 +171,7 @@ LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insertAtCollisionNodeAux___at_L LEAN_EXPORT lean_object* l_Std_PersistentArray_anyMAux___at_Lean_MetavarContext_localDeclDependsOn___spec__21___boxed(lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Std_PersistentArray_anyMAux___at_Lean_MetavarContext_exprDependsOn_x27___spec__5(lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insertAtCollisionNodeAux___at_Lean_MetavarContext_assignExpr___spec__4(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_panic___at_Lean_mkApp___spec__1(lean_object*); LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_MetavarContext_localDeclDependsOn_x27___spec__34(lean_object*, lean_object*, size_t, size_t); static lean_object* l_Lean_MetavarContext_instantiateExprMVars___rarg___lambda__14___closed__2; LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at_Lean_MetavarContext_instantiateExprMVars___spec__2___boxed(lean_object*, lean_object*); @@ -589,7 +590,6 @@ LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_MetavarConte LEAN_EXPORT lean_object* l_Lean_MetavarContext_MkBinding_elimMVarDeps(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_MetavarContext_MkBinding_instToStringException___spec__1(lean_object*, size_t, size_t, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_MetavarContext_instantiateMVars___spec__32___rarg(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_panic___at_Lean_Expr_getRevArg_x21___spec__1(lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insertAux_traverse___at_Lean_MetavarContext_assignDelayed___spec__3(size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_StateRefT_x27_get___at_Lean_MetavarContext_instMonadMCtxStateRefT_x27MetavarContextST___spec__1___rarg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_MetavarContext_MkBinding_collectForwardDeps___spec__60___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -15808,7 +15808,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_MetavarContext_instantiateExprMVars___rarg___lambda__10___closed__1; x_2 = l_Lean_MetavarContext_instantiateExprMVars___rarg___lambda__10___closed__2; -x_3 = lean_unsigned_to_nat(1010u); +x_3 = lean_unsigned_to_nat(1017u); x_4 = lean_unsigned_to_nat(16u); x_5 = l_Lean_MetavarContext_instantiateExprMVars___rarg___lambda__10___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -15862,7 +15862,7 @@ x_15 = lean_ctor_get(x_14, 1); lean_inc(x_15); lean_dec(x_14); x_16 = l_Lean_MetavarContext_instantiateExprMVars___rarg___lambda__10___closed__4; -x_17 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_16); +x_17 = l_panic___at_Lean_mkApp___spec__1(x_16); x_18 = lean_apply_2(x_15, lean_box(0), x_17); return x_18; } @@ -15890,7 +15890,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_MetavarContext_instantiateExprMVars___rarg___lambda__10___closed__1; x_2 = l_Lean_MetavarContext_instantiateExprMVars___rarg___lambda__11___closed__1; -x_3 = lean_unsigned_to_nat(1001u); +x_3 = lean_unsigned_to_nat(1008u); x_4 = lean_unsigned_to_nat(20u); x_5 = l_Lean_MetavarContext_instantiateExprMVars___rarg___lambda__11___closed__2; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -15947,7 +15947,7 @@ x_16 = lean_ctor_get(x_15, 1); lean_inc(x_16); lean_dec(x_15); x_17 = l_Lean_MetavarContext_instantiateExprMVars___rarg___lambda__11___closed__3; -x_18 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_17); +x_18 = l_panic___at_Lean_mkApp___spec__1(x_17); x_19 = lean_apply_2(x_16, lean_box(0), x_18); return x_19; } @@ -15975,7 +15975,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_MetavarContext_instantiateExprMVars___rarg___lambda__10___closed__1; x_2 = l_Lean_MetavarContext_instantiateExprMVars___rarg___lambda__12___closed__1; -x_3 = lean_unsigned_to_nat(1060u); +x_3 = lean_unsigned_to_nat(1067u); x_4 = lean_unsigned_to_nat(19u); x_5 = l_Lean_MetavarContext_instantiateExprMVars___rarg___lambda__12___closed__2; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -16039,7 +16039,7 @@ x_21 = lean_ctor_get(x_20, 1); lean_inc(x_21); lean_dec(x_20); x_22 = l_Lean_MetavarContext_instantiateExprMVars___rarg___lambda__12___closed__3; -x_23 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_22); +x_23 = l_panic___at_Lean_mkApp___spec__1(x_22); x_24 = lean_apply_2(x_21, lean_box(0), x_23); return x_24; } @@ -16081,7 +16081,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_MetavarContext_instantiateExprMVars___rarg___lambda__10___closed__1; x_2 = l_Lean_MetavarContext_instantiateExprMVars___rarg___lambda__14___closed__1; -x_3 = lean_unsigned_to_nat(1046u); +x_3 = lean_unsigned_to_nat(1053u); x_4 = lean_unsigned_to_nat(23u); x_5 = l_Lean_MetavarContext_instantiateExprMVars___rarg___lambda__14___closed__2; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -16145,7 +16145,7 @@ x_21 = lean_ctor_get(x_20, 1); lean_inc(x_21); lean_dec(x_20); x_22 = l_Lean_MetavarContext_instantiateExprMVars___rarg___lambda__14___closed__3; -x_23 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_22); +x_23 = l_panic___at_Lean_mkApp___spec__1(x_22); x_24 = lean_apply_2(x_21, lean_box(0), x_23); return x_24; } @@ -16187,7 +16187,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_MetavarContext_instantiateExprMVars___rarg___lambda__10___closed__1; x_2 = l_Lean_MetavarContext_instantiateExprMVars___rarg___lambda__16___closed__1; -x_3 = lean_unsigned_to_nat(1069u); +x_3 = lean_unsigned_to_nat(1076u); x_4 = lean_unsigned_to_nat(22u); x_5 = l_Lean_MetavarContext_instantiateExprMVars___rarg___lambda__16___closed__2; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -16252,7 +16252,7 @@ x_20 = lean_ctor_get(x_19, 1); lean_inc(x_20); lean_dec(x_19); x_21 = l_Lean_MetavarContext_instantiateExprMVars___rarg___lambda__16___closed__3; -x_22 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_21); +x_22 = l_panic___at_Lean_mkApp___spec__1(x_21); x_23 = lean_apply_2(x_20, lean_box(0), x_22); return x_23; } @@ -16320,7 +16320,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_MetavarContext_instantiateExprMVars___rarg___lambda__10___closed__1; x_2 = l_Lean_MetavarContext_instantiateExprMVars___rarg___lambda__19___closed__1; -x_3 = lean_unsigned_to_nat(1027u); +x_3 = lean_unsigned_to_nat(1034u); x_4 = lean_unsigned_to_nat(19u); x_5 = l_Lean_MetavarContext_instantiateExprMVars___rarg___lambda__19___closed__2; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -16377,7 +16377,7 @@ x_16 = lean_ctor_get(x_15, 1); lean_inc(x_16); lean_dec(x_15); x_17 = l_Lean_MetavarContext_instantiateExprMVars___rarg___lambda__19___closed__3; -x_18 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_17); +x_18 = l_panic___at_Lean_mkApp___spec__1(x_17); x_19 = lean_apply_2(x_16, lean_box(0), x_18); return x_19; } @@ -16405,7 +16405,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_MetavarContext_instantiateExprMVars___rarg___lambda__10___closed__1; x_2 = l_Lean_MetavarContext_instantiateExprMVars___rarg___lambda__20___closed__1; -x_3 = lean_unsigned_to_nat(1032u); +x_3 = lean_unsigned_to_nat(1039u); x_4 = lean_unsigned_to_nat(20u); x_5 = l_Lean_MetavarContext_instantiateExprMVars___rarg___lambda__20___closed__2; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -16465,7 +16465,7 @@ x_17 = lean_ctor_get(x_16, 1); lean_inc(x_17); lean_dec(x_16); x_18 = l_Lean_MetavarContext_instantiateExprMVars___rarg___lambda__20___closed__3; -x_19 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_18); +x_19 = l_panic___at_Lean_mkApp___spec__1(x_18); x_20 = lean_apply_2(x_17, lean_box(0), x_19); return x_20; } diff --git a/stage0/stdlib/Lean/ParserCompiler.c b/stage0/stdlib/Lean/ParserCompiler.c index d315afe4ac..e5cf0e8c48 100644 --- a/stage0/stdlib/Lean/ParserCompiler.c +++ b/stage0/stdlib/Lean/ParserCompiler.c @@ -1288,6 +1288,7 @@ x_30 = lean_unsigned_to_nat(1u); x_31 = lean_nat_sub(x_29, x_30); lean_dec(x_29); x_32 = l_Lean_Expr_getRevArg_x21(x_8, x_31); +lean_dec(x_8); x_33 = l_Lean_Meta_reduceEval___at_Lean_ParserCompiler_parserNodeKind_x3f___spec__1(x_32, x_2, x_3, x_4, x_5, x_9); if (lean_obj_tag(x_33) == 0) { @@ -1359,6 +1360,7 @@ x_50 = lean_unsigned_to_nat(1u); x_51 = lean_nat_sub(x_49, x_50); lean_dec(x_49); x_52 = l_Lean_Expr_getRevArg_x21(x_8, x_51); +lean_dec(x_8); x_53 = l_Lean_Meta_reduceEval___at_Lean_ParserCompiler_parserNodeKind_x3f___spec__1(x_52, x_2, x_3, x_4, x_5, x_9); if (lean_obj_tag(x_53) == 0) { @@ -1430,6 +1432,7 @@ x_70 = lean_unsigned_to_nat(1u); x_71 = lean_nat_sub(x_69, x_70); lean_dec(x_69); x_72 = l_Lean_Expr_getRevArg_x21(x_8, x_71); +lean_dec(x_8); x_73 = l_Lean_Meta_reduceEval___at_Lean_ParserCompiler_parserNodeKind_x3f___spec__1(x_72, x_2, x_3, x_4, x_5, x_9); if (lean_obj_tag(x_73) == 0) { @@ -1501,6 +1504,7 @@ lean_dec(x_88); x_91 = lean_nat_sub(x_90, x_89); lean_dec(x_90); x_92 = l_Lean_Expr_getRevArg_x21(x_8, x_91); +lean_dec(x_8); x_1 = x_92; x_6 = x_9; goto _start; @@ -1518,6 +1522,7 @@ lean_dec(x_95); x_98 = lean_nat_sub(x_97, x_96); lean_dec(x_97); x_99 = l_Lean_Expr_getRevArg_x21(x_8, x_98); +lean_dec(x_8); x_100 = l_Lean_Meta_reduceEval___at_Lean_ParserCompiler_parserNodeKind_x3f___spec__1(x_99, x_2, x_3, x_4, x_5, x_9); if (lean_obj_tag(x_100) == 0) { diff --git a/stage0/stdlib/Lean/PrettyPrinter/Delaborator/Builtins.c b/stage0/stdlib/Lean/PrettyPrinter/Delaborator/Builtins.c index d680229e85..690a98599b 100644 --- a/stage0/stdlib/Lean/PrettyPrinter/Delaborator/Builtins.c +++ b/stage0/stdlib/Lean/PrettyPrinter/Delaborator/Builtins.c @@ -25283,7 +25283,6 @@ x_15 = lean_nat_sub(x_10, x_14); x_16 = lean_unsigned_to_nat(1u); x_17 = lean_nat_sub(x_15, x_16); lean_dec(x_15); -lean_inc(x_1); x_18 = l_Lean_Expr_getRevArg_x21(x_1, x_17); if (lean_obj_tag(x_18) == 9) { @@ -25301,7 +25300,6 @@ x_21 = lean_unsigned_to_nat(4u); x_22 = lean_nat_sub(x_10, x_21); x_23 = lean_nat_sub(x_22, x_16); lean_dec(x_22); -lean_inc(x_1); x_24 = l_Lean_Expr_getRevArg_x21(x_1, x_23); if (lean_obj_tag(x_24) == 9) { @@ -25321,6 +25319,7 @@ lean_dec(x_10); x_29 = lean_nat_sub(x_28, x_16); lean_dec(x_28); x_30 = l_Lean_Expr_getRevArg_x21(x_1, x_29); +lean_dec(x_1); if (lean_obj_tag(x_30) == 4) { lean_object* x_31; diff --git a/stage0/stdlib/Lean/Server/References.c b/stage0/stdlib/Lean/Server/References.c index 71155f687a..dcb9f67b1b 100644 --- a/stage0/stdlib/Lean/Server/References.c +++ b/stage0/stdlib/Lean/Server/References.c @@ -35,7 +35,7 @@ uint8_t lean_usize_dec_eq(size_t, size_t); LEAN_EXPORT lean_object* l_Std_HashMapImp_erase___at_Lean_Server_References_removeWorkerRefs___spec__1(lean_object*, lean_object*); lean_object* lean_array_uget(lean_object*, size_t); LEAN_EXPORT lean_object* l_Std_AssocList_erase___at_Lean_Server_References_removeWorkerRefs___spec__2(lean_object*, lean_object*); -uint64_t l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1732_(lean_object*); +uint64_t l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1754_(lean_object*); lean_object* l_Array_append___rarg(lean_object*, lean_object*); uint64_t l___private_Lean_Data_Lsp_Internal_0__Lean_Lsp_hashRefIdent____x40_Lean_Data_Lsp_Internal___hyg_106_(lean_object*); LEAN_EXPORT lean_object* l_Std_HashMapImp_moveEntries___at_Lean_Server_combineFvars___spec__8(lean_object*, lean_object*, lean_object*); @@ -1827,7 +1827,7 @@ x_3 = lean_ctor_get(x_1, 1); lean_inc(x_3); lean_dec(x_1); x_4 = lean_array_get_size(x_3); -x_5 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1732_(x_2); +x_5 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1754_(x_2); x_6 = lean_uint64_to_usize(x_5); x_7 = lean_usize_modn(x_6, x_4); lean_dec(x_4); @@ -2346,7 +2346,7 @@ lean_object* x_4; lean_object* x_5; lean_object* x_6; uint64_t x_7; size_t x_8; x_4 = lean_ctor_get(x_2, 0); x_5 = lean_ctor_get(x_2, 2); x_6 = lean_array_get_size(x_1); -x_7 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1732_(x_4); +x_7 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1754_(x_4); x_8 = lean_uint64_to_usize(x_7); x_9 = lean_usize_modn(x_8, x_6); lean_dec(x_6); @@ -2368,7 +2368,7 @@ lean_inc(x_14); lean_inc(x_13); lean_dec(x_2); x_16 = lean_array_get_size(x_1); -x_17 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1732_(x_13); +x_17 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1754_(x_13); x_18 = lean_uint64_to_usize(x_17); x_19 = lean_usize_modn(x_18, x_16); lean_dec(x_16); @@ -2518,7 +2518,7 @@ lean_object* x_5; lean_object* x_6; lean_object* x_7; uint64_t x_8; size_t x_9; x_5 = lean_ctor_get(x_1, 0); x_6 = lean_ctor_get(x_1, 1); x_7 = lean_array_get_size(x_6); -x_8 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1732_(x_2); +x_8 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1754_(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); @@ -2571,7 +2571,7 @@ lean_inc(x_23); lean_inc(x_22); lean_dec(x_1); x_24 = lean_array_get_size(x_23); -x_25 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1732_(x_2); +x_25 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1754_(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); diff --git a/stage0/stdlib/Lean/Util.c b/stage0/stdlib/Lean/Util.c index 1610fe4871..8d2fcb482b 100644 --- a/stage0/stdlib/Lean/Util.c +++ b/stage0/stdlib/Lean/Util.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Util -// Imports: Init Lean.Util.CollectFVars Lean.Util.CollectLevelParams Lean.Util.CollectMVars Lean.Util.FindMVar Lean.Util.FindLevelMVar Lean.Util.MonadCache Lean.Util.PPExt Lean.Util.Path Lean.Util.Profile Lean.Util.RecDepth Lean.Util.Sorry Lean.Util.Trace Lean.Util.FindExpr Lean.Util.ReplaceExpr Lean.Util.ForEachExpr Lean.Util.ReplaceLevel Lean.Util.FoldConsts Lean.Util.SCC Lean.Util.OccursCheck Lean.Util.Paths +// Imports: Init Lean.Util.CollectFVars Lean.Util.CollectLevelParams Lean.Util.CollectMVars Lean.Util.FindMVar Lean.Util.FindLevelMVar Lean.Util.MonadCache Lean.Util.PPExt Lean.Util.Path Lean.Util.Profile Lean.Util.RecDepth Lean.Util.Sorry Lean.Util.Trace Lean.Util.FindExpr Lean.Util.ReplaceExpr Lean.Util.ForEachExpr Lean.Util.ReplaceLevel Lean.Util.FoldConsts Lean.Util.SCC Lean.Util.OccursCheck Lean.Util.Paths Lean.Util.HasConstCache #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -34,6 +34,7 @@ lean_object* initialize_Lean_Util_FoldConsts(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Util_SCC(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Util_OccursCheck(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Util_Paths(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Util_HasConstCache(uint8_t builtin, lean_object*); static bool _G_initialized = false; LEAN_EXPORT lean_object* initialize_Lean_Util(uint8_t builtin, lean_object* w) { lean_object * res; @@ -102,6 +103,9 @@ lean_dec_ref(res); res = initialize_Lean_Util_Paths(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); +res = initialize_Lean_Util_HasConstCache(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); return lean_io_result_mk_ok(lean_box(0)); } #ifdef __cplusplus diff --git a/stage0/stdlib/Lean/Util/HasConstCache.c b/stage0/stdlib/Lean/Util/HasConstCache.c new file mode 100644 index 0000000000..1c993a90eb --- /dev/null +++ b/stage0/stdlib/Lean/Util/HasConstCache.c @@ -0,0 +1,835 @@ +// Lean compiler output +// Module: Lean.Util.HasConstCache +// Imports: Init Lean.Expr +#include +#if defined(__clang__) +#pragma clang diagnostic ignored "-Wunused-parameter" +#pragma clang diagnostic ignored "-Wunused-label" +#elif defined(__GNUC__) && !defined(__CLANG__) +#pragma GCC diagnostic ignored "-Wunused-parameter" +#pragma GCC diagnostic ignored "-Wunused-label" +#pragma GCC diagnostic ignored "-Wunused-but-set-variable" +#endif +#ifdef __cplusplus +extern "C" { +#endif +LEAN_EXPORT lean_object* l_Lean_HasConstCache_containsUnsafe(lean_object*, lean_object*, lean_object*); +lean_object* l___private_Std_Data_HashMap_0__Std_numBucketsForCapacity(lean_object*); +LEAN_EXPORT lean_object* l_Lean_HasConstCache_containsUnsafe___boxed(lean_object*, lean_object*, lean_object*); +lean_object* lean_array_uget(lean_object*, size_t); +LEAN_EXPORT lean_object* l_Lean_HasConstCache_containsUnsafe_cache___boxed(lean_object*); +lean_object* lean_array_uset(lean_object*, size_t, lean_object*); +LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at_Lean_HasConstCache_containsUnsafe___spec__2___boxed(lean_object*, lean_object*); +uint8_t lean_name_eq(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_AssocList_foldlM___at_Lean_HasConstCache_containsUnsafe_cache___spec__4(lean_object*, lean_object*); +lean_object* lean_array_get_size(lean_object*); +LEAN_EXPORT lean_object* l_Lean_HasConstCache_containsUnsafe_cache___rarg___boxed(lean_object*, lean_object*, lean_object*); +uint8_t l_Lean_Expr_ptrEq(lean_object*, lean_object*); +lean_object* lean_nat_add(lean_object*, lean_object*); +size_t lean_uint64_to_usize(uint64_t); +LEAN_EXPORT lean_object* l_Std_HashMapImp_expand___at_Lean_HasConstCache_containsUnsafe_cache___spec__2(lean_object*, lean_object*); +lean_object* lean_array_fget(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_HashMapImp_find_x3f___at_Lean_HasConstCache_containsUnsafe___spec__1(lean_object*, lean_object*); +LEAN_EXPORT uint8_t l_Std_AssocList_contains___at_Lean_HasConstCache_containsUnsafe_cache___spec__1(lean_object*, lean_object*); +lean_object* lean_array_fset(lean_object*, lean_object*, lean_object*); +lean_object* l_Std_mkHashMapImp___rarg(lean_object*); +LEAN_EXPORT lean_object* l_Std_AssocList_contains___at_Lean_HasConstCache_containsUnsafe_cache___spec__1___boxed(lean_object*, lean_object*); +uint64_t l_Lean_Expr_hash(lean_object*); +LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at_Lean_HasConstCache_containsUnsafe___spec__2(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_HasConstCache_cache___default; +size_t lean_usize_modn(size_t, lean_object*); +LEAN_EXPORT lean_object* l_Std_AssocList_replace___at_Lean_HasConstCache_containsUnsafe_cache___spec__5(lean_object*, uint8_t, lean_object*); +uint8_t lean_nat_dec_le(lean_object*, lean_object*); +static lean_object* l_Lean_HasConstCache_cache___default___closed__1; +lean_object* lean_nat_mul(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_HasConstCache_containsUnsafe_cache___rarg(lean_object*, uint8_t, lean_object*); +LEAN_EXPORT lean_object* l_Lean_HasConstCache_containsUnsafe_cache(lean_object*); +lean_object* lean_mk_array(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_HashMapImp_moveEntries___at_Lean_HasConstCache_containsUnsafe_cache___spec__3(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_AssocList_replace___at_Lean_HasConstCache_containsUnsafe_cache___spec__5___boxed(lean_object*, lean_object*, lean_object*); +uint8_t lean_nat_dec_lt(lean_object*, lean_object*); +static lean_object* _init_l_Lean_HasConstCache_cache___default___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = lean_unsigned_to_nat(0u); +x_2 = l_Std_mkHashMapImp___rarg(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_HasConstCache_cache___default() { +_start: +{ +lean_object* x_1; +x_1 = l_Lean_HasConstCache_cache___default___closed__1; +return x_1; +} +} +LEAN_EXPORT uint8_t l_Std_AssocList_contains___at_Lean_HasConstCache_containsUnsafe_cache___spec__1(lean_object* x_1, lean_object* x_2) { +_start: +{ +if (lean_obj_tag(x_2) == 0) +{ +uint8_t x_3; +x_3 = 0; +return x_3; +} +else +{ +lean_object* x_4; lean_object* x_5; uint8_t x_6; +x_4 = lean_ctor_get(x_2, 0); +x_5 = lean_ctor_get(x_2, 2); +x_6 = l_Lean_Expr_ptrEq(x_4, x_1); +if (x_6 == 0) +{ +x_2 = x_5; +goto _start; +} +else +{ +uint8_t x_8; +x_8 = 1; +return x_8; +} +} +} +} +LEAN_EXPORT lean_object* l_Std_AssocList_foldlM___at_Lean_HasConstCache_containsUnsafe_cache___spec__4(lean_object* x_1, lean_object* x_2) { +_start: +{ +if (lean_obj_tag(x_2) == 0) +{ +return x_1; +} +else +{ +uint8_t x_3; +x_3 = !lean_is_exclusive(x_2); +if (x_3 == 0) +{ +lean_object* x_4; lean_object* x_5; lean_object* x_6; uint64_t x_7; size_t x_8; size_t x_9; lean_object* x_10; lean_object* x_11; +x_4 = lean_ctor_get(x_2, 0); +x_5 = lean_ctor_get(x_2, 2); +x_6 = lean_array_get_size(x_1); +x_7 = l_Lean_Expr_hash(x_4); +x_8 = lean_uint64_to_usize(x_7); +x_9 = lean_usize_modn(x_8, x_6); +lean_dec(x_6); +x_10 = lean_array_uget(x_1, x_9); +lean_ctor_set(x_2, 2, x_10); +x_11 = lean_array_uset(x_1, x_9, x_2); +x_1 = x_11; +x_2 = x_5; +goto _start; +} +else +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; uint64_t x_17; size_t x_18; size_t x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_13 = lean_ctor_get(x_2, 0); +x_14 = lean_ctor_get(x_2, 1); +x_15 = lean_ctor_get(x_2, 2); +lean_inc(x_15); +lean_inc(x_14); +lean_inc(x_13); +lean_dec(x_2); +x_16 = lean_array_get_size(x_1); +x_17 = l_Lean_Expr_hash(x_13); +x_18 = lean_uint64_to_usize(x_17); +x_19 = lean_usize_modn(x_18, x_16); +lean_dec(x_16); +x_20 = lean_array_uget(x_1, x_19); +x_21 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_21, 0, x_13); +lean_ctor_set(x_21, 1, x_14); +lean_ctor_set(x_21, 2, x_20); +x_22 = lean_array_uset(x_1, x_19, x_21); +x_1 = x_22; +x_2 = x_15; +goto _start; +} +} +} +} +LEAN_EXPORT lean_object* l_Std_HashMapImp_moveEntries___at_Lean_HasConstCache_containsUnsafe_cache___spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; uint8_t x_5; +x_4 = lean_array_get_size(x_2); +x_5 = lean_nat_dec_lt(x_1, x_4); +lean_dec(x_4); +if (x_5 == 0) +{ +lean_dec(x_2); +lean_dec(x_1); +return x_3; +} +else +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; +x_6 = lean_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_Lean_HasConstCache_containsUnsafe_cache___spec__4(x_3, x_6); +x_10 = lean_unsigned_to_nat(1u); +x_11 = lean_nat_add(x_1, x_10); +lean_dec(x_1); +x_1 = x_11; +x_2 = x_8; +x_3 = x_9; +goto _start; +} +} +} +LEAN_EXPORT lean_object* l_Std_HashMapImp_expand___at_Lean_HasConstCache_containsUnsafe_cache___spec__2(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; +x_3 = lean_array_get_size(x_2); +x_4 = lean_unsigned_to_nat(2u); +x_5 = lean_nat_mul(x_3, x_4); +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_Lean_HasConstCache_containsUnsafe_cache___spec__3(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_Lean_HasConstCache_containsUnsafe_cache___spec__5(lean_object* x_1, uint8_t x_2, lean_object* x_3) { +_start: +{ +if (lean_obj_tag(x_3) == 0) +{ +lean_object* x_4; +lean_dec(x_1); +x_4 = lean_box(0); +return x_4; +} +else +{ +uint8_t x_5; +x_5 = !lean_is_exclusive(x_3); +if (x_5 == 0) +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; uint8_t x_9; +x_6 = lean_ctor_get(x_3, 0); +x_7 = lean_ctor_get(x_3, 1); +x_8 = lean_ctor_get(x_3, 2); +x_9 = l_Lean_Expr_ptrEq(x_6, x_1); +if (x_9 == 0) +{ +lean_object* x_10; +x_10 = l_Std_AssocList_replace___at_Lean_HasConstCache_containsUnsafe_cache___spec__5(x_1, x_2, x_8); +lean_ctor_set(x_3, 2, x_10); +return x_3; +} +else +{ +lean_object* x_11; +lean_dec(x_7); +lean_dec(x_6); +x_11 = lean_box(x_2); +lean_ctor_set(x_3, 1, x_11); +lean_ctor_set(x_3, 0, x_1); +return x_3; +} +} +else +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; uint8_t x_15; +x_12 = lean_ctor_get(x_3, 0); +x_13 = lean_ctor_get(x_3, 1); +x_14 = lean_ctor_get(x_3, 2); +lean_inc(x_14); +lean_inc(x_13); +lean_inc(x_12); +lean_dec(x_3); +x_15 = l_Lean_Expr_ptrEq(x_12, x_1); +if (x_15 == 0) +{ +lean_object* x_16; lean_object* x_17; +x_16 = l_Std_AssocList_replace___at_Lean_HasConstCache_containsUnsafe_cache___spec__5(x_1, x_2, x_14); +x_17 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_17, 0, x_12); +lean_ctor_set(x_17, 1, x_13); +lean_ctor_set(x_17, 2, x_16); +return x_17; +} +else +{ +lean_object* x_18; lean_object* x_19; +lean_dec(x_13); +lean_dec(x_12); +x_18 = lean_box(x_2); +x_19 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_19, 0, x_1); +lean_ctor_set(x_19, 1, x_18); +lean_ctor_set(x_19, 2, x_14); +return x_19; +} +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_HasConstCache_containsUnsafe_cache___rarg(lean_object* x_1, uint8_t x_2, lean_object* x_3) { +_start: +{ +uint8_t x_4; +x_4 = !lean_is_exclusive(x_3); +if (x_4 == 0) +{ +lean_object* x_5; lean_object* x_6; lean_object* x_7; uint64_t x_8; size_t x_9; size_t x_10; lean_object* x_11; uint8_t x_12; +x_5 = lean_ctor_get(x_3, 0); +x_6 = lean_ctor_get(x_3, 1); +x_7 = lean_array_get_size(x_6); +x_8 = l_Lean_Expr_hash(x_1); +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_Lean_HasConstCache_containsUnsafe_cache___spec__1(x_1, 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; lean_object* x_18; uint8_t x_19; +x_13 = lean_unsigned_to_nat(1u); +x_14 = lean_nat_add(x_5, x_13); +lean_dec(x_5); +x_15 = lean_box(x_2); +x_16 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_16, 0, x_1); +lean_ctor_set(x_16, 1, x_15); +lean_ctor_set(x_16, 2, x_11); +x_17 = lean_array_uset(x_6, x_10, x_16); +x_18 = l___private_Std_Data_HashMap_0__Std_numBucketsForCapacity(x_14); +x_19 = lean_nat_dec_le(x_18, x_7); +lean_dec(x_7); +lean_dec(x_18); +if (x_19 == 0) +{ +lean_object* x_20; lean_object* x_21; lean_object* x_22; +lean_free_object(x_3); +x_20 = l_Std_HashMapImp_expand___at_Lean_HasConstCache_containsUnsafe_cache___spec__2(x_14, x_17); +x_21 = lean_box(x_2); +x_22 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_22, 0, x_21); +lean_ctor_set(x_22, 1, x_20); +return x_22; +} +else +{ +lean_object* x_23; lean_object* x_24; +lean_ctor_set(x_3, 1, x_17); +lean_ctor_set(x_3, 0, x_14); +x_23 = lean_box(x_2); +x_24 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_24, 0, x_23); +lean_ctor_set(x_24, 1, x_3); +return x_24; +} +} +else +{ +lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; +lean_dec(x_7); +x_25 = l_Std_AssocList_replace___at_Lean_HasConstCache_containsUnsafe_cache___spec__5(x_1, x_2, x_11); +x_26 = lean_array_uset(x_6, x_10, x_25); +lean_ctor_set(x_3, 1, x_26); +x_27 = lean_box(x_2); +x_28 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_28, 0, x_27); +lean_ctor_set(x_28, 1, x_3); +return x_28; +} +} +else +{ +lean_object* x_29; lean_object* x_30; lean_object* x_31; uint64_t x_32; size_t x_33; size_t x_34; lean_object* x_35; uint8_t x_36; +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_array_get_size(x_30); +x_32 = l_Lean_Expr_hash(x_1); +x_33 = lean_uint64_to_usize(x_32); +x_34 = lean_usize_modn(x_33, x_31); +x_35 = lean_array_uget(x_30, x_34); +x_36 = l_Std_AssocList_contains___at_Lean_HasConstCache_containsUnsafe_cache___spec__1(x_1, x_35); +if (x_36 == 0) +{ +lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; uint8_t x_43; +x_37 = lean_unsigned_to_nat(1u); +x_38 = lean_nat_add(x_29, x_37); +lean_dec(x_29); +x_39 = lean_box(x_2); +x_40 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_40, 0, x_1); +lean_ctor_set(x_40, 1, x_39); +lean_ctor_set(x_40, 2, x_35); +x_41 = lean_array_uset(x_30, x_34, x_40); +x_42 = l___private_Std_Data_HashMap_0__Std_numBucketsForCapacity(x_38); +x_43 = lean_nat_dec_le(x_42, x_31); +lean_dec(x_31); +lean_dec(x_42); +if (x_43 == 0) +{ +lean_object* x_44; lean_object* x_45; lean_object* x_46; +x_44 = l_Std_HashMapImp_expand___at_Lean_HasConstCache_containsUnsafe_cache___spec__2(x_38, x_41); +x_45 = lean_box(x_2); +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_alloc_ctor(0, 2, 0); +lean_ctor_set(x_47, 0, x_38); +lean_ctor_set(x_47, 1, x_41); +x_48 = lean_box(x_2); +x_49 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_49, 0, x_48); +lean_ctor_set(x_49, 1, x_47); +return x_49; +} +} +else +{ +lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; +lean_dec(x_31); +x_50 = l_Std_AssocList_replace___at_Lean_HasConstCache_containsUnsafe_cache___spec__5(x_1, x_2, x_35); +x_51 = lean_array_uset(x_30, x_34, x_50); +x_52 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_52, 0, x_29); +lean_ctor_set(x_52, 1, x_51); +x_53 = lean_box(x_2); +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; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_HasConstCache_containsUnsafe_cache(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_HasConstCache_containsUnsafe_cache___rarg___boxed), 3, 0); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Std_AssocList_contains___at_Lean_HasConstCache_containsUnsafe_cache___spec__1___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_Lean_HasConstCache_containsUnsafe_cache___spec__1(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_Std_AssocList_replace___at_Lean_HasConstCache_containsUnsafe_cache___spec__5___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +uint8_t x_4; lean_object* x_5; +x_4 = lean_unbox(x_2); +lean_dec(x_2); +x_5 = l_Std_AssocList_replace___at_Lean_HasConstCache_containsUnsafe_cache___spec__5(x_1, x_4, x_3); +return x_5; +} +} +LEAN_EXPORT lean_object* l_Lean_HasConstCache_containsUnsafe_cache___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +uint8_t x_4; lean_object* x_5; +x_4 = lean_unbox(x_2); +lean_dec(x_2); +x_5 = l_Lean_HasConstCache_containsUnsafe_cache___rarg(x_1, x_4, x_3); +return x_5; +} +} +LEAN_EXPORT lean_object* l_Lean_HasConstCache_containsUnsafe_cache___boxed(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = l_Lean_HasConstCache_containsUnsafe_cache(x_1); +lean_dec(x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at_Lean_HasConstCache_containsUnsafe___spec__2(lean_object* x_1, lean_object* x_2) { +_start: +{ +if (lean_obj_tag(x_2) == 0) +{ +lean_object* x_3; +x_3 = lean_box(0); +return x_3; +} +else +{ +lean_object* x_4; lean_object* x_5; lean_object* x_6; uint8_t x_7; +x_4 = lean_ctor_get(x_2, 0); +x_5 = lean_ctor_get(x_2, 1); +x_6 = lean_ctor_get(x_2, 2); +x_7 = l_Lean_Expr_ptrEq(x_4, x_1); +if (x_7 == 0) +{ +x_2 = x_6; +goto _start; +} +else +{ +lean_object* x_9; +lean_inc(x_5); +x_9 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_9, 0, x_5); +return x_9; +} +} +} +} +LEAN_EXPORT lean_object* l_Std_HashMapImp_find_x3f___at_Lean_HasConstCache_containsUnsafe___spec__1(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; +x_3 = lean_ctor_get(x_1, 1); +lean_inc(x_3); +lean_dec(x_1); +x_4 = lean_array_get_size(x_3); +x_5 = l_Lean_Expr_hash(x_2); +x_6 = lean_uint64_to_usize(x_5); +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_Lean_HasConstCache_containsUnsafe___spec__2(x_2, x_8); +lean_dec(x_8); +lean_dec(x_2); +return x_9; +} +} +LEAN_EXPORT lean_object* l_Lean_HasConstCache_containsUnsafe(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; +lean_inc(x_2); +lean_inc(x_3); +x_4 = l_Std_HashMapImp_find_x3f___at_Lean_HasConstCache_containsUnsafe___spec__1(x_3, x_2); +if (lean_obj_tag(x_4) == 0) +{ +switch (lean_obj_tag(x_2)) { +case 4: +{ +lean_object* x_5; uint8_t x_6; lean_object* x_7; lean_object* x_8; +x_5 = lean_ctor_get(x_2, 0); +lean_inc(x_5); +lean_dec(x_2); +x_6 = lean_name_eq(x_5, x_1); +lean_dec(x_5); +x_7 = lean_box(x_6); +x_8 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_8, 0, x_7); +lean_ctor_set(x_8, 1, x_3); +return x_8; +} +case 5: +{ +lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13; +x_9 = lean_ctor_get(x_2, 0); +lean_inc(x_9); +x_10 = lean_ctor_get(x_2, 1); +lean_inc(x_10); +x_11 = l_Lean_HasConstCache_containsUnsafe(x_1, x_9, x_3); +x_12 = lean_ctor_get(x_11, 0); +lean_inc(x_12); +x_13 = lean_unbox(x_12); +if (x_13 == 0) +{ +lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18; lean_object* x_19; +lean_dec(x_12); +x_14 = lean_ctor_get(x_11, 1); +lean_inc(x_14); +lean_dec(x_11); +x_15 = l_Lean_HasConstCache_containsUnsafe(x_1, x_10, x_14); +x_16 = lean_ctor_get(x_15, 0); +lean_inc(x_16); +x_17 = lean_ctor_get(x_15, 1); +lean_inc(x_17); +lean_dec(x_15); +x_18 = lean_unbox(x_16); +lean_dec(x_16); +x_19 = l_Lean_HasConstCache_containsUnsafe_cache___rarg(x_2, x_18, x_17); +return x_19; +} +else +{ +lean_object* x_20; uint8_t x_21; lean_object* x_22; +lean_dec(x_10); +x_20 = lean_ctor_get(x_11, 1); +lean_inc(x_20); +lean_dec(x_11); +x_21 = lean_unbox(x_12); +lean_dec(x_12); +x_22 = l_Lean_HasConstCache_containsUnsafe_cache___rarg(x_2, x_21, x_20); +return x_22; +} +} +case 6: +{ +lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; uint8_t x_27; +x_23 = lean_ctor_get(x_2, 1); +lean_inc(x_23); +x_24 = lean_ctor_get(x_2, 2); +lean_inc(x_24); +x_25 = l_Lean_HasConstCache_containsUnsafe(x_1, x_23, x_3); +x_26 = lean_ctor_get(x_25, 0); +lean_inc(x_26); +x_27 = lean_unbox(x_26); +if (x_27 == 0) +{ +lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; uint8_t x_32; lean_object* x_33; +lean_dec(x_26); +x_28 = lean_ctor_get(x_25, 1); +lean_inc(x_28); +lean_dec(x_25); +x_29 = l_Lean_HasConstCache_containsUnsafe(x_1, x_24, x_28); +x_30 = lean_ctor_get(x_29, 0); +lean_inc(x_30); +x_31 = lean_ctor_get(x_29, 1); +lean_inc(x_31); +lean_dec(x_29); +x_32 = lean_unbox(x_30); +lean_dec(x_30); +x_33 = l_Lean_HasConstCache_containsUnsafe_cache___rarg(x_2, x_32, x_31); +return x_33; +} +else +{ +lean_object* x_34; uint8_t x_35; lean_object* x_36; +lean_dec(x_24); +x_34 = lean_ctor_get(x_25, 1); +lean_inc(x_34); +lean_dec(x_25); +x_35 = lean_unbox(x_26); +lean_dec(x_26); +x_36 = l_Lean_HasConstCache_containsUnsafe_cache___rarg(x_2, x_35, x_34); +return x_36; +} +} +case 7: +{ +lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; uint8_t x_41; +x_37 = lean_ctor_get(x_2, 1); +lean_inc(x_37); +x_38 = lean_ctor_get(x_2, 2); +lean_inc(x_38); +x_39 = l_Lean_HasConstCache_containsUnsafe(x_1, x_37, x_3); +x_40 = lean_ctor_get(x_39, 0); +lean_inc(x_40); +x_41 = lean_unbox(x_40); +if (x_41 == 0) +{ +lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; uint8_t x_46; lean_object* x_47; +lean_dec(x_40); +x_42 = lean_ctor_get(x_39, 1); +lean_inc(x_42); +lean_dec(x_39); +x_43 = l_Lean_HasConstCache_containsUnsafe(x_1, x_38, x_42); +x_44 = lean_ctor_get(x_43, 0); +lean_inc(x_44); +x_45 = lean_ctor_get(x_43, 1); +lean_inc(x_45); +lean_dec(x_43); +x_46 = lean_unbox(x_44); +lean_dec(x_44); +x_47 = l_Lean_HasConstCache_containsUnsafe_cache___rarg(x_2, x_46, x_45); +return x_47; +} +else +{ +lean_object* x_48; uint8_t x_49; lean_object* x_50; +lean_dec(x_38); +x_48 = lean_ctor_get(x_39, 1); +lean_inc(x_48); +lean_dec(x_39); +x_49 = lean_unbox(x_40); +lean_dec(x_40); +x_50 = l_Lean_HasConstCache_containsUnsafe_cache___rarg(x_2, x_49, x_48); +return x_50; +} +} +case 8: +{ +lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; uint8_t x_56; +x_51 = lean_ctor_get(x_2, 1); +lean_inc(x_51); +x_52 = lean_ctor_get(x_2, 2); +lean_inc(x_52); +x_53 = lean_ctor_get(x_2, 3); +lean_inc(x_53); +x_54 = l_Lean_HasConstCache_containsUnsafe(x_1, x_51, x_3); +x_55 = lean_ctor_get(x_54, 0); +lean_inc(x_55); +x_56 = lean_unbox(x_55); +if (x_56 == 0) +{ +lean_object* x_57; lean_object* x_58; lean_object* x_59; uint8_t x_60; +lean_dec(x_55); +x_57 = lean_ctor_get(x_54, 1); +lean_inc(x_57); +lean_dec(x_54); +x_58 = l_Lean_HasConstCache_containsUnsafe(x_1, x_52, x_57); +x_59 = lean_ctor_get(x_58, 0); +lean_inc(x_59); +x_60 = lean_unbox(x_59); +if (x_60 == 0) +{ +lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; uint8_t x_65; lean_object* x_66; +lean_dec(x_59); +x_61 = lean_ctor_get(x_58, 1); +lean_inc(x_61); +lean_dec(x_58); +x_62 = l_Lean_HasConstCache_containsUnsafe(x_1, x_53, x_61); +x_63 = lean_ctor_get(x_62, 0); +lean_inc(x_63); +x_64 = lean_ctor_get(x_62, 1); +lean_inc(x_64); +lean_dec(x_62); +x_65 = lean_unbox(x_63); +lean_dec(x_63); +x_66 = l_Lean_HasConstCache_containsUnsafe_cache___rarg(x_2, x_65, x_64); +return x_66; +} +else +{ +lean_object* x_67; uint8_t x_68; lean_object* x_69; +lean_dec(x_53); +x_67 = lean_ctor_get(x_58, 1); +lean_inc(x_67); +lean_dec(x_58); +x_68 = lean_unbox(x_59); +lean_dec(x_59); +x_69 = l_Lean_HasConstCache_containsUnsafe_cache___rarg(x_2, x_68, x_67); +return x_69; +} +} +else +{ +lean_object* x_70; uint8_t x_71; lean_object* x_72; +lean_dec(x_53); +lean_dec(x_52); +x_70 = lean_ctor_get(x_54, 1); +lean_inc(x_70); +lean_dec(x_54); +x_71 = lean_unbox(x_55); +lean_dec(x_55); +x_72 = l_Lean_HasConstCache_containsUnsafe_cache___rarg(x_2, x_71, x_70); +return x_72; +} +} +case 10: +{ +lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; uint8_t x_77; lean_object* x_78; +x_73 = lean_ctor_get(x_2, 1); +lean_inc(x_73); +x_74 = l_Lean_HasConstCache_containsUnsafe(x_1, x_73, x_3); +x_75 = lean_ctor_get(x_74, 0); +lean_inc(x_75); +x_76 = lean_ctor_get(x_74, 1); +lean_inc(x_76); +lean_dec(x_74); +x_77 = lean_unbox(x_75); +lean_dec(x_75); +x_78 = l_Lean_HasConstCache_containsUnsafe_cache___rarg(x_2, x_77, x_76); +return x_78; +} +case 11: +{ +lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; uint8_t x_83; lean_object* x_84; +x_79 = lean_ctor_get(x_2, 2); +lean_inc(x_79); +x_80 = l_Lean_HasConstCache_containsUnsafe(x_1, x_79, x_3); +x_81 = lean_ctor_get(x_80, 0); +lean_inc(x_81); +x_82 = lean_ctor_get(x_80, 1); +lean_inc(x_82); +lean_dec(x_80); +x_83 = lean_unbox(x_81); +lean_dec(x_81); +x_84 = l_Lean_HasConstCache_containsUnsafe_cache___rarg(x_2, x_83, x_82); +return x_84; +} +default: +{ +uint8_t x_85; lean_object* x_86; lean_object* x_87; +lean_dec(x_2); +x_85 = 0; +x_86 = lean_box(x_85); +x_87 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_87, 0, x_86); +lean_ctor_set(x_87, 1, x_3); +return x_87; +} +} +} +else +{ +lean_object* x_88; lean_object* x_89; +lean_dec(x_2); +x_88 = lean_ctor_get(x_4, 0); +lean_inc(x_88); +lean_dec(x_4); +x_89 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_89, 0, x_88); +lean_ctor_set(x_89, 1, x_3); +return x_89; +} +} +} +LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at_Lean_HasConstCache_containsUnsafe___spec__2___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = l_Std_AssocList_find_x3f___at_Lean_HasConstCache_containsUnsafe___spec__2(x_1, x_2); +lean_dec(x_2); +lean_dec(x_1); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Lean_HasConstCache_containsUnsafe___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; +x_4 = l_Lean_HasConstCache_containsUnsafe(x_1, x_2, x_3); +lean_dec(x_1); +return x_4; +} +} +lean_object* initialize_Init(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Expr(uint8_t builtin, lean_object*); +static bool _G_initialized = false; +LEAN_EXPORT lean_object* initialize_Lean_Util_HasConstCache(uint8_t builtin, lean_object* w) { +lean_object * res; +if (_G_initialized) return lean_io_result_mk_ok(lean_box(0)); +_G_initialized = true; +res = initialize_Init(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +res = initialize_Lean_Expr(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +l_Lean_HasConstCache_cache___default___closed__1 = _init_l_Lean_HasConstCache_cache___default___closed__1(); +lean_mark_persistent(l_Lean_HasConstCache_cache___default___closed__1); +l_Lean_HasConstCache_cache___default = _init_l_Lean_HasConstCache_cache___default(); +lean_mark_persistent(l_Lean_HasConstCache_cache___default); +return lean_io_result_mk_ok(lean_box(0)); +} +#ifdef __cplusplus +} +#endif