From bdce1a2a79606498c9cbd73a057f79eb2e7788e6 Mon Sep 17 00:00:00 2001 From: Leonardo de Moura Date: Mon, 26 Apr 2021 19:25:00 -0700 Subject: [PATCH] chore: update stage0 --- stage0/src/Lean/Elab/Inductive.lean | 4 +- stage0/src/Lean/Elab/Match.lean | 126 +- stage0/src/Lean/Meta.lean | 2 +- .../{ProofBelow.lean => IndPredBelow.lean} | 63 +- stage0/stdlib/CMakeLists.txt | 2 +- stage0/stdlib/Lean/Elab/Inductive.c | 12 +- stage0/stdlib/Lean/Elab/Match.c | 6862 ++++++++++------- stage0/stdlib/Lean/Elab/Tactic/Match.c | 4 +- stage0/stdlib/Lean/Meta.c | 6 +- .../Meta/{ProofBelow.c => IndPredBelow.c} | 2283 +++--- 10 files changed, 5233 insertions(+), 4131 deletions(-) rename stage0/src/Lean/Meta/{ProofBelow.lean => IndPredBelow.lean} (87%) rename stage0/stdlib/Lean/Meta/{ProofBelow.c => IndPredBelow.c} (69%) diff --git a/stage0/src/Lean/Elab/Inductive.lean b/stage0/src/Lean/Elab/Inductive.lean index c1a45e79b4..ecda085489 100644 --- a/stage0/src/Lean/Elab/Inductive.lean +++ b/stage0/src/Lean/Elab/Inductive.lean @@ -9,7 +9,7 @@ import Lean.Util.CollectLevelParams import Lean.Util.Constructions import Lean.Meta.CollectFVars import Lean.Meta.SizeOf -import Lean.Meta.ProofBelow +import Lean.Meta.IndPredBelow import Lean.Elab.Command import Lean.Elab.DefView import Lean.Elab.DeclUtil @@ -518,7 +518,7 @@ def elabInductiveViews (views : Array InductiveView) : CommandElabM Unit := do runTermElabM view0.declName fun vars => withRef ref do mkInductiveDecl vars views mkSizeOfInstances view0.declName - mkProofBelow view0.declName + Lean.Meta.IndPredBelow.mkBelow view0.declName applyDerivingHandlers views end Lean.Elab.Command diff --git a/stage0/src/Lean/Elab/Match.lean b/stage0/src/Lean/Elab/Match.lean index 6db519556c..90b4091f62 100644 --- a/stage0/src/Lean/Elab/Match.lean +++ b/stage0/src/Lean/Elab/Match.lean @@ -778,7 +778,64 @@ private def getIndicesToInclude (discrs : Array Expr) (idx : Nat) : TermElabM (A result := result.push arg return result -private partial def elabMatchAltViews (discrs : Array Expr) (matchType : Expr) (altViews : Array MatchAltView) : TermElabM (Array Expr × Expr × Array (AltLHS × Expr) × Bool) := do +/-- + "Generalize" variables that depend on the discriminants. + + Remarks and limitations: + - If `matchType` is a proposition, then we generalize even when the user did not provide `(generalizing := true)`. + Motivation: users should have control about the actual `match`-expressions in their programs. + - We currently do not generalize let-decls. + - We abort generalization if the new `matchType` is type incorrect. + - Only discriminants that are free variables are considered during specialization. + - We "generalize" by adding new discriminants and pattern variables. We do not "clear" the generalized variables, + but they become inaccessible since they are shadowed by the patterns variables. We assume this is ok since + this is the exact behavior users would get if they had written it by hand. Recall there is no `clear` in term mode. +-/ +private def generalize (discrs : Array Expr) (matchType : Expr) (altViews : Array MatchAltView) (generalizing? : Option Bool) : TermElabM (Array Expr × Expr × Array MatchAltView × Bool) := do + let gen ← + match generalizing? with + | some g => pure g + | _ => isProp matchType + if !gen then + return (discrs, matchType, altViews, false) + else + let ysFVarIds ← getFVarsToGeneralize discrs + /- let-decls are currently being ignored by the generalizer. -/ + let ysFVarIds ← ysFVarIds.filterM fun fvarId => return !(← getLocalDecl fvarId).isLet + if ysFVarIds.isEmpty then + return (discrs, matchType, altViews, false) + else + let ys := ysFVarIds.map mkFVar + -- trace[Meta.debug] "ys: {ys}, discrs: {discrs}" + let matchType' ← forallBoundedTelescope matchType discrs.size fun ds type => do + let type ← mkForallFVars ys type + let (discrs', ds') := Array.unzip <| Array.zip discrs ds |>.filter fun (di, d) => di.isFVar + let type := type.replaceFVars discrs' ds' + mkForallFVars ds type + -- trace[Meta.debug] "matchType': {matchType'}" + if (← isTypeCorrect matchType') then + let discrs := discrs ++ ys + let altViews ← altViews.mapM fun altView => do + let patternVars ← getPatternsVars altView.patterns + -- We traverse backwards because we want to keep the most recent names. + -- For example, if `ys` contains `#[h, h]`, we want to make sure `mkFreshUsername is applied to the first `h`, + -- since it is already shadowed by the second. + let ysUserNames ← ys.foldrM (init := #[]) fun ys ysUserNames => do + let yDecl ← getLocalDecl ys.fvarId! + let mut yUserName := yDecl.userName + if ysUserNames.contains yUserName then + yUserName ← mkFreshUserName yUserName + -- Explicitly provided pattern variables shadow `y` + else if patternVars.any fun | PatternVar.localVar x => x == yUserName | _ => false then + yUserName ← mkFreshUserName yUserName + return ysUserNames.push yUserName + let ysIds ← ysUserNames.reverse.mapM fun n => return mkIdentFrom (← getRef) n + return { altView with patterns := altView.patterns ++ ysIds } + return (discrs, matchType', altViews, true) + else + return (discrs, matchType, altViews, true) + +private partial def elabMatchAltViews (generalizing? : Option Bool) (discrs : Array Expr) (matchType : Expr) (altViews : Array MatchAltView) : TermElabM (Array Expr × Expr × Array (AltLHS × Expr) × Bool) := do loop discrs matchType altViews none where /- @@ -787,8 +844,9 @@ where loop (discrs : Array Expr) (matchType : Expr) (altViews : Array MatchAltView) (first? : Option (SavedState × Exception)) : TermElabM (Array Expr × Expr × Array (AltLHS × Expr) × Bool) := do let s ← saveState - match ← altViews.mapM (fun alt => elabMatchAltView alt matchType) |>.run with - | Except.ok alts => return (discrs, matchType, alts, first?.isSome) + let (discrs', matchType', altViews', refined) ← generalize discrs matchType altViews generalizing? + match ← altViews'.mapM (fun altView => elabMatchAltView altView matchType') |>.run with + | Except.ok alts => return (discrs', matchType', alts, first?.isSome || refined) | Except.error { idx := idx, ex := ex } => let indices ← getIndicesToInclude discrs idx if indices.isEmpty then @@ -897,64 +955,6 @@ private def isMatchUnit? (altLHSS : List Match.AltLHS) (rhss : Array Expr) : Met | Expr.lam _ _ b _ => return if b.hasLooseBVars then none else b | _ => return none | _ => return none - -/-- - "Generalize" variables that depend on the discriminants. - - Remarks and limitations: - - If `matchType` is a proposition, then we generalize even when the user did not provide `(generalizing := true)`. - Motivation: users should have control about the actual `match`-expressions in their programs. - - We currently do not generalize let-decls. - - We abort generalization if the new `matchType` is type incorrect. - - Only discriminants that are free variables are considered during specialization. - - We "generalize" by adding new discriminants and pattern variables. We do not "clear" the generalized variables, - but they become inaccessible since they are shadowed by the patterns variables. We assume this is ok since - this is the exact behavior users would get if they had written it by hand. Recall there is no `clear` in term mode. --/ -private def generalize (discrs : Array Expr) (matchType : Expr) (altViews : Array MatchAltView) (generalizing? : Option Bool) : TermElabM (Array Expr × Expr × Array MatchAltView × Bool) := do - let gen ← - match generalizing? with - | some g => pure g - | _ => isProp matchType - if !gen then - return (discrs, matchType, altViews, false) - else - let ysFVarIds ← getFVarsToGeneralize discrs - /- let-decls are currently being ignored by the generalizer. -/ - let ysFVarIds ← ysFVarIds.filterM fun fvarId => return !(← getLocalDecl fvarId).isLet - if ysFVarIds.isEmpty then - return (discrs, matchType, altViews, false) - else - let ys := ysFVarIds.map mkFVar - -- trace[Meta.debug] "ys: {ys}, discrs: {discrs}" - let matchType' ← forallBoundedTelescope matchType discrs.size fun ds type => do - let type ← mkForallFVars ys type - let (discrs', ds') := Array.unzip <| Array.zip discrs ds |>.filter fun (di, d) => di.isFVar - let type := type.replaceFVars discrs' ds' - mkForallFVars ds type - -- trace[Meta.debug] "matchType': {matchType'}" - if (← isTypeCorrect matchType') then - let discrs := discrs ++ ys - let altViews ← altViews.mapM fun altView => do - let patternVars ← getPatternsVars altView.patterns - -- We traverse backwards because we want to keep the most recent names. - -- For example, if `ys` contains `#[h, h]`, we want to make sure `mkFreshUsername is applied to the first `h`, - -- since it is already shadowed by the second. - let ysUserNames ← ys.foldrM (init := #[]) fun ys ysUserNames => do - let yDecl ← getLocalDecl ys.fvarId! - let mut yUserName := yDecl.userName - if ysUserNames.contains yUserName then - yUserName ← mkFreshUserName yUserName - -- Explicitly provided pattern variables shadow `y` - else if patternVars.any fun | PatternVar.localVar x => x == yUserName | _ => false then - yUserName ← mkFreshUserName yUserName - return ysUserNames.push yUserName - let ysIds ← ysUserNames.reverse.mapM fun n => return mkIdentFrom (← getRef) n - return { altView with patterns := altView.patterns ++ ysIds } - return (discrs, matchType', altViews, true) - else - return (discrs, matchType, altViews, true) - private def elabMatchAux (generalizing? : Option Bool) (discrStxs : Array Syntax) (altViews : Array MatchAltView) (matchOptType : Syntax) (expectedType : Expr) : TermElabM Expr := do let mut generalizing? := generalizing? @@ -964,11 +964,9 @@ private def elabMatchAux (generalizing? : Option Bool) (discrStxs : Array Syntax generalizing? := some false let (discrs, matchType, altLHSS, isDep, rhss) ← commitIfDidNotPostpone do let ⟨discrs, matchType, isDep, altViews⟩ ← elabMatchTypeAndDiscrs discrStxs matchOptType altViews expectedType - let (discrs, matchType, altViews, gen) ← generalize discrs matchType altViews generalizing? - let isDep := isDep || gen let matchAlts ← liftMacroM <| expandMacrosInPatterns altViews trace[Elab.match] "matchType: {matchType}" - let (discrs, matchType, alts, refined) ← elabMatchAltViews discrs matchType matchAlts + let (discrs, matchType, alts, refined) ← elabMatchAltViews generalizing? discrs matchType matchAlts let isDep := isDep || refined /- We should not use `synthesizeSyntheticMVarsNoPostponing` here. Otherwise, we will not be diff --git a/stage0/src/Lean/Meta.lean b/stage0/src/Lean/Meta.lean index 61f30bfb64..f474c7fadd 100644 --- a/stage0/src/Lean/Meta.lean +++ b/stage0/src/Lean/Meta.lean @@ -29,7 +29,7 @@ import Lean.Meta.PPGoal import Lean.Meta.UnificationHint import Lean.Meta.Inductive import Lean.Meta.SizeOf -import Lean.Meta.ProofBelow +import Lean.Meta.IndPredBelow import Lean.Meta.Coe import Lean.Meta.SortLocalDecls import Lean.Meta.CollectFVars diff --git a/stage0/src/Lean/Meta/ProofBelow.lean b/stage0/src/Lean/Meta/IndPredBelow.lean similarity index 87% rename from stage0/src/Lean/Meta/ProofBelow.lean rename to stage0/src/Lean/Meta/IndPredBelow.lean index 3e840dbd7a..b06c5a790e 100644 --- a/stage0/src/Lean/Meta/ProofBelow.lean +++ b/stage0/src/Lean/Meta/IndPredBelow.lean @@ -8,23 +8,21 @@ import Lean.Util.Constructions import Lean.Meta.Transform import Lean.Meta.Tactic -namespace Lean.Meta - -namespace ProofBelow +namespace Lean.Meta.IndPredBelow /-- - The context used in the creation of the `ProofBelow` scheme for inductive predicates. + The context used in the creation of the `below` scheme for inductive predicates. -/ structure Context where motives : Array (Name × Expr) typeInfos : Array InductiveVal - proofBelowNames : Array Name + belowNames : Array Name headers : Array Expr numParams : Nat /-- Collection of variables used to keep track of the positions of binders in the construction - of `ProofBelow` motives and constructors. + of `below` motives and constructors. -/ structure Variables where target : Array Expr @@ -57,7 +55,7 @@ def mkContext (declName : Name) : MetaM Context := do typeInfos := typeInfos numParams := indVal.numParams headers := ←headers - proofBelowNames := ←indVal.all.toArray.mapM (·.appendAfter "ProofBelow") } + belowNames := ←indVal.all.toArray.map (· ++ `below) } where motiveName (motiveTypes : Array Expr) (i : Nat) : MetaM Name := if motiveTypes.size > 1 @@ -89,7 +87,7 @@ where partial def mkCtorType (ctx : Context) - (proofBelowIdx : Nat) + (belowIdx : Nat) (originalCtor : ConstructorVal) : MetaM Expr := forallTelescope originalCtor.type fun xs t => addHeaderVars { innerType := t @@ -101,7 +99,7 @@ partial def mkCtorType where addHeaderVars (vars : Variables) := do let headersWithNames ← ctx.headers.mapIdxM fun idx header => - (ctx.proofBelowNames[idx], fun _ => pure header) + (ctx.belowNames[idx], fun _ => pure header) withLocalDeclsD headersWithNames fun xs => addMotives { vars with indVal := xs } @@ -118,7 +116,7 @@ where let binder := vars.args[i] let binderType ←inferType binder if ←checkCount binderType then - mkProofBelowBinder vars binder binderType fun indValIdx x => + mkBelowBinder vars binder binderType fun indValIdx x => mkMotiveBinder vars indValIdx binder binderType fun y => modifyBinders { vars with target := vars.target ++ #[binder, x, y]} i.succ else modifyBinders { vars with target := vars.target.push binder } i.succ @@ -130,7 +128,7 @@ where mkAppN (mkConst originalCtor.name $ ctx.typeInfos[0].levelParams.map mkLevelParam) (vars.params ++ vars.args) - let innerType := mkAppN vars.indVal[proofBelowIdx] $ + let innerType := mkAppN vars.indVal[belowIdx] $ vars.params ++ vars.motives ++ args[ctx.numParams:] ++ #[hApp] let x ← mkForallFVars vars.target innerType replaceTempVars vars x @@ -139,7 +137,7 @@ where let levelParams := ctx.typeInfos[0].levelParams.map mkLevelParam - ctor.replaceFVars vars.indVal $ ctx.proofBelowNames.map fun indVal => + ctor.replaceFVars vars.indVal $ ctx.belowNames.map fun indVal => mkConst indVal levelParams checkCount (domain : Expr) : MetaM Bool := do @@ -156,7 +154,7 @@ where return cnt == 1 - mkProofBelowBinder + mkBelowBinder (vars : Variables) (binder : Expr) (domain : Expr) @@ -200,7 +198,7 @@ where def mkConstructor (ctx : Context) (i : Nat) (ctor : Name) : MetaM Constructor := do let ctorInfo ← getConstInfoCtor ctor - let name := ctor.updatePrefix ctx.proofBelowNames[i] + let name := ctor.updatePrefix ctx.belowNames[i] let type ← mkCtorType ctx i ctorInfo return { name := name @@ -211,11 +209,11 @@ def mkInductiveType (i : Fin ctx.typeInfos.size) (indVal : InductiveVal) : MetaM InductiveType := do return { - name := ctx.proofBelowNames[i] + name := ctx.belowNames[i] type := ctx.headers[i] ctors := ←indVal.ctors.mapM (mkConstructor ctx i) } -def mkProofBelowDecl (ctx : Context) : MetaM Declaration := do +def mkBelowDecl (ctx : Context) : MetaM Declaration := do let lparams := ctx.typeInfos[0].levelParams Declaration.inductDecl lparams @@ -254,7 +252,7 @@ where let motives ← ctx.motives.mapIdxM fun idx (_, motive) => do let motive ← instantiateForall motive params forallTelescope motive fun xs _ => do - mkLambdaFVars xs $ mkAppN (mkConst ctx.proofBelowNames[idx] levelParams) $ (params ++ motives ++ xs) + mkLambdaFVars xs $ mkAppN (mkConst ctx.belowNames[idx] levelParams) $ (params ++ motives ++ xs) withMVarContext m do let recursorInfo ← getConstInfo $ mkRecName indVal.name let recLevels := @@ -267,11 +265,11 @@ where applyCtors (ms : List MVarId) : MetaM $ List MVarId := do let mss ← ms.toArray.mapIdxM fun idx m => do let m ← introNPRec m - (←getMVarType m).withApp fun proofBelow args => + (←getMVarType m).withApp fun below args => args.back.withApp fun ctor args => - let ctor := ctor.constName!.updatePrefix proofBelow.constName! + let ctor := ctor.constName!.updatePrefix below.constName! withMVarContext m do - let ctor := mkConst ctor proofBelow.constLevels! + let ctor := mkConst ctor below.constLevels! apply m ctor return mss.foldr List.append [] @@ -334,32 +332,31 @@ where let args := params ++ motives ++ ys let premise := mkAppN - (mkConst ctx.proofBelowNames[idx.val] levels) args + (mkConst ctx.belowNames[idx.val] levels) args let conclusion := mkAppN motives[idx] ys mkForallFVars ys (←mkArrow premise conclusion) (←name, mkDomain) -end ProofBelow -def mkProofBelow (declName : Name) : MetaM Unit := do +def mkBelow (declName : Name) : MetaM Unit := do if (←isInductivePredicate declName) then let x ← getConstInfoInduct declName if x.isRec then - let ctx ← ProofBelow.mkContext declName - let decl ← ProofBelow.mkProofBelowDecl ctx + let ctx ← IndPredBelow.mkContext declName + let decl ← IndPredBelow.mkBelowDecl ctx addDecl decl - trace[Meta.ProofBelow] "added {ctx.proofBelowNames}" - ctx.proofBelowNames.forM Lean.mkCasesOn + trace[Meta.IndPredBelow] "added {ctx.belowNames}" + ctx.belowNames.forM Lean.mkCasesOn for i in [:ctx.typeInfos.size] do try - let decl ← ProofBelow.mkBrecOnDecl ctx i + let decl ← IndPredBelow.mkBrecOnDecl ctx i addDecl decl - catch e => trace[Meta.ProofBelow] "failed to prove brecOn for {ctx.proofBelowNames[i]}\n{e.toMessageData}" - else trace[Meta.ProofBelow] "Not recursive" - else trace[Meta.ProofBelow] "Not inductive predicate" + catch e => trace[Meta.IndPredBelow] "failed to prove brecOn for {ctx.belowNames[i]}\n{e.toMessageData}" + else trace[Meta.IndPredBelow] "Not recursive" + else trace[Meta.IndPredBelow] "Not inductive predicate" builtin_initialize - registerTraceClass `Meta.ProofBelow + registerTraceClass `Meta.IndPredBelow -end Lean.Meta \ No newline at end of file +end Lean.Meta.IndPredBelow \ No newline at end of file diff --git a/stage0/stdlib/CMakeLists.txt b/stage0/stdlib/CMakeLists.txt index 4346a51aa2..c37f6060dd 100644 --- a/stage0/stdlib/CMakeLists.txt +++ b/stage0/stdlib/CMakeLists.txt @@ -2,5 +2,5 @@ add_library (Init STATIC Init.c Init/Classical.c Init/Coe.c Init/Control.c Init/ set_target_properties(Init PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib/lean") add_library (Std STATIC Std.c Std/Control.c Std/Control/Nondet.c Std/Data.c Std/Data/AssocList.c Std/Data/BinomialHeap.c Std/Data/DList.c Std/Data/HashMap.c Std/Data/HashSet.c Std/Data/PersistentArray.c Std/Data/PersistentHashMap.c Std/Data/PersistentHashSet.c Std/Data/Queue.c Std/Data/RBMap.c Std/Data/RBTree.c Std/Data/Stack.c Std/ShareCommon.c ) set_target_properties(Std PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib/lean") -add_library (Lean STATIC Lean.c Lean/Attributes.c Lean/AuxRecursor.c Lean/Class.c Lean/Compiler.c Lean/Compiler/BorrowedAnnotation.c Lean/Compiler/ClosedTermCache.c Lean/Compiler/ConstFolding.c Lean/Compiler/ExportAttr.c Lean/Compiler/ExternAttr.c Lean/Compiler/IR.c Lean/Compiler/IR/Basic.c Lean/Compiler/IR/Borrow.c Lean/Compiler/IR/Boxing.c Lean/Compiler/IR/Checker.c Lean/Compiler/IR/CompilerM.c Lean/Compiler/IR/CtorLayout.c Lean/Compiler/IR/ElimDeadBranches.c Lean/Compiler/IR/ElimDeadVars.c Lean/Compiler/IR/EmitC.c Lean/Compiler/IR/EmitUtil.c Lean/Compiler/IR/ExpandResetReuse.c Lean/Compiler/IR/Format.c Lean/Compiler/IR/FreeVars.c Lean/Compiler/IR/LiveVars.c Lean/Compiler/IR/NormIds.c Lean/Compiler/IR/PushProj.c Lean/Compiler/IR/RC.c Lean/Compiler/IR/ResetReuse.c Lean/Compiler/IR/SimpCase.c Lean/Compiler/IR/Sorry.c Lean/Compiler/IR/UnboxResult.c Lean/Compiler/ImplementedByAttr.c Lean/Compiler/InitAttr.c Lean/Compiler/InlineAttrs.c Lean/Compiler/NameMangling.c Lean/Compiler/NeverExtractAttr.c Lean/Compiler/Specialize.c Lean/Compiler/Util.c Lean/CoreM.c Lean/Data.c Lean/Data/Format.c Lean/Data/Json.c Lean/Data/Json/Basic.c Lean/Data/Json/FromToJson.c Lean/Data/Json/Parser.c Lean/Data/Json/Printer.c Lean/Data/Json/Stream.c Lean/Data/JsonRpc.c Lean/Data/KVMap.c Lean/Data/LBool.c Lean/Data/LOption.c Lean/Data/Lsp.c Lean/Data/Lsp/Basic.c Lean/Data/Lsp/Capabilities.c Lean/Data/Lsp/Communication.c Lean/Data/Lsp/Diagnostics.c Lean/Data/Lsp/Extra.c Lean/Data/Lsp/InitShutdown.c Lean/Data/Lsp/Ipc.c Lean/Data/Lsp/LanguageFeatures.c Lean/Data/Lsp/TextSync.c Lean/Data/Lsp/Utf16.c Lean/Data/Lsp/Workspace.c Lean/Data/Name.c Lean/Data/NameTrie.c Lean/Data/Occurrences.c Lean/Data/OpenDecl.c Lean/Data/Options.c Lean/Data/Position.c Lean/Data/PrefixTree.c Lean/Data/SMap.c Lean/Data/Trie.c Lean/Declaration.c Lean/DeclarationRange.c Lean/DocString.c Lean/Elab.c Lean/Elab/App.c Lean/Elab/Attributes.c Lean/Elab/AutoBound.c Lean/Elab/Binders.c Lean/Elab/BuiltinNotation.c Lean/Elab/Command.c Lean/Elab/DeclModifiers.c Lean/Elab/DeclUtil.c Lean/Elab/Declaration.c Lean/Elab/DeclarationRange.c Lean/Elab/DefView.c Lean/Elab/Deriving.c Lean/Elab/Deriving/BEq.c Lean/Elab/Deriving/Basic.c Lean/Elab/Deriving/DecEq.c Lean/Elab/Deriving/FromToJson.c Lean/Elab/Deriving/Hashable.c Lean/Elab/Deriving/Inhabited.c Lean/Elab/Deriving/Ord.c Lean/Elab/Deriving/Repr.c Lean/Elab/Deriving/SizeOf.c Lean/Elab/Deriving/Util.c Lean/Elab/Do.c Lean/Elab/Exception.c Lean/Elab/Extra.c Lean/Elab/Frontend.c Lean/Elab/Import.c Lean/Elab/Inductive.c Lean/Elab/InfoTree.c Lean/Elab/LetRec.c Lean/Elab/Level.c Lean/Elab/Log.c Lean/Elab/Match.c Lean/Elab/MutualDef.c Lean/Elab/Open.c Lean/Elab/PreDefinition.c Lean/Elab/PreDefinition/Basic.c Lean/Elab/PreDefinition/Main.c Lean/Elab/PreDefinition/MkInhabitant.c Lean/Elab/PreDefinition/Structural.c Lean/Elab/PreDefinition/WF.c Lean/Elab/Print.c Lean/Elab/Quotation.c Lean/Elab/Quotation/Util.c Lean/Elab/SetOption.c Lean/Elab/StructInst.c Lean/Elab/Structure.c Lean/Elab/Syntax.c Lean/Elab/SyntheticMVars.c Lean/Elab/Tactic.c Lean/Elab/Tactic/Basic.c Lean/Elab/Tactic/ElabTerm.c Lean/Elab/Tactic/Generalize.c Lean/Elab/Tactic/Induction.c Lean/Elab/Tactic/Injection.c Lean/Elab/Tactic/Location.c Lean/Elab/Tactic/Match.c Lean/Elab/Tactic/Rewrite.c Lean/Elab/Tactic/Simp.c Lean/Elab/Term.c Lean/Elab/Util.c Lean/Environment.c Lean/Eval.c Lean/Exception.c Lean/Expr.c Lean/HeadIndex.c Lean/Hygiene.c Lean/InternalExceptionId.c Lean/KeyedDeclsAttribute.c Lean/Level.c Lean/LocalContext.c Lean/Message.c Lean/Meta.c Lean/Meta/AbstractMVars.c Lean/Meta/AbstractNestedProofs.c Lean/Meta/AppBuilder.c Lean/Meta/Basic.c Lean/Meta/Check.c Lean/Meta/Closure.c Lean/Meta/Coe.c Lean/Meta/CollectFVars.c Lean/Meta/CollectMVars.c Lean/Meta/DiscrTree.c Lean/Meta/DiscrTreeTypes.c Lean/Meta/ExprDefEq.c Lean/Meta/ForEachExpr.c Lean/Meta/FunInfo.c Lean/Meta/GeneralizeTelescope.c Lean/Meta/GeneralizeVars.c Lean/Meta/GetConst.c Lean/Meta/Inductive.c Lean/Meta/InferType.c Lean/Meta/Instances.c Lean/Meta/KAbstract.c Lean/Meta/LevelDefEq.c Lean/Meta/Match.c Lean/Meta/Match/Basic.c Lean/Meta/Match/CaseArraySizes.c Lean/Meta/Match/CaseValues.c Lean/Meta/Match/MVarRenaming.c Lean/Meta/Match/Match.c Lean/Meta/Match/MatchPatternAttr.c Lean/Meta/Match/MatcherInfo.c Lean/Meta/MatchUtil.c Lean/Meta/Offset.c Lean/Meta/PPGoal.c Lean/Meta/ProofBelow.c Lean/Meta/RecursorInfo.c Lean/Meta/Reduce.c Lean/Meta/ReduceEval.c Lean/Meta/SizeOf.c Lean/Meta/SortLocalDecls.c Lean/Meta/SynthInstance.c Lean/Meta/Tactic.c Lean/Meta/Tactic/Apply.c Lean/Meta/Tactic/Assert.c Lean/Meta/Tactic/Assumption.c Lean/Meta/Tactic/AuxLemma.c Lean/Meta/Tactic/Cases.c Lean/Meta/Tactic/Clear.c Lean/Meta/Tactic/Constructor.c Lean/Meta/Tactic/Contradiction.c Lean/Meta/Tactic/Delta.c Lean/Meta/Tactic/ElimInfo.c Lean/Meta/Tactic/FVarSubst.c Lean/Meta/Tactic/Generalize.c Lean/Meta/Tactic/Induction.c Lean/Meta/Tactic/Injection.c Lean/Meta/Tactic/Intro.c Lean/Meta/Tactic/Replace.c Lean/Meta/Tactic/Revert.c Lean/Meta/Tactic/Rewrite.c Lean/Meta/Tactic/Simp.c Lean/Meta/Tactic/Simp/CongrLemmas.c Lean/Meta/Tactic/Simp/Main.c Lean/Meta/Tactic/Simp/Rewrite.c Lean/Meta/Tactic/Simp/SimpAll.c Lean/Meta/Tactic/Simp/SimpLemmas.c Lean/Meta/Tactic/Simp/Types.c Lean/Meta/Tactic/Subst.c Lean/Meta/Tactic/Util.c Lean/Meta/Transform.c Lean/Meta/TransparencyMode.c Lean/Meta/UnificationHint.c Lean/Meta/WHNF.c Lean/MetavarContext.c Lean/Modifiers.c Lean/MonadEnv.c Lean/Parser.c Lean/Parser/Attr.c Lean/Parser/Basic.c Lean/Parser/Command.c Lean/Parser/Do.c Lean/Parser/Extension.c Lean/Parser/Extra.c Lean/Parser/Level.c Lean/Parser/Module.c Lean/Parser/StrInterpolation.c Lean/Parser/Syntax.c Lean/Parser/Tactic.c Lean/Parser/Term.c Lean/ParserCompiler.c Lean/ParserCompiler/Attribute.c Lean/PrettyPrinter.c Lean/PrettyPrinter/Basic.c Lean/PrettyPrinter/Delaborator.c Lean/PrettyPrinter/Delaborator/Basic.c Lean/PrettyPrinter/Delaborator/Builtins.c Lean/PrettyPrinter/Formatter.c Lean/PrettyPrinter/Parenthesizer.c Lean/ProjFns.c Lean/ReducibilityAttrs.c Lean/ResolveName.c Lean/Runtime.c Lean/ScopedEnvExtension.c Lean/Server.c Lean/Server/AsyncList.c Lean/Server/Completion.c Lean/Server/FileSource.c Lean/Server/FileWorker.c Lean/Server/InfoUtils.c Lean/Server/Snapshots.c Lean/Server/Utils.c Lean/Server/Watchdog.c Lean/Structure.c Lean/Syntax.c Lean/ToExpr.c Lean/Util.c Lean/Util/CollectFVars.c Lean/Util/CollectLevelParams.c Lean/Util/CollectMVars.c Lean/Util/Constructions.c Lean/Util/FindExpr.c Lean/Util/FindMVar.c Lean/Util/FoldConsts.c Lean/Util/ForEachExpr.c Lean/Util/MonadBacktrack.c Lean/Util/MonadCache.c Lean/Util/OccursCheck.c Lean/Util/PPExt.c Lean/Util/Path.c Lean/Util/Profile.c Lean/Util/RecDepth.c Lean/Util/Recognizers.c Lean/Util/ReplaceExpr.c Lean/Util/ReplaceLevel.c Lean/Util/SCC.c Lean/Util/Sorry.c Lean/Util/Trace.c ) +add_library (Lean STATIC Lean.c Lean/Attributes.c Lean/AuxRecursor.c Lean/Class.c Lean/Compiler.c Lean/Compiler/BorrowedAnnotation.c Lean/Compiler/ClosedTermCache.c Lean/Compiler/ConstFolding.c Lean/Compiler/ExportAttr.c Lean/Compiler/ExternAttr.c Lean/Compiler/IR.c Lean/Compiler/IR/Basic.c Lean/Compiler/IR/Borrow.c Lean/Compiler/IR/Boxing.c Lean/Compiler/IR/Checker.c Lean/Compiler/IR/CompilerM.c Lean/Compiler/IR/CtorLayout.c Lean/Compiler/IR/ElimDeadBranches.c Lean/Compiler/IR/ElimDeadVars.c Lean/Compiler/IR/EmitC.c Lean/Compiler/IR/EmitUtil.c Lean/Compiler/IR/ExpandResetReuse.c Lean/Compiler/IR/Format.c Lean/Compiler/IR/FreeVars.c Lean/Compiler/IR/LiveVars.c Lean/Compiler/IR/NormIds.c Lean/Compiler/IR/PushProj.c Lean/Compiler/IR/RC.c Lean/Compiler/IR/ResetReuse.c Lean/Compiler/IR/SimpCase.c Lean/Compiler/IR/Sorry.c Lean/Compiler/IR/UnboxResult.c Lean/Compiler/ImplementedByAttr.c Lean/Compiler/InitAttr.c Lean/Compiler/InlineAttrs.c Lean/Compiler/NameMangling.c Lean/Compiler/NeverExtractAttr.c Lean/Compiler/Specialize.c Lean/Compiler/Util.c Lean/CoreM.c Lean/Data.c Lean/Data/Format.c Lean/Data/Json.c Lean/Data/Json/Basic.c Lean/Data/Json/FromToJson.c Lean/Data/Json/Parser.c Lean/Data/Json/Printer.c Lean/Data/Json/Stream.c Lean/Data/JsonRpc.c Lean/Data/KVMap.c Lean/Data/LBool.c Lean/Data/LOption.c Lean/Data/Lsp.c Lean/Data/Lsp/Basic.c Lean/Data/Lsp/Capabilities.c Lean/Data/Lsp/Communication.c Lean/Data/Lsp/Diagnostics.c Lean/Data/Lsp/Extra.c Lean/Data/Lsp/InitShutdown.c Lean/Data/Lsp/Ipc.c Lean/Data/Lsp/LanguageFeatures.c Lean/Data/Lsp/TextSync.c Lean/Data/Lsp/Utf16.c Lean/Data/Lsp/Workspace.c Lean/Data/Name.c Lean/Data/NameTrie.c Lean/Data/Occurrences.c Lean/Data/OpenDecl.c Lean/Data/Options.c Lean/Data/Position.c Lean/Data/PrefixTree.c Lean/Data/SMap.c Lean/Data/Trie.c Lean/Declaration.c Lean/DeclarationRange.c Lean/DocString.c Lean/Elab.c Lean/Elab/App.c Lean/Elab/Attributes.c Lean/Elab/AutoBound.c Lean/Elab/Binders.c Lean/Elab/BuiltinNotation.c Lean/Elab/Command.c Lean/Elab/DeclModifiers.c Lean/Elab/DeclUtil.c Lean/Elab/Declaration.c Lean/Elab/DeclarationRange.c Lean/Elab/DefView.c Lean/Elab/Deriving.c Lean/Elab/Deriving/BEq.c Lean/Elab/Deriving/Basic.c Lean/Elab/Deriving/DecEq.c Lean/Elab/Deriving/FromToJson.c Lean/Elab/Deriving/Hashable.c Lean/Elab/Deriving/Inhabited.c Lean/Elab/Deriving/Ord.c Lean/Elab/Deriving/Repr.c Lean/Elab/Deriving/SizeOf.c Lean/Elab/Deriving/Util.c Lean/Elab/Do.c Lean/Elab/Exception.c Lean/Elab/Extra.c Lean/Elab/Frontend.c Lean/Elab/Import.c Lean/Elab/Inductive.c Lean/Elab/InfoTree.c Lean/Elab/LetRec.c Lean/Elab/Level.c Lean/Elab/Log.c Lean/Elab/Match.c Lean/Elab/MutualDef.c Lean/Elab/Open.c Lean/Elab/PreDefinition.c Lean/Elab/PreDefinition/Basic.c Lean/Elab/PreDefinition/Main.c Lean/Elab/PreDefinition/MkInhabitant.c Lean/Elab/PreDefinition/Structural.c Lean/Elab/PreDefinition/WF.c Lean/Elab/Print.c Lean/Elab/Quotation.c Lean/Elab/Quotation/Util.c Lean/Elab/SetOption.c Lean/Elab/StructInst.c Lean/Elab/Structure.c Lean/Elab/Syntax.c Lean/Elab/SyntheticMVars.c Lean/Elab/Tactic.c Lean/Elab/Tactic/Basic.c Lean/Elab/Tactic/ElabTerm.c Lean/Elab/Tactic/Generalize.c Lean/Elab/Tactic/Induction.c Lean/Elab/Tactic/Injection.c Lean/Elab/Tactic/Location.c Lean/Elab/Tactic/Match.c Lean/Elab/Tactic/Rewrite.c Lean/Elab/Tactic/Simp.c Lean/Elab/Term.c Lean/Elab/Util.c Lean/Environment.c Lean/Eval.c Lean/Exception.c Lean/Expr.c Lean/HeadIndex.c Lean/Hygiene.c Lean/InternalExceptionId.c Lean/KeyedDeclsAttribute.c Lean/Level.c Lean/LocalContext.c Lean/Message.c Lean/Meta.c Lean/Meta/AbstractMVars.c Lean/Meta/AbstractNestedProofs.c Lean/Meta/AppBuilder.c Lean/Meta/Basic.c Lean/Meta/Check.c Lean/Meta/Closure.c Lean/Meta/Coe.c Lean/Meta/CollectFVars.c Lean/Meta/CollectMVars.c Lean/Meta/DiscrTree.c Lean/Meta/DiscrTreeTypes.c Lean/Meta/ExprDefEq.c Lean/Meta/ForEachExpr.c Lean/Meta/FunInfo.c Lean/Meta/GeneralizeTelescope.c Lean/Meta/GeneralizeVars.c Lean/Meta/GetConst.c Lean/Meta/IndPredBelow.c Lean/Meta/Inductive.c Lean/Meta/InferType.c Lean/Meta/Instances.c Lean/Meta/KAbstract.c Lean/Meta/LevelDefEq.c Lean/Meta/Match.c Lean/Meta/Match/Basic.c Lean/Meta/Match/CaseArraySizes.c Lean/Meta/Match/CaseValues.c Lean/Meta/Match/MVarRenaming.c Lean/Meta/Match/Match.c Lean/Meta/Match/MatchPatternAttr.c Lean/Meta/Match/MatcherInfo.c Lean/Meta/MatchUtil.c Lean/Meta/Offset.c Lean/Meta/PPGoal.c Lean/Meta/RecursorInfo.c Lean/Meta/Reduce.c Lean/Meta/ReduceEval.c Lean/Meta/SizeOf.c Lean/Meta/SortLocalDecls.c Lean/Meta/SynthInstance.c Lean/Meta/Tactic.c Lean/Meta/Tactic/Apply.c Lean/Meta/Tactic/Assert.c Lean/Meta/Tactic/Assumption.c Lean/Meta/Tactic/AuxLemma.c Lean/Meta/Tactic/Cases.c Lean/Meta/Tactic/Clear.c Lean/Meta/Tactic/Constructor.c Lean/Meta/Tactic/Contradiction.c Lean/Meta/Tactic/Delta.c Lean/Meta/Tactic/ElimInfo.c Lean/Meta/Tactic/FVarSubst.c Lean/Meta/Tactic/Generalize.c Lean/Meta/Tactic/Induction.c Lean/Meta/Tactic/Injection.c Lean/Meta/Tactic/Intro.c Lean/Meta/Tactic/Replace.c Lean/Meta/Tactic/Revert.c Lean/Meta/Tactic/Rewrite.c Lean/Meta/Tactic/Simp.c Lean/Meta/Tactic/Simp/CongrLemmas.c Lean/Meta/Tactic/Simp/Main.c Lean/Meta/Tactic/Simp/Rewrite.c Lean/Meta/Tactic/Simp/SimpAll.c Lean/Meta/Tactic/Simp/SimpLemmas.c Lean/Meta/Tactic/Simp/Types.c Lean/Meta/Tactic/Subst.c Lean/Meta/Tactic/Util.c Lean/Meta/Transform.c Lean/Meta/TransparencyMode.c Lean/Meta/UnificationHint.c Lean/Meta/WHNF.c Lean/MetavarContext.c Lean/Modifiers.c Lean/MonadEnv.c Lean/Parser.c Lean/Parser/Attr.c Lean/Parser/Basic.c Lean/Parser/Command.c Lean/Parser/Do.c Lean/Parser/Extension.c Lean/Parser/Extra.c Lean/Parser/Level.c Lean/Parser/Module.c Lean/Parser/StrInterpolation.c Lean/Parser/Syntax.c Lean/Parser/Tactic.c Lean/Parser/Term.c Lean/ParserCompiler.c Lean/ParserCompiler/Attribute.c Lean/PrettyPrinter.c Lean/PrettyPrinter/Basic.c Lean/PrettyPrinter/Delaborator.c Lean/PrettyPrinter/Delaborator/Basic.c Lean/PrettyPrinter/Delaborator/Builtins.c Lean/PrettyPrinter/Formatter.c Lean/PrettyPrinter/Parenthesizer.c Lean/ProjFns.c Lean/ReducibilityAttrs.c Lean/ResolveName.c Lean/Runtime.c Lean/ScopedEnvExtension.c Lean/Server.c Lean/Server/AsyncList.c Lean/Server/Completion.c Lean/Server/FileSource.c Lean/Server/FileWorker.c Lean/Server/InfoUtils.c Lean/Server/Snapshots.c Lean/Server/Utils.c Lean/Server/Watchdog.c Lean/Structure.c Lean/Syntax.c Lean/ToExpr.c Lean/Util.c Lean/Util/CollectFVars.c Lean/Util/CollectLevelParams.c Lean/Util/CollectMVars.c Lean/Util/Constructions.c Lean/Util/FindExpr.c Lean/Util/FindMVar.c Lean/Util/FoldConsts.c Lean/Util/ForEachExpr.c Lean/Util/MonadBacktrack.c Lean/Util/MonadCache.c Lean/Util/OccursCheck.c Lean/Util/PPExt.c Lean/Util/Path.c Lean/Util/Profile.c Lean/Util/RecDepth.c Lean/Util/Recognizers.c Lean/Util/ReplaceExpr.c Lean/Util/ReplaceLevel.c Lean/Util/SCC.c Lean/Util/Sorry.c Lean/Util/Trace.c ) set_target_properties(Lean PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib/lean") diff --git a/stage0/stdlib/Lean/Elab/Inductive.c b/stage0/stdlib/Lean/Elab/Inductive.c index caba06a985..e0fab4f4b6 100644 --- a/stage0/stdlib/Lean/Elab/Inductive.c +++ b/stage0/stdlib/Lean/Elab/Inductive.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Elab.Inductive -// Imports: Init Lean.Util.ReplaceLevel Lean.Util.ReplaceExpr Lean.Util.CollectLevelParams Lean.Util.Constructions Lean.Meta.CollectFVars Lean.Meta.SizeOf Lean.Meta.ProofBelow Lean.Elab.Command Lean.Elab.DefView Lean.Elab.DeclUtil Lean.Elab.Deriving.Basic +// Imports: Init Lean.Util.ReplaceLevel Lean.Util.ReplaceExpr Lean.Util.CollectLevelParams Lean.Util.Constructions Lean.Meta.CollectFVars Lean.Meta.SizeOf Lean.Meta.IndPredBelow Lean.Elab.Command Lean.Elab.DefView Lean.Elab.DeclUtil Lean.Elab.Deriving.Basic #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -16,7 +16,6 @@ extern "C" { lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkParamsAndResultType_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkParamsAndResultType___lambda__1___closed__4; lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_mkProofBelow(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__2___closed__1; lean_object* lean_expr_update_forall(lean_object*, uint8_t, lean_object*, lean_object*); lean_object* lean_array_set(lean_object*, lean_object*, lean_object*); @@ -553,6 +552,7 @@ lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafeM_visit___at___private_Lean_El lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Array_contains___at_Lean_Elab_Command_accLevelAtCtor___spec__1(lean_object*, lean_object*); lean_object* l_Lean_indentExpr(lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkBelow(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Command_shouldInferResultUniverse_match__1(lean_object*); lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_withInductiveLocalDecls_loop___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_withAutoBoundImplicit___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -18563,7 +18563,7 @@ lean_object* x_19; lean_object* x_20; x_19 = lean_ctor_get(x_18, 1); lean_inc(x_19); lean_dec(x_18); -x_20 = l_Lean_Meta_mkProofBelow(x_4, x_8, x_9, x_10, x_11, x_19); +x_20 = l_Lean_Meta_IndPredBelow_mkBelow(x_4, x_8, x_9, x_10, x_11, x_19); return x_20; } else @@ -18672,7 +18672,7 @@ lean_object* x_40; lean_object* x_41; x_40 = lean_ctor_get(x_39, 1); lean_inc(x_40); lean_dec(x_39); -x_41 = l_Lean_Meta_mkProofBelow(x_4, x_8, x_9, x_36, x_11, x_40); +x_41 = l_Lean_Meta_IndPredBelow_mkBelow(x_4, x_8, x_9, x_36, x_11, x_40); return x_41; } else @@ -19076,7 +19076,7 @@ lean_object* initialize_Lean_Util_CollectLevelParams(lean_object*); lean_object* initialize_Lean_Util_Constructions(lean_object*); lean_object* initialize_Lean_Meta_CollectFVars(lean_object*); lean_object* initialize_Lean_Meta_SizeOf(lean_object*); -lean_object* initialize_Lean_Meta_ProofBelow(lean_object*); +lean_object* initialize_Lean_Meta_IndPredBelow(lean_object*); lean_object* initialize_Lean_Elab_Command(lean_object*); lean_object* initialize_Lean_Elab_DefView(lean_object*); lean_object* initialize_Lean_Elab_DeclUtil(lean_object*); @@ -19107,7 +19107,7 @@ lean_dec_ref(res); res = initialize_Lean_Meta_SizeOf(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Meta_ProofBelow(lean_io_mk_world()); +res = initialize_Lean_Meta_IndPredBelow(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); res = initialize_Lean_Elab_Command(lean_io_mk_world()); diff --git a/stage0/stdlib/Lean/Elab/Match.c b/stage0/stdlib/Lean/Elab/Match.c index 3c172def0d..18061a095c 100644 --- a/stage0/stdlib/Lean/Elab/Match.c +++ b/stage0/stdlib/Lean/Elab/Match.c @@ -14,7 +14,7 @@ extern "C" { #endif lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_finalizePatternDecls___spec__1___closed__2; -lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize_match__3___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize_match__3___rarg(lean_object*, lean_object*); lean_object* l_List_reverse___rarg(lean_object*); lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withExistingLocalDeclsImp___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_elabMatch_elabMatchDefault_match__1(lean_object*); @@ -52,6 +52,7 @@ lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Ela lean_object* l_Lean_Elab_Term_CollectPatternVars_collect_processCtorAppCore_match__1(lean_object*); lean_object* lean_mk_empty_array_with_capacity(lean_object*); lean_object* l_Lean_Elab_Term_CollectPatternVars_instInhabitedContext___closed__1; +lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop_match__2___rarg(lean_object*, lean_object*); lean_object* l_Std_fmt___at_Lean_Position_instToFormatPosition___spec__1(lean_object*); lean_object* lean_nat_div(lean_object*, lean_object*); lean_object* l_Std_RBNode_insert___at_Lean_NameSet_insert___spec__1(lean_object*, lean_object*, lean_object*); @@ -63,7 +64,7 @@ lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Ela lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___closed__4; lean_object* l_Lean_Elab_Term_CollectPatternVars_collect_pushNewArg___closed__2; lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__5; -lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_collectDeps_match__1(lean_object*); +lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_8556____closed__4; lean_object* l_Lean_LocalDecl_userName(lean_object*); lean_object* l_Lean_Elab_Term_elabMatch(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_nullKind; @@ -131,6 +132,7 @@ lean_object* l_Lean_Elab_Term_withDepElimPatterns(lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___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* l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_Elab_Term_CollectPatternVars_collect___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_liftMacroM___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize_match__4___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Array_extract___rarg(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_withPatternVars_loop___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_getHead_x3f(lean_object*); @@ -278,7 +280,7 @@ lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_isMatchUnit_x3f(lean_ lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_collectPatternVars_match__1(lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__13; lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_doubleQuotedNameToPattern___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_zip___rarg(lean_object*, lean_object*); lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatternVars_main___spec__3___closed__1; lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchTypeAndDiscrs_loop___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -296,7 +298,6 @@ lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_thro lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_throwInvalidPattern___rarg___closed__1; lean_object* l_Lean_Elab_Term_getPatternVars_match__1(lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchTypeAndDiscrs_loop___lambda__1___boxed(lean_object**); -lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_7999____closed__3; lean_object* l_Lean_Elab_Term_finalizePatternDecls___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_liftMacroM___rarg___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_withPatternVars___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -325,6 +326,7 @@ uint8_t l_Lean_Name_hasMacroScopes(lean_object*); lean_object* l_Lean_Elab_Term_tryPostponeIfNoneOrMVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_withPatternVars_loop_match__1(lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_getMVarSyntaxMVarId(lean_object*); +lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_8556____closed__5; lean_object* l_Lean_Elab_throwIllFormedSyntax___at___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_quotedNameToPattern___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Std_Range_myMacro____x40_Init_Data_Range___hyg_375____closed__2; lean_object* l_Lean_Elab_Term_elabTermEnsuringType(lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -350,7 +352,6 @@ lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_collectPatternVars___ lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Elab_Term_CollectPatternVars_main___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_withDepElimPatterns___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_CollectPatternVars_collect_processExplicitArg___closed__1; -lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_7999____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_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_expandNonAtomicDiscrs_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -411,7 +412,6 @@ lean_object* lean_array_get(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Util_0__Lean_Elab_expandMacro_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_mkLambdaFVars(lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_7999____closed__1; lean_object* l_Lean_Elab_Term_ToDepElimPattern_main(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabPatterns(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_CollectPatternVars_collect_processImplicitArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -430,6 +430,7 @@ lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_na lean_object* l_Lean_throwError___at_Lean_Elab_Term_CollectPatternVars_collect_processCtorAppCore___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_instantiateLocalDeclMVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_mkMatcher(lean_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_initFn____x40_Lean_Elab_Match___hyg_8556____closed__1; lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_isMatchUnit_x3f_match__2(lean_object*); lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_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_object*); extern lean_object* l_myMacro____x40_Init_Notation___hyg_15449____closed__2; @@ -439,14 +440,15 @@ lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_Match_0__Lean_Elab_Ter lean_object* l_Subarray_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_getIndicesToInclude___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_CollectPatternVars_collect_processCtorApp___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_Elab_Term_CollectPatternVars_collect___spec__1___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize_match__4(lean_object*); lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabPatterns___spec__2___closed__2; lean_object* l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_Elab_Term_quoteAutoTactic___spec__4___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop_match__2(lean_object*); lean_object* l_Lean_Expr_isFVar___boxed(lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_getDiscrs___boxed(lean_object*); lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_getPatternsVars___spec__4___rarg(lean_object*); lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___closed__11; lean_object* l_Nat_repr(lean_object*); -lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_collectDeps_match__1___rarg(lean_object*, lean_object*); uint8_t l_Lean_Option_get___at_Lean_ppExpr___spec__1(lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_elabMatch_elabMatchDefault___closed__1; lean_object* l_Lean_Elab_Term_CollectPatternVars_collect_processCtorAppContext_match__2(lean_object*); @@ -461,7 +463,7 @@ extern lean_object* l_Lean_Elab_autoBoundImplicitLocal___closed__1; lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_expandNonAtomicDiscrs_x3f_loop___closed__4; lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___lambda__2(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_inaccessible_x3f___boxed(lean_object*); lean_object* l_Lean_Syntax_getId(lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_getMatchOptType(lean_object*); @@ -483,6 +485,7 @@ lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_Match_0 lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_expandNonAtomicDiscrs_x3f_loop___closed__1; lean_object* l_Lean_throwError___at_Lean_Elab_Term_CollectPatternVars_collect_processCtorAppCore___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Parser_Term_explicitUniv___elambda__1___closed__2; +lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_8556____closed__2; lean_object* l_Lean_Elab_Term_finalizePatternDecls_match__2(lean_object*); lean_object* l_Lean_Elab_Term_CollectPatternVars_collect_processCtor(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabPatterns___spec__2___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -559,7 +562,6 @@ lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_thro lean_object* l_ReaderT_bind___at_Lean_Elab_Term_instMonadLogTermElabM___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___lambda__1___closed__2; lean_object* l_Lean_Elab_Term_elabTermEnsuringType___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_7999____closed__5; lean_object* l_Lean_Meta_whnf(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Elab_throwAbortTerm___rarg___closed__1; lean_object* l_Lean_Elab_Term_mkInaccessible(lean_object*); @@ -581,7 +583,7 @@ lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize_match__1(l lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_withPatternVars_loop___rarg___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___closed__11; extern lean_object* l_Lean_NameSet_empty; -lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews(lean_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_mkFreshId___at___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_mkLocalDeclFor___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_ConstantInfo_type(lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabAtomicDiscr___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -696,6 +698,7 @@ lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_ lean_object* l_Lean_mkApp(lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_elabInaccessible___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux_match__4(lean_object*); +lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_8556____closed__3; lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatternVars_main___spec__3(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_Elab_Term_SavedState_restore(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__2(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -709,7 +712,6 @@ lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Ela lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_throwCtorExpected(lean_object*); lean_object* l_Lean_Elab_Term_CollectPatternVars_collect_processCtorAppCore_match__2___rarg(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_7999____closed__4; lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchTypeAndDiscrs_match__1___rarg(lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_waitExpectedTypeAndDiscrs(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -755,7 +757,6 @@ lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___lambda__1___boxed(lea lean_object* l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__3___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp___spec__1(size_t, size_t, lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize_match__3(lean_object*); -lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux_match__5(lean_object*); extern lean_object* l_Lean_initFn____x40_Lean_Parser_Extra___hyg_938____closed__7; lean_object* l_Lean_Elab_throwIllFormedSyntax___at___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_quotedNameToPattern___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_throwEx(lean_object*); @@ -909,7 +910,6 @@ lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_ToDepElimPattern_main___ lean_object* l_Lean_Elab_Term_reportMatcherResultErrors(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Meta_substCore___lambda__1___closed__3; lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_withElaboratedLHS_match__1(lean_object*); -lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux_match__5___rarg(lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___closed__3; lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_processVar___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_mkEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -918,7 +918,7 @@ lean_object* l_Lean_Elab_Term_reportMatcherResultErrors___closed__2; lean_object* l_Lean_Elab_Term_CollectPatternVars_collect_processCtorAppCore_match__2(lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabDiscrsWitMatchType_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l___regBuiltin_Lean_Elab_Term_elabMVarWithIdKind___closed__1; -lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux_match__4___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux_match__4___rarg(lean_object*, lean_object*); lean_object* l_Lean_Meta_isProp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___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* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_getPatternsVars___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*); @@ -930,12 +930,12 @@ lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Ela lean_object* l_Array_foldrMUnsafe_fold___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__4(size_t, 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_Meta_kabstract(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchTypeAndDiscrs_loop___lambda__2(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_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux_match__3___rarg(lean_object*, lean_object*); +lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux_match__3___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_isLocalIdent_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__4___lambda__1___closed__1; lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_Closure_mkBinding___spec__1(size_t, size_t, lean_object*); -lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_11249_(lean_object*); -lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_7999_(lean_object*); +lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_11248_(lean_object*); +lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_8556_(lean_object*); lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_2274_(lean_object*); lean_object* l_Lean_mkConst(lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_reportMatcherResultErrors___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -971,7 +971,7 @@ lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_withElaboratedLHS(lea uint8_t l___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_mkLocalDeclFor___lambda__1(lean_object*, lean_object*); lean_object* l_Lean_Meta_forallTelescopeReducing___at_Lean_Elab_Term_CollectPatternVars_collect_processCtorAppCore___spec__4(lean_object*); lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabDiscrsWitMatchType___spec__1___lambda__3(lean_object*, size_t, lean_object*, lean_object*, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_withDepElimPatterns___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_isPatternVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabPatterns_match__1___rarg(lean_object*, lean_object*); @@ -984,7 +984,7 @@ lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___closed__2; lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___closed__1; lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_getNumExplicitCtorParams___closed__1; lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_collectPatternVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_CollectPatternVars_collect_pushNewArg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_myMacro____x40_Init_Notation___hyg_14904____closed__8; lean_object* l_Lean_Meta_sortLocalDecls(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -24230,6 +24230,1823 @@ lean_dec(x_1); return x_10; } } +lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +lean_object* x_4; +lean_dec(x_2); +x_4 = lean_apply_1(x_3, x_1); +return x_4; +} +else +{ +lean_object* x_5; lean_object* x_6; +lean_dec(x_3); +x_5 = lean_ctor_get(x_1, 0); +lean_inc(x_5); +lean_dec(x_1); +x_6 = lean_apply_1(x_2, x_5); +return x_6; +} +} +} +lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize_match__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize_match__1___rarg), 3, 0); +return x_2; +} +} +lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize_match__2___rarg(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; lean_object* x_4; lean_object* x_5; +x_3 = lean_ctor_get(x_1, 0); +lean_inc(x_3); +x_4 = lean_ctor_get(x_1, 1); +lean_inc(x_4); +lean_dec(x_1); +x_5 = lean_apply_2(x_2, x_3, x_4); +return x_5; +} +} +lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize_match__2(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize_match__2___rarg), 2, 0); +return x_2; +} +} +lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize_match__3___rarg(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; lean_object* x_4; lean_object* x_5; +x_3 = lean_ctor_get(x_1, 0); +lean_inc(x_3); +x_4 = lean_ctor_get(x_1, 1); +lean_inc(x_4); +lean_dec(x_1); +x_5 = lean_apply_2(x_2, x_3, x_4); +return x_5; +} +} +lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize_match__3(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize_match__3___rarg), 2, 0); +return x_2; +} +} +lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize_match__4___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +lean_object* x_4; lean_object* x_5; +lean_dec(x_3); +x_4 = lean_ctor_get(x_1, 0); +lean_inc(x_4); +lean_dec(x_1); +x_5 = lean_apply_1(x_2, x_4); +return x_5; +} +else +{ +lean_object* x_6; +lean_dec(x_2); +x_6 = lean_apply_1(x_3, x_1); +return x_6; +} +} +} +lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize_match__4(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize_match__4___rarg), 3, 0); +return x_2; +} +} +lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__1(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4) { +_start: +{ +uint8_t x_5; +x_5 = x_2 == x_3; +if (x_5 == 0) +{ +lean_object* x_6; size_t x_7; size_t x_8; lean_object* x_9; uint8_t x_10; +x_6 = lean_array_uget(x_1, x_2); +x_7 = 1; +x_8 = x_2 + x_7; +x_9 = lean_ctor_get(x_6, 0); +lean_inc(x_9); +x_10 = l_Lean_Expr_isFVar(x_9); +lean_dec(x_9); +if (x_10 == 0) +{ +lean_dec(x_6); +x_2 = x_8; +goto _start; +} +else +{ +lean_object* x_12; +x_12 = lean_array_push(x_4, x_6); +x_2 = x_8; +x_4 = x_12; +goto _start; +} +} +else +{ +return x_4; +} +} +} +lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__2(size_t x_1, size_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +_start: +{ +uint8_t x_11; +x_11 = x_2 < x_1; +if (x_11 == 0) +{ +lean_object* x_12; lean_object* x_13; +x_12 = x_3; +x_13 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_13, 0, x_12); +lean_ctor_set(x_13, 1, x_10); +return x_13; +} +else +{ +lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; size_t x_20; size_t x_21; lean_object* x_22; lean_object* x_23; +x_14 = lean_array_uget(x_3, x_2); +x_15 = lean_unsigned_to_nat(0u); +x_16 = lean_array_uset(x_3, x_2, x_15); +x_17 = x_14; +x_18 = lean_ctor_get(x_8, 3); +x_19 = l_Lean_mkIdentFrom(x_18, x_17); +x_20 = 1; +x_21 = x_2 + x_20; +x_22 = x_19; +x_23 = lean_array_uset(x_16, x_2, x_22); +x_2 = x_21; +x_3 = x_23; +goto _start; +} +} +} +uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__3(lean_object* x_1, lean_object* x_2, size_t x_3, size_t x_4) { +_start: +{ +uint8_t x_5; +x_5 = x_3 == x_4; +if (x_5 == 0) +{ +lean_object* x_6; +x_6 = lean_array_uget(x_2, x_3); +if (lean_obj_tag(x_6) == 0) +{ +lean_object* x_7; uint8_t x_8; +x_7 = lean_ctor_get(x_6, 0); +lean_inc(x_7); +lean_dec(x_6); +x_8 = lean_name_eq(x_7, x_1); +lean_dec(x_7); +if (x_8 == 0) +{ +size_t x_9; size_t x_10; +x_9 = 1; +x_10 = x_3 + x_9; +x_3 = x_10; +goto _start; +} +else +{ +uint8_t x_12; +x_12 = 1; +return x_12; +} +} +else +{ +size_t x_13; size_t x_14; +lean_dec(x_6); +x_13 = 1; +x_14 = x_3 + x_13; +x_3 = x_14; +goto _start; +} +} +else +{ +uint8_t x_16; +x_16 = 0; +return x_16; +} +} +} +lean_object* l_Array_foldrMUnsafe_fold___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__4(size_t x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +_start: +{ +uint8_t x_14; +x_14 = x_4 == x_5; +if (x_14 == 0) +{ +size_t x_15; size_t x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; +x_15 = 1; +x_16 = x_4 - x_15; +x_17 = lean_array_uget(x_3, x_16); +x_18 = l_Lean_Expr_fvarId_x21(x_17); +lean_dec(x_17); +lean_inc(x_9); +x_19 = l_Lean_Meta_getLocalDecl(x_18, x_9, x_10, x_11, x_12, x_13); +if (lean_obj_tag(x_19) == 0) +{ +lean_object* x_20; lean_object* x_21; lean_object* x_22; uint8_t x_23; +x_20 = lean_ctor_get(x_19, 0); +lean_inc(x_20); +x_21 = lean_ctor_get(x_19, 1); +lean_inc(x_21); +lean_dec(x_19); +x_22 = l_Lean_LocalDecl_userName(x_20); +lean_dec(x_20); +x_23 = l_Array_contains___at_Lean_findField_x3f___spec__1(x_6, x_22); +if (x_23 == 0) +{ +lean_object* x_24; lean_object* x_25; uint8_t x_26; +x_24 = lean_array_get_size(x_2); +x_25 = lean_unsigned_to_nat(0u); +x_26 = lean_nat_dec_lt(x_25, x_24); +if (x_26 == 0) +{ +lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; +lean_dec(x_24); +x_27 = lean_box(0); +x_28 = l_Lean_Elab_Term_addNamedArg___lambda__1(x_6, x_22, x_27, x_7, x_8, x_9, x_10, x_11, x_12, x_21); +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_4 = x_16; +x_6 = x_29; +x_13 = x_30; +goto _start; +} +else +{ +uint8_t x_32; +x_32 = lean_nat_dec_le(x_24, x_24); +if (x_32 == 0) +{ +lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; +lean_dec(x_24); +x_33 = lean_box(0); +x_34 = l_Lean_Elab_Term_addNamedArg___lambda__1(x_6, x_22, x_33, x_7, x_8, x_9, x_10, x_11, x_12, x_21); +x_35 = lean_ctor_get(x_34, 0); +lean_inc(x_35); +x_36 = lean_ctor_get(x_34, 1); +lean_inc(x_36); +lean_dec(x_34); +x_4 = x_16; +x_6 = x_35; +x_13 = x_36; +goto _start; +} +else +{ +size_t x_38; uint8_t x_39; +x_38 = lean_usize_of_nat(x_24); +lean_dec(x_24); +x_39 = l_Array_anyMUnsafe_any___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__3(x_22, x_2, x_1, x_38); +if (x_39 == 0) +{ +lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; +x_40 = lean_box(0); +x_41 = l_Lean_Elab_Term_addNamedArg___lambda__1(x_6, x_22, x_40, x_7, x_8, x_9, x_10, x_11, x_12, x_21); +x_42 = lean_ctor_get(x_41, 0); +lean_inc(x_42); +x_43 = lean_ctor_get(x_41, 1); +lean_inc(x_43); +lean_dec(x_41); +x_4 = x_16; +x_6 = x_42; +x_13 = x_43; +goto _start; +} +else +{ +lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; +x_45 = l___private_Lean_CoreM_0__Lean_Core_mkFreshNameImp(x_22, x_11, x_12, x_21); +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_box(0); +x_49 = l_Lean_Elab_Term_addNamedArg___lambda__1(x_6, x_46, x_48, x_7, x_8, x_9, x_10, x_11, x_12, x_47); +x_50 = lean_ctor_get(x_49, 0); +lean_inc(x_50); +x_51 = lean_ctor_get(x_49, 1); +lean_inc(x_51); +lean_dec(x_49); +x_4 = x_16; +x_6 = x_50; +x_13 = x_51; +goto _start; +} +} +} +} +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; lean_object* x_59; +x_53 = l___private_Lean_CoreM_0__Lean_Core_mkFreshNameImp(x_22, x_11, x_12, x_21); +x_54 = lean_ctor_get(x_53, 0); +lean_inc(x_54); +x_55 = lean_ctor_get(x_53, 1); +lean_inc(x_55); +lean_dec(x_53); +x_56 = lean_box(0); +x_57 = l_Lean_Elab_Term_addNamedArg___lambda__1(x_6, x_54, x_56, x_7, x_8, x_9, x_10, x_11, x_12, x_55); +x_58 = lean_ctor_get(x_57, 0); +lean_inc(x_58); +x_59 = lean_ctor_get(x_57, 1); +lean_inc(x_59); +lean_dec(x_57); +x_4 = x_16; +x_6 = x_58; +x_13 = x_59; +goto _start; +} +} +else +{ +uint8_t x_61; +lean_dec(x_9); +lean_dec(x_6); +x_61 = !lean_is_exclusive(x_19); +if (x_61 == 0) +{ +return x_19; +} +else +{ +lean_object* x_62; lean_object* x_63; lean_object* x_64; +x_62 = lean_ctor_get(x_19, 0); +x_63 = lean_ctor_get(x_19, 1); +lean_inc(x_63); +lean_inc(x_62); +lean_dec(x_19); +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; +} +} +} +else +{ +lean_object* x_65; +lean_dec(x_9); +x_65 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_65, 0, x_6); +lean_ctor_set(x_65, 1, x_13); +return x_65; +} +} +} +lean_object* l_Array_foldrMUnsafe_fold___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__5(size_t x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +_start: +{ +uint8_t x_14; +x_14 = x_4 == x_5; +if (x_14 == 0) +{ +size_t x_15; size_t x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; +x_15 = 1; +x_16 = x_4 - x_15; +x_17 = lean_array_uget(x_3, x_16); +x_18 = l_Lean_Expr_fvarId_x21(x_17); +lean_dec(x_17); +lean_inc(x_9); +x_19 = l_Lean_Meta_getLocalDecl(x_18, x_9, x_10, x_11, x_12, x_13); +if (lean_obj_tag(x_19) == 0) +{ +lean_object* x_20; lean_object* x_21; lean_object* x_22; uint8_t x_23; +x_20 = lean_ctor_get(x_19, 0); +lean_inc(x_20); +x_21 = lean_ctor_get(x_19, 1); +lean_inc(x_21); +lean_dec(x_19); +x_22 = l_Lean_LocalDecl_userName(x_20); +lean_dec(x_20); +x_23 = l_Array_contains___at_Lean_findField_x3f___spec__1(x_6, x_22); +if (x_23 == 0) +{ +lean_object* x_24; lean_object* x_25; uint8_t x_26; +x_24 = lean_array_get_size(x_2); +x_25 = lean_unsigned_to_nat(0u); +x_26 = lean_nat_dec_lt(x_25, x_24); +if (x_26 == 0) +{ +lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; +lean_dec(x_24); +x_27 = lean_box(0); +x_28 = l_Lean_Elab_Term_addNamedArg___lambda__1(x_6, x_22, x_27, x_7, x_8, x_9, x_10, x_11, x_12, x_21); +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_4 = x_16; +x_6 = x_29; +x_13 = x_30; +goto _start; +} +else +{ +uint8_t x_32; +x_32 = lean_nat_dec_le(x_24, x_24); +if (x_32 == 0) +{ +lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; +lean_dec(x_24); +x_33 = lean_box(0); +x_34 = l_Lean_Elab_Term_addNamedArg___lambda__1(x_6, x_22, x_33, x_7, x_8, x_9, x_10, x_11, x_12, x_21); +x_35 = lean_ctor_get(x_34, 0); +lean_inc(x_35); +x_36 = lean_ctor_get(x_34, 1); +lean_inc(x_36); +lean_dec(x_34); +x_4 = x_16; +x_6 = x_35; +x_13 = x_36; +goto _start; +} +else +{ +size_t x_38; uint8_t x_39; +x_38 = lean_usize_of_nat(x_24); +lean_dec(x_24); +x_39 = l_Array_anyMUnsafe_any___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__3(x_22, x_2, x_1, x_38); +if (x_39 == 0) +{ +lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; +x_40 = lean_box(0); +x_41 = l_Lean_Elab_Term_addNamedArg___lambda__1(x_6, x_22, x_40, x_7, x_8, x_9, x_10, x_11, x_12, x_21); +x_42 = lean_ctor_get(x_41, 0); +lean_inc(x_42); +x_43 = lean_ctor_get(x_41, 1); +lean_inc(x_43); +lean_dec(x_41); +x_4 = x_16; +x_6 = x_42; +x_13 = x_43; +goto _start; +} +else +{ +lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; +x_45 = l___private_Lean_CoreM_0__Lean_Core_mkFreshNameImp(x_22, x_11, x_12, x_21); +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_box(0); +x_49 = l_Lean_Elab_Term_addNamedArg___lambda__1(x_6, x_46, x_48, x_7, x_8, x_9, x_10, x_11, x_12, x_47); +x_50 = lean_ctor_get(x_49, 0); +lean_inc(x_50); +x_51 = lean_ctor_get(x_49, 1); +lean_inc(x_51); +lean_dec(x_49); +x_4 = x_16; +x_6 = x_50; +x_13 = x_51; +goto _start; +} +} +} +} +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; lean_object* x_59; +x_53 = l___private_Lean_CoreM_0__Lean_Core_mkFreshNameImp(x_22, x_11, x_12, x_21); +x_54 = lean_ctor_get(x_53, 0); +lean_inc(x_54); +x_55 = lean_ctor_get(x_53, 1); +lean_inc(x_55); +lean_dec(x_53); +x_56 = lean_box(0); +x_57 = l_Lean_Elab_Term_addNamedArg___lambda__1(x_6, x_54, x_56, x_7, x_8, x_9, x_10, x_11, x_12, x_55); +x_58 = lean_ctor_get(x_57, 0); +lean_inc(x_58); +x_59 = lean_ctor_get(x_57, 1); +lean_inc(x_59); +lean_dec(x_57); +x_4 = x_16; +x_6 = x_58; +x_13 = x_59; +goto _start; +} +} +else +{ +uint8_t x_61; +lean_dec(x_9); +lean_dec(x_6); +x_61 = !lean_is_exclusive(x_19); +if (x_61 == 0) +{ +return x_19; +} +else +{ +lean_object* x_62; lean_object* x_63; lean_object* x_64; +x_62 = lean_ctor_get(x_19, 0); +x_63 = lean_ctor_get(x_19, 1); +lean_inc(x_63); +lean_inc(x_62); +lean_dec(x_19); +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; +} +} +} +else +{ +lean_object* x_65; +lean_dec(x_9); +x_65 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_65, 0, x_6); +lean_ctor_set(x_65, 1, x_13); +return x_65; +} +} +} +lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__6___lambda__1(lean_object* x_1, size_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; lean_object* x_13; lean_object* x_45; +x_11 = lean_ctor_get(x_1, 1); +lean_inc(x_11); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +x_45 = l_Lean_Elab_Term_getPatternsVars(x_11, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +if (lean_obj_tag(x_45) == 0) +{ +lean_object* x_46; lean_object* x_47; lean_object* x_48; uint8_t x_49; +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_array_get_size(x_3); +x_49 = lean_nat_dec_le(x_48, x_48); +if (x_49 == 0) +{ +lean_object* x_50; uint8_t x_51; +x_50 = lean_unsigned_to_nat(0u); +x_51 = lean_nat_dec_lt(x_50, x_48); +if (x_51 == 0) +{ +lean_object* x_52; +lean_dec(x_48); +lean_dec(x_46); +x_52 = l_Array_empty___closed__1; +x_12 = x_52; +x_13 = x_47; +goto block_44; +} +else +{ +size_t x_53; lean_object* x_54; lean_object* x_55; +x_53 = lean_usize_of_nat(x_48); +lean_dec(x_48); +x_54 = l_Array_empty___closed__1; +lean_inc(x_6); +x_55 = l_Array_foldrMUnsafe_fold___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__4(x_2, x_46, x_3, x_53, x_2, x_54, x_4, x_5, x_6, x_7, x_8, x_9, x_47); +lean_dec(x_46); +if (lean_obj_tag(x_55) == 0) +{ +lean_object* x_56; lean_object* x_57; +x_56 = lean_ctor_get(x_55, 0); +lean_inc(x_56); +x_57 = lean_ctor_get(x_55, 1); +lean_inc(x_57); +lean_dec(x_55); +x_12 = x_56; +x_13 = x_57; +goto block_44; +} +else +{ +uint8_t x_58; +lean_dec(x_11); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_1); +x_58 = !lean_is_exclusive(x_55); +if (x_58 == 0) +{ +return x_55; +} +else +{ +lean_object* x_59; lean_object* x_60; lean_object* x_61; +x_59 = lean_ctor_get(x_55, 0); +x_60 = lean_ctor_get(x_55, 1); +lean_inc(x_60); +lean_inc(x_59); +lean_dec(x_55); +x_61 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_61, 0, x_59); +lean_ctor_set(x_61, 1, x_60); +return x_61; +} +} +} +} +else +{ +lean_object* x_62; uint8_t x_63; +x_62 = lean_unsigned_to_nat(0u); +x_63 = lean_nat_dec_lt(x_62, x_48); +if (x_63 == 0) +{ +lean_object* x_64; +lean_dec(x_48); +lean_dec(x_46); +x_64 = l_Array_empty___closed__1; +x_12 = x_64; +x_13 = x_47; +goto block_44; +} +else +{ +size_t x_65; lean_object* x_66; lean_object* x_67; +x_65 = lean_usize_of_nat(x_48); +lean_dec(x_48); +x_66 = l_Array_empty___closed__1; +lean_inc(x_6); +x_67 = l_Array_foldrMUnsafe_fold___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__5(x_2, x_46, x_3, x_65, x_2, x_66, x_4, x_5, x_6, x_7, x_8, x_9, x_47); +lean_dec(x_46); +if (lean_obj_tag(x_67) == 0) +{ +lean_object* x_68; lean_object* x_69; +x_68 = lean_ctor_get(x_67, 0); +lean_inc(x_68); +x_69 = lean_ctor_get(x_67, 1); +lean_inc(x_69); +lean_dec(x_67); +x_12 = x_68; +x_13 = x_69; +goto block_44; +} +else +{ +uint8_t x_70; +lean_dec(x_11); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_1); +x_70 = !lean_is_exclusive(x_67); +if (x_70 == 0) +{ +return x_67; +} +else +{ +lean_object* x_71; lean_object* x_72; lean_object* x_73; +x_71 = lean_ctor_get(x_67, 0); +x_72 = lean_ctor_get(x_67, 1); +lean_inc(x_72); +lean_inc(x_71); +lean_dec(x_67); +x_73 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_73, 0, x_71); +lean_ctor_set(x_73, 1, x_72); +return x_73; +} +} +} +} +} +else +{ +uint8_t x_74; +lean_dec(x_11); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_1); +x_74 = !lean_is_exclusive(x_45); +if (x_74 == 0) +{ +return x_45; +} +else +{ +lean_object* x_75; lean_object* x_76; lean_object* x_77; +x_75 = lean_ctor_get(x_45, 0); +x_76 = lean_ctor_get(x_45, 1); +lean_inc(x_76); +lean_inc(x_75); +lean_dec(x_45); +x_77 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_77, 0, x_75); +lean_ctor_set(x_77, 1, x_76); +return x_77; +} +} +block_44: +{ +lean_object* x_14; lean_object* x_15; size_t x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_14 = l_Array_reverse___rarg(x_12); +x_15 = lean_array_get_size(x_14); +x_16 = lean_usize_of_nat(x_15); +lean_dec(x_15); +x_17 = x_14; +x_18 = lean_box_usize(x_16); +x_19 = lean_box_usize(x_2); +x_20 = lean_alloc_closure((void*)(l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__2___boxed), 10, 3); +lean_closure_set(x_20, 0, x_18); +lean_closure_set(x_20, 1, x_19); +lean_closure_set(x_20, 2, x_17); +x_21 = x_20; +x_22 = lean_apply_7(x_21, x_4, x_5, x_6, x_7, x_8, x_9, x_13); +if (lean_obj_tag(x_22) == 0) +{ +uint8_t x_23; +x_23 = !lean_is_exclusive(x_22); +if (x_23 == 0) +{ +lean_object* x_24; lean_object* x_25; lean_object* x_26; uint8_t x_27; +x_24 = lean_ctor_get(x_22, 0); +x_25 = lean_ctor_get(x_1, 0); +lean_inc(x_25); +x_26 = l_Array_append___rarg(x_11, x_24); +lean_dec(x_24); +x_27 = !lean_is_exclusive(x_1); +if (x_27 == 0) +{ +lean_object* x_28; lean_object* x_29; +x_28 = lean_ctor_get(x_1, 1); +lean_dec(x_28); +x_29 = lean_ctor_get(x_1, 0); +lean_dec(x_29); +lean_ctor_set(x_1, 1, x_26); +lean_ctor_set(x_22, 0, x_1); +return x_22; +} +else +{ +lean_object* x_30; lean_object* x_31; +x_30 = lean_ctor_get(x_1, 2); +lean_inc(x_30); +lean_dec(x_1); +x_31 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_31, 0, x_25); +lean_ctor_set(x_31, 1, x_26); +lean_ctor_set(x_31, 2, x_30); +lean_ctor_set(x_22, 0, x_31); +return x_22; +} +} +else +{ +lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; +x_32 = lean_ctor_get(x_22, 0); +x_33 = lean_ctor_get(x_22, 1); +lean_inc(x_33); +lean_inc(x_32); +lean_dec(x_22); +x_34 = lean_ctor_get(x_1, 0); +lean_inc(x_34); +x_35 = l_Array_append___rarg(x_11, x_32); +lean_dec(x_32); +x_36 = lean_ctor_get(x_1, 2); +lean_inc(x_36); +if (lean_is_exclusive(x_1)) { + lean_ctor_release(x_1, 0); + lean_ctor_release(x_1, 1); + lean_ctor_release(x_1, 2); + x_37 = x_1; +} else { + lean_dec_ref(x_1); + x_37 = lean_box(0); +} +if (lean_is_scalar(x_37)) { + x_38 = lean_alloc_ctor(0, 3, 0); +} else { + x_38 = x_37; +} +lean_ctor_set(x_38, 0, x_34); +lean_ctor_set(x_38, 1, x_35); +lean_ctor_set(x_38, 2, x_36); +x_39 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_39, 0, x_38); +lean_ctor_set(x_39, 1, x_33); +return x_39; +} +} +else +{ +uint8_t x_40; +lean_dec(x_11); +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_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__6___lambda__2(size_t x_1, lean_object* x_2, lean_object* x_3, size_t x_4, lean_object* 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: +{ +size_t x_15; size_t x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; +x_15 = 1; +x_16 = x_1 + x_15; +x_17 = x_7; +x_18 = lean_array_uset(x_2, x_1, x_17); +x_19 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__6(x_3, x_4, x_5, x_6, x_16, x_18, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +return x_19; +} +} +lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__6(lean_object* x_1, size_t x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +_start: +{ +uint8_t x_14; +x_14 = x_5 < x_4; +if (x_14 == 0) +{ +lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; +lean_dec(x_3); +x_15 = lean_ctor_get(x_1, 0); +lean_inc(x_15); +lean_dec(x_1); +x_16 = lean_ctor_get(x_15, 1); +lean_inc(x_16); +lean_dec(x_15); +x_17 = x_6; +x_18 = lean_apply_9(x_16, lean_box(0), x_17, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +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; +x_19 = lean_array_uget(x_6, x_5); +x_20 = lean_unsigned_to_nat(0u); +x_21 = lean_array_uset(x_6, x_5, x_20); +x_22 = lean_ctor_get(x_1, 1); +lean_inc(x_22); +x_23 = x_19; +x_24 = lean_box_usize(x_2); +lean_inc(x_3); +x_25 = lean_alloc_closure((void*)(l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__6___lambda__1___boxed), 10, 3); +lean_closure_set(x_25, 0, x_23); +lean_closure_set(x_25, 1, x_24); +lean_closure_set(x_25, 2, x_3); +x_26 = lean_box_usize(x_5); +x_27 = lean_box_usize(x_2); +x_28 = lean_box_usize(x_4); +x_29 = lean_alloc_closure((void*)(l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__6___lambda__2___boxed), 14, 6); +lean_closure_set(x_29, 0, x_26); +lean_closure_set(x_29, 1, x_21); +lean_closure_set(x_29, 2, x_1); +lean_closure_set(x_29, 3, x_27); +lean_closure_set(x_29, 4, x_3); +lean_closure_set(x_29, 5, x_28); +x_30 = lean_apply_11(x_22, lean_box(0), lean_box(0), x_25, x_29, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +return x_30; +} +} +} +lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__7(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +_start: +{ +uint8_t x_12; +x_12 = x_2 == x_3; +if (x_12 == 0) +{ +lean_object* x_13; lean_object* x_14; +x_13 = lean_array_uget(x_1, x_2); +lean_inc(x_7); +lean_inc(x_13); +x_14 = l_Lean_Meta_getLocalDecl(x_13, x_7, x_8, x_9, x_10, x_11); +if (lean_obj_tag(x_14) == 0) +{ +lean_object* x_15; lean_object* x_16; uint8_t x_17; +x_15 = lean_ctor_get(x_14, 0); +lean_inc(x_15); +x_16 = lean_ctor_get(x_14, 1); +lean_inc(x_16); +lean_dec(x_14); +x_17 = l_Lean_LocalDecl_isLet(x_15); +lean_dec(x_15); +if (x_17 == 0) +{ +lean_object* x_18; size_t x_19; size_t x_20; +x_18 = lean_array_push(x_4, x_13); +x_19 = 1; +x_20 = x_2 + x_19; +x_2 = x_20; +x_4 = x_18; +x_11 = x_16; +goto _start; +} +else +{ +size_t x_22; size_t x_23; +lean_dec(x_13); +x_22 = 1; +x_23 = x_2 + x_22; +x_2 = x_23; +x_11 = x_16; +goto _start; +} +} +else +{ +uint8_t x_25; +lean_dec(x_13); +lean_dec(x_7); +lean_dec(x_4); +x_25 = !lean_is_exclusive(x_14); +if (x_25 == 0) +{ +return x_14; +} +else +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_26 = lean_ctor_get(x_14, 0); +x_27 = lean_ctor_get(x_14, 1); +lean_inc(x_27); +lean_inc(x_26); +lean_dec(x_14); +x_28 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_28, 0, x_26); +lean_ctor_set(x_28, 1, x_27); +return x_28; +} +} +} +else +{ +lean_object* x_29; +lean_dec(x_7); +x_29 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_29, 0, x_4); +lean_ctor_set(x_29, 1, x_11); +return x_29; +} +} +} +static lean_object* _init_l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___lambda__1___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Array_empty___closed__1; +x_2 = l_Array_unzip___rarg(x_1); +return x_2; +} +} +lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___lambda__1(lean_object* x_1, lean_object* x_2, size_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +_start: +{ +uint8_t x_13; uint8_t x_14; lean_object* x_15; +x_13 = 0; +x_14 = 1; +lean_inc(x_8); +x_15 = l_Lean_Meta_mkForallFVars(x_1, x_5, x_13, x_14, x_8, x_9, x_10, x_11, x_12); +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; uint8_t x_21; +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_Array_zip___rarg(x_2, x_4); +x_19 = lean_array_get_size(x_18); +x_20 = lean_unsigned_to_nat(0u); +x_21 = lean_nat_dec_lt(x_20, x_19); +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_dec(x_19); +lean_dec(x_18); +x_22 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___lambda__1___closed__1; +x_23 = lean_ctor_get(x_22, 0); +lean_inc(x_23); +x_24 = lean_ctor_get(x_22, 1); +lean_inc(x_24); +x_25 = l_Lean_Expr_replaceFVars(x_16, x_23, x_24); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_16); +x_26 = l_Lean_Meta_mkForallFVars(x_4, x_25, x_13, x_14, x_8, x_9, x_10, x_11, x_17); +return x_26; +} +else +{ +uint8_t x_27; +x_27 = lean_nat_dec_le(x_19, x_19); +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_dec(x_19); +lean_dec(x_18); +x_28 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___lambda__1___closed__1; +x_29 = lean_ctor_get(x_28, 0); +lean_inc(x_29); +x_30 = lean_ctor_get(x_28, 1); +lean_inc(x_30); +x_31 = l_Lean_Expr_replaceFVars(x_16, x_29, x_30); +lean_dec(x_30); +lean_dec(x_29); +lean_dec(x_16); +x_32 = l_Lean_Meta_mkForallFVars(x_4, x_31, x_13, x_14, x_8, x_9, x_10, x_11, x_17); +return x_32; +} +else +{ +size_t x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; +x_33 = lean_usize_of_nat(x_19); +lean_dec(x_19); +x_34 = l_Array_empty___closed__1; +x_35 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__1(x_18, x_3, x_33, x_34); +lean_dec(x_18); +x_36 = l_Array_unzip___rarg(x_35); +lean_dec(x_35); +x_37 = lean_ctor_get(x_36, 0); +lean_inc(x_37); +x_38 = lean_ctor_get(x_36, 1); +lean_inc(x_38); +lean_dec(x_36); +x_39 = l_Lean_Expr_replaceFVars(x_16, x_37, x_38); +lean_dec(x_38); +lean_dec(x_37); +lean_dec(x_16); +x_40 = l_Lean_Meta_mkForallFVars(x_4, x_39, x_13, x_14, x_8, x_9, x_10, x_11, x_17); +return x_40; +} +} +} +else +{ +uint8_t x_41; +lean_dec(x_8); +lean_dec(x_4); +x_41 = !lean_is_exclusive(x_15); +if (x_41 == 0) +{ +return x_15; +} +else +{ +lean_object* x_42; lean_object* x_43; lean_object* x_44; +x_42 = lean_ctor_get(x_15, 0); +x_43 = lean_ctor_get(x_15, 1); +lean_inc(x_43); +lean_inc(x_42); +lean_dec(x_15); +x_44 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_44, 0, x_42); +lean_ctor_set(x_44, 1, x_43); +return x_44; +} +} +} +} +static lean_object* _init_l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___lambda__2___boxed__const__1() { +_start: +{ +size_t x_1; lean_object* x_2; +x_1 = 0; +x_2 = lean_box_usize(x_1); +return x_2; +} +} +lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, uint8_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +_start: +{ +if (x_4 == 0) +{ +uint8_t x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +x_12 = 0; +x_13 = lean_box(x_12); +x_14 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_14, 0, x_1); +lean_ctor_set(x_14, 1, x_13); +x_15 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_15, 0, x_2); +lean_ctor_set(x_15, 1, x_14); +x_16 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_16, 0, x_3); +lean_ctor_set(x_16, 1, x_15); +x_17 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_17, 0, x_16); +lean_ctor_set(x_17, 1, x_11); +return x_17; +} +else +{ +lean_object* x_18; lean_object* x_19; +x_18 = l_Lean_NameSet_empty; +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +x_19 = l_Lean_Meta_getFVarsToGeneralize(x_3, x_18, x_7, x_8, x_9, x_10, x_11); +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_98; lean_object* x_99; uint8_t x_100; +x_20 = lean_ctor_get(x_19, 0); +lean_inc(x_20); +x_21 = lean_ctor_get(x_19, 1); +lean_inc(x_21); +if (lean_is_exclusive(x_19)) { + lean_ctor_release(x_19, 0); + lean_ctor_release(x_19, 1); + x_22 = x_19; +} else { + lean_dec_ref(x_19); + x_22 = lean_box(0); +} +x_98 = lean_array_get_size(x_20); +x_99 = lean_unsigned_to_nat(0u); +x_100 = lean_nat_dec_lt(x_99, x_98); +if (x_100 == 0) +{ +lean_object* x_101; +lean_dec(x_98); +lean_dec(x_20); +x_101 = l_Array_empty___closed__1; +x_23 = x_101; +x_24 = x_21; +goto block_97; +} +else +{ +uint8_t x_102; +x_102 = lean_nat_dec_le(x_98, x_98); +if (x_102 == 0) +{ +lean_object* x_103; +lean_dec(x_98); +lean_dec(x_20); +x_103 = l_Array_empty___closed__1; +x_23 = x_103; +x_24 = x_21; +goto block_97; +} +else +{ +size_t x_104; size_t x_105; lean_object* x_106; lean_object* x_107; +x_104 = 0; +x_105 = lean_usize_of_nat(x_98); +lean_dec(x_98); +x_106 = l_Array_empty___closed__1; +lean_inc(x_7); +x_107 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__7(x_20, x_104, x_105, x_106, x_5, x_6, x_7, x_8, x_9, x_10, x_21); +lean_dec(x_20); +if (lean_obj_tag(x_107) == 0) +{ +lean_object* x_108; lean_object* x_109; +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_23 = x_108; +x_24 = x_109; +goto block_97; +} +else +{ +uint8_t x_110; +lean_dec(x_22); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_110 = !lean_is_exclusive(x_107); +if (x_110 == 0) +{ +return x_107; +} +else +{ +lean_object* x_111; lean_object* x_112; lean_object* x_113; +x_111 = lean_ctor_get(x_107, 0); +x_112 = lean_ctor_get(x_107, 1); +lean_inc(x_112); +lean_inc(x_111); +lean_dec(x_107); +x_113 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_113, 0, x_111); +lean_ctor_set(x_113, 1, x_112); +return x_113; +} +} +} +} +block_97: +{ +uint8_t x_25; +x_25 = l_Array_isEmpty___rarg(x_23); +if (x_25 == 0) +{ +lean_object* x_26; size_t x_27; size_t x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; +lean_dec(x_22); +x_26 = lean_array_get_size(x_23); +x_27 = lean_usize_of_nat(x_26); +lean_dec(x_26); +x_28 = 0; +x_29 = x_23; +x_30 = l_Array_mapMUnsafe_map___at_Lean_LocalContext_getFVars___spec__1(x_27, x_28, x_29); +x_31 = x_30; +x_32 = lean_array_get_size(x_3); +x_33 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_33, 0, x_32); +x_34 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___lambda__2___boxed__const__1; +lean_inc(x_3); +lean_inc(x_31); +x_35 = lean_alloc_closure((void*)(l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___lambda__1___boxed), 12, 3); +lean_closure_set(x_35, 0, x_31); +lean_closure_set(x_35, 1, x_3); +lean_closure_set(x_35, 2, x_34); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_2); +x_36 = l_Lean_Meta_forallBoundedTelescope___at_Lean_Elab_Term_elabLetDeclAux___spec__1___rarg(x_2, x_33, x_35, x_5, x_6, x_7, x_8, x_9, x_10, x_24); +if (lean_obj_tag(x_36) == 0) +{ +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_36, 0); +lean_inc(x_37); +x_38 = lean_ctor_get(x_36, 1); +lean_inc(x_38); +lean_dec(x_36); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_37); +x_39 = l_Lean_Meta_isTypeCorrect(x_37, x_7, x_8, x_9, x_10, x_38); +x_40 = lean_ctor_get(x_39, 0); +lean_inc(x_40); +x_41 = lean_unbox(x_40); +lean_dec(x_40); +if (x_41 == 0) +{ +uint8_t x_42; +lean_dec(x_37); +lean_dec(x_31); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +x_42 = !lean_is_exclusive(x_39); +if (x_42 == 0) +{ +lean_object* x_43; uint8_t x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; +x_43 = lean_ctor_get(x_39, 0); +lean_dec(x_43); +x_44 = 1; +x_45 = lean_box(x_44); +x_46 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_46, 0, x_1); +lean_ctor_set(x_46, 1, x_45); +x_47 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_47, 0, x_2); +lean_ctor_set(x_47, 1, x_46); +x_48 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_48, 0, x_3); +lean_ctor_set(x_48, 1, x_47); +lean_ctor_set(x_39, 0, x_48); +return x_39; +} +else +{ +lean_object* x_49; uint8_t x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; +x_49 = lean_ctor_get(x_39, 1); +lean_inc(x_49); +lean_dec(x_39); +x_50 = 1; +x_51 = lean_box(x_50); +x_52 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_52, 0, x_1); +lean_ctor_set(x_52, 1, x_51); +x_53 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_53, 0, x_2); +lean_ctor_set(x_53, 1, x_52); +x_54 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_54, 0, x_3); +lean_ctor_set(x_54, 1, x_53); +x_55 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_55, 0, x_54); +lean_ctor_set(x_55, 1, x_49); +return x_55; +} +} +else +{ +lean_object* x_56; lean_object* x_57; lean_object* x_58; size_t 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_dec(x_2); +x_56 = lean_ctor_get(x_39, 1); +lean_inc(x_56); +lean_dec(x_39); +x_57 = l_Array_append___rarg(x_3, x_31); +x_58 = lean_array_get_size(x_1); +x_59 = lean_usize_of_nat(x_58); +lean_dec(x_58); +x_60 = x_1; +x_61 = l_Lean_Elab_Term_quoteAutoTactic___closed__4; +x_62 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___lambda__2___boxed__const__1; +x_63 = lean_box_usize(x_59); +x_64 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___lambda__2___boxed__const__1; +x_65 = lean_alloc_closure((void*)(l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__6___boxed), 13, 6); +lean_closure_set(x_65, 0, x_61); +lean_closure_set(x_65, 1, x_62); +lean_closure_set(x_65, 2, x_31); +lean_closure_set(x_65, 3, x_63); +lean_closure_set(x_65, 4, x_64); +lean_closure_set(x_65, 5, x_60); +x_66 = x_65; +x_67 = lean_apply_7(x_66, x_5, x_6, x_7, x_8, x_9, x_10, x_56); +if (lean_obj_tag(x_67) == 0) +{ +uint8_t x_68; +x_68 = !lean_is_exclusive(x_67); +if (x_68 == 0) +{ +lean_object* x_69; uint8_t x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; +x_69 = lean_ctor_get(x_67, 0); +x_70 = 1; +x_71 = lean_box(x_70); +x_72 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_72, 0, x_69); +lean_ctor_set(x_72, 1, x_71); +x_73 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_73, 0, x_37); +lean_ctor_set(x_73, 1, x_72); +x_74 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_74, 0, x_57); +lean_ctor_set(x_74, 1, x_73); +lean_ctor_set(x_67, 0, x_74); +return x_67; +} +else +{ +lean_object* x_75; lean_object* x_76; uint8_t x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; +x_75 = lean_ctor_get(x_67, 0); +x_76 = lean_ctor_get(x_67, 1); +lean_inc(x_76); +lean_inc(x_75); +lean_dec(x_67); +x_77 = 1; +x_78 = lean_box(x_77); +x_79 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_79, 0, x_75); +lean_ctor_set(x_79, 1, x_78); +x_80 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_80, 0, x_37); +lean_ctor_set(x_80, 1, x_79); +x_81 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_81, 0, x_57); +lean_ctor_set(x_81, 1, x_80); +x_82 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_82, 0, x_81); +lean_ctor_set(x_82, 1, x_76); +return x_82; +} +} +else +{ +uint8_t x_83; +lean_dec(x_57); +lean_dec(x_37); +x_83 = !lean_is_exclusive(x_67); +if (x_83 == 0) +{ +return x_67; +} +else +{ +lean_object* x_84; lean_object* x_85; lean_object* x_86; +x_84 = lean_ctor_get(x_67, 0); +x_85 = lean_ctor_get(x_67, 1); +lean_inc(x_85); +lean_inc(x_84); +lean_dec(x_67); +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_31); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_87 = !lean_is_exclusive(x_36); +if (x_87 == 0) +{ +return x_36; +} +else +{ +lean_object* x_88; lean_object* x_89; lean_object* x_90; +x_88 = lean_ctor_get(x_36, 0); +x_89 = lean_ctor_get(x_36, 1); +lean_inc(x_89); +lean_inc(x_88); +lean_dec(x_36); +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; +} +} +} +else +{ +uint8_t x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; +lean_dec(x_23); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +x_91 = 0; +x_92 = lean_box(x_91); +x_93 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_93, 0, x_1); +lean_ctor_set(x_93, 1, x_92); +x_94 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_94, 0, x_2); +lean_ctor_set(x_94, 1, x_93); +x_95 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_95, 0, x_3); +lean_ctor_set(x_95, 1, x_94); +if (lean_is_scalar(x_22)) { + x_96 = lean_alloc_ctor(0, 2, 0); +} else { + x_96 = x_22; +} +lean_ctor_set(x_96, 0, x_95); +lean_ctor_set(x_96, 1, x_24); +return x_96; +} +} +} +else +{ +uint8_t x_114; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_114 = !lean_is_exclusive(x_19); +if (x_114 == 0) +{ +return x_19; +} +else +{ +lean_object* x_115; lean_object* x_116; lean_object* x_117; +x_115 = lean_ctor_get(x_19, 0); +x_116 = lean_ctor_get(x_19, 1); +lean_inc(x_116); +lean_inc(x_115); +lean_dec(x_19); +x_117 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_117, 0, x_115); +lean_ctor_set(x_117, 1, x_116); +return x_117; +} +} +} +} +} +lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +_start: +{ +if (lean_obj_tag(x_4) == 0) +{ +lean_object* x_12; +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_2); +x_12 = l_Lean_Meta_isProp(x_2, x_7, x_8, x_9, x_10, x_11); +if (lean_obj_tag(x_12) == 0) +{ +lean_object* x_13; lean_object* x_14; uint8_t x_15; lean_object* x_16; +x_13 = lean_ctor_get(x_12, 0); +lean_inc(x_13); +x_14 = lean_ctor_get(x_12, 1); +lean_inc(x_14); +lean_dec(x_12); +x_15 = lean_unbox(x_13); +lean_dec(x_13); +x_16 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___lambda__2(x_3, x_2, x_1, x_15, x_5, x_6, x_7, x_8, x_9, x_10, x_14); +return x_16; +} +else +{ +uint8_t x_17; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +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; +} +} +} +else +{ +lean_object* x_21; uint8_t x_22; lean_object* x_23; +x_21 = lean_ctor_get(x_4, 0); +lean_inc(x_21); +lean_dec(x_4); +x_22 = lean_unbox(x_21); +lean_dec(x_21); +x_23 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___lambda__2(x_3, x_2, x_1, x_22, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +return x_23; +} +} +} +lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +size_t x_5; size_t x_6; lean_object* x_7; +x_5 = lean_unbox_usize(x_2); +lean_dec(x_2); +x_6 = lean_unbox_usize(x_3); +lean_dec(x_3); +x_7 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__1(x_1, x_5, x_6, x_4); +lean_dec(x_1); +return x_7; +} +} +lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +_start: +{ +size_t x_11; size_t x_12; lean_object* x_13; +x_11 = lean_unbox_usize(x_1); +lean_dec(x_1); +x_12 = lean_unbox_usize(x_2); +lean_dec(x_2); +x_13 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__2(x_11, x_12, 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); +return x_13; +} +} +lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +size_t x_5; size_t x_6; uint8_t x_7; lean_object* x_8; +x_5 = lean_unbox_usize(x_3); +lean_dec(x_3); +x_6 = lean_unbox_usize(x_4); +lean_dec(x_4); +x_7 = l_Array_anyMUnsafe_any___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__3(x_1, x_2, x_5, x_6); +lean_dec(x_2); +lean_dec(x_1); +x_8 = lean_box(x_7); +return x_8; +} +} +lean_object* l_Array_foldrMUnsafe_fold___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +_start: +{ +size_t x_14; size_t x_15; size_t x_16; lean_object* x_17; +x_14 = lean_unbox_usize(x_1); +lean_dec(x_1); +x_15 = lean_unbox_usize(x_4); +lean_dec(x_4); +x_16 = lean_unbox_usize(x_5); +lean_dec(x_5); +x_17 = l_Array_foldrMUnsafe_fold___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__4(x_14, x_2, x_3, x_15, x_16, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_3); +lean_dec(x_2); +return x_17; +} +} +lean_object* l_Array_foldrMUnsafe_fold___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___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) { +_start: +{ +size_t x_14; size_t x_15; size_t x_16; lean_object* x_17; +x_14 = lean_unbox_usize(x_1); +lean_dec(x_1); +x_15 = lean_unbox_usize(x_4); +lean_dec(x_4); +x_16 = lean_unbox_usize(x_5); +lean_dec(x_5); +x_17 = l_Array_foldrMUnsafe_fold___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__5(x_14, x_2, x_3, x_15, x_16, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_3); +lean_dec(x_2); +return x_17; +} +} +lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__6___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +_start: +{ +size_t x_11; lean_object* x_12; +x_11 = lean_unbox_usize(x_2); +lean_dec(x_2); +x_12 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__6___lambda__1(x_1, x_11, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +lean_dec(x_3); +return x_12; +} +} +lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__6___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: +{ +size_t x_15; size_t x_16; size_t x_17; lean_object* x_18; +x_15 = lean_unbox_usize(x_1); +lean_dec(x_1); +x_16 = lean_unbox_usize(x_4); +lean_dec(x_4); +x_17 = lean_unbox_usize(x_6); +lean_dec(x_6); +x_18 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__6___lambda__2(x_15, x_2, x_3, x_16, x_5, x_17, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +return x_18; +} +} +lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___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) { +_start: +{ +size_t x_14; size_t x_15; size_t x_16; lean_object* x_17; +x_14 = lean_unbox_usize(x_2); +lean_dec(x_2); +x_15 = lean_unbox_usize(x_4); +lean_dec(x_4); +x_16 = lean_unbox_usize(x_5); +lean_dec(x_5); +x_17 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__6(x_1, x_14, x_3, x_15, x_16, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +return x_17; +} +} +lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__7___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +_start: +{ +size_t x_12; size_t x_13; lean_object* x_14; +x_12 = lean_unbox_usize(x_2); +lean_dec(x_2); +x_13 = lean_unbox_usize(x_3); +lean_dec(x_3); +x_14 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__7(x_1, x_12, x_13, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_1); +return x_14; +} +} +lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___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: +{ +size_t x_13; lean_object* x_14; +x_13 = lean_unbox_usize(x_3); +lean_dec(x_3); +x_14 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___lambda__1(x_1, x_2, x_13, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_2); +return x_14; +} +} +lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +_start: +{ +uint8_t x_12; lean_object* x_13; +x_12 = lean_unbox(x_4); +lean_dec(x_4); +x_13 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___lambda__2(x_1, x_2, x_3, x_12, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +return x_13; +} +} lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { @@ -24268,6 +26085,37 @@ x_2 = lean_alloc_closure((void*)(l___private_Lean_Elab_Match_0__Lean_Elab_Term_e return x_2; } } +lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop_match__2___rarg(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; +x_3 = lean_ctor_get(x_1, 1); +lean_inc(x_3); +x_4 = lean_ctor_get(x_3, 1); +lean_inc(x_4); +x_5 = lean_ctor_get(x_1, 0); +lean_inc(x_5); +lean_dec(x_1); +x_6 = lean_ctor_get(x_3, 0); +lean_inc(x_6); +lean_dec(x_3); +x_7 = lean_ctor_get(x_4, 0); +lean_inc(x_7); +x_8 = lean_ctor_get(x_4, 1); +lean_inc(x_8); +lean_dec(x_4); +x_9 = lean_apply_4(x_2, x_5, x_6, x_7, x_8); +return x_9; +} +} +lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop_match__2(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop_match__2___rarg), 2, 0); +return x_2; +} +} lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_updateFirst_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { @@ -24299,27 +26147,6 @@ x_2 = lean_alloc_closure((void*)(l___private_Lean_Elab_Match_0__Lean_Elab_Term_e return x_2; } } -lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_collectDeps_match__1___rarg(lean_object* x_1, lean_object* x_2) { -_start: -{ -lean_object* x_3; lean_object* x_4; lean_object* x_5; -x_3 = lean_ctor_get(x_1, 0); -lean_inc(x_3); -x_4 = lean_ctor_get(x_1, 1); -lean_inc(x_4); -lean_dec(x_1); -x_5 = lean_apply_2(x_2, x_3, x_4); -return x_5; -} -} -lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_collectDeps_match__1(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_collectDeps_match__1___rarg), 2, 0); -return x_2; -} -} lean_object* l_Array_foldrMUnsafe_fold___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_updateMatchType___spec__1(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { @@ -25907,23 +27734,23 @@ return x_42; } } } -lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop___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* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { _start: { -lean_object* x_13; 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_array_get_size(x_1); -x_14 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_addWildcardPatterns(x_13, x_2, x_6, x_7, x_8, x_9, x_10, x_11, x_12); -x_15 = lean_ctor_get(x_14, 0); -lean_inc(x_15); -x_16 = lean_ctor_get(x_14, 1); +lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_14 = lean_array_get_size(x_1); +x_15 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_addWildcardPatterns(x_14, x_2, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +x_16 = lean_ctor_get(x_15, 0); lean_inc(x_16); -lean_dec(x_14); -x_17 = l_Array_append___rarg(x_1, x_3); -x_18 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_18, 0, x_4); -x_19 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop(x_17, x_5, x_15, x_18, x_6, x_7, x_8, x_9, x_10, x_11, x_16); -lean_dec(x_18); -return x_19; +x_17 = lean_ctor_get(x_15, 1); +lean_inc(x_17); +lean_dec(x_15); +x_18 = l_Array_append___rarg(x_1, x_3); +x_19 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_19, 0, x_4); +x_20 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop(x_5, x_18, x_6, x_16, x_19, x_7, x_8, x_9, x_10, x_11, x_12, x_17); +lean_dec(x_19); +return x_20; } } static lean_object* _init_l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop___boxed__const__1() { @@ -25935,389 +27762,1623 @@ x_2 = lean_box_usize(x_1); return x_2; } } -lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_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* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_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_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; size_t 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_12 = l_Lean_Elab_Term_saveState___rarg(x_6, x_7, x_8, x_9, x_10, x_11); -x_13 = lean_ctor_get(x_12, 0); -lean_inc(x_13); -x_14 = lean_ctor_get(x_12, 1); +lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; +x_13 = l_Lean_Elab_Term_saveState___rarg(x_7, x_8, x_9, x_10, x_11, x_12); +x_14 = lean_ctor_get(x_13, 0); lean_inc(x_14); -lean_dec(x_12); -x_15 = lean_array_get_size(x_3); -x_16 = lean_usize_of_nat(x_15); -lean_dec(x_15); -lean_inc(x_3); -x_17 = x_3; -x_18 = lean_box_usize(x_16); -x_19 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop___boxed__const__1; -lean_inc(x_2); -x_20 = lean_alloc_closure((void*)(l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop___spec__1___boxed), 11, 4); -lean_closure_set(x_20, 0, x_2); -lean_closure_set(x_20, 1, x_18); -lean_closure_set(x_20, 2, x_19); -lean_closure_set(x_20, 3, x_17); -x_21 = x_20; +x_15 = lean_ctor_get(x_13, 1); +lean_inc(x_15); +lean_dec(x_13); +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_22 = lean_apply_7(x_21, x_5, x_6, x_7, x_8, x_9, x_10, x_14); -if (lean_obj_tag(x_22) == 0) +lean_inc(x_1); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_16 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize(x_2, x_3, x_4, x_1, x_6, x_7, x_8, x_9, x_10, x_11, x_15); +if (lean_obj_tag(x_16) == 0) { -lean_object* x_23; -x_23 = lean_ctor_get(x_22, 0); -lean_inc(x_23); -if (lean_obj_tag(x_23) == 0) +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; uint8_t x_21; +x_17 = lean_ctor_get(x_16, 0); +lean_inc(x_17); +x_18 = lean_ctor_get(x_17, 1); +lean_inc(x_18); +x_19 = lean_ctor_get(x_18, 1); +lean_inc(x_19); +x_20 = lean_ctor_get(x_16, 1); +lean_inc(x_20); +lean_dec(x_16); +x_21 = !lean_is_exclusive(x_17); +if (x_21 == 0) { -lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; -x_24 = lean_ctor_get(x_23, 0); -lean_inc(x_24); +lean_object* x_22; lean_object* x_23; uint8_t x_24; +x_22 = lean_ctor_get(x_17, 0); +x_23 = lean_ctor_get(x_17, 1); lean_dec(x_23); -x_25 = lean_ctor_get(x_22, 1); +x_24 = !lean_is_exclusive(x_18); +if (x_24 == 0) +{ +lean_object* x_25; lean_object* x_26; uint8_t x_27; +x_25 = lean_ctor_get(x_18, 0); +x_26 = lean_ctor_get(x_18, 1); +lean_dec(x_26); +x_27 = !lean_is_exclusive(x_19); +if (x_27 == 0) +{ +lean_object* x_28; lean_object* x_29; lean_object* x_30; size_t x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; +x_28 = lean_ctor_get(x_19, 0); +x_29 = lean_ctor_get(x_19, 1); +x_30 = lean_array_get_size(x_28); +x_31 = lean_usize_of_nat(x_30); +lean_dec(x_30); +x_32 = x_28; +x_33 = lean_box_usize(x_31); +x_34 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop___boxed__const__1; lean_inc(x_25); -lean_dec(x_22); -x_26 = lean_ctor_get(x_24, 0); -lean_inc(x_26); -x_27 = lean_ctor_get(x_24, 1); -lean_inc(x_27); -lean_dec(x_24); +x_35 = lean_alloc_closure((void*)(l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop___spec__1___boxed), 11, 4); +lean_closure_set(x_35, 0, x_25); +lean_closure_set(x_35, 1, x_33); +lean_closure_set(x_35, 2, x_34); +lean_closure_set(x_35, 3, x_32); +x_36 = x_35; +lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); -x_28 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_getIndicesToInclude(x_1, x_27, x_5, x_6, x_7, x_8, x_9, x_10, x_25); -lean_dec(x_27); -if (lean_obj_tag(x_28) == 0) -{ -lean_object* x_29; lean_object* x_30; uint8_t x_31; -x_29 = lean_ctor_get(x_28, 0); -lean_inc(x_29); -x_30 = lean_ctor_get(x_28, 1); -lean_inc(x_30); -lean_dec(x_28); -x_31 = l_Array_isEmpty___rarg(x_29); -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; -x_32 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_updateFirst(x_4, x_26, x_5, x_6, x_7, x_8, x_9, x_10, x_30); -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_Elab_Term_SavedState_restore(x_13, x_5, x_6, x_7, x_8, x_9, x_10, x_34); -x_36 = lean_ctor_get(x_35, 1); -lean_inc(x_36); -lean_dec(x_35); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -x_37 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_collectDeps(x_29, x_1, x_5, x_6, x_7, x_8, x_9, x_10, x_36); -lean_dec(x_29); +lean_inc(x_6); +x_37 = lean_apply_7(x_36, x_6, x_7, x_8, x_9, x_10, x_11, x_20); if (lean_obj_tag(x_37) == 0) { -lean_object* x_38; lean_object* x_39; lean_object* x_40; +lean_object* x_38; x_38 = lean_ctor_get(x_37, 0); lean_inc(x_38); -x_39 = lean_ctor_get(x_37, 1); +if (lean_obj_tag(x_38) == 0) +{ +lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; +lean_free_object(x_19); +lean_dec(x_29); +lean_free_object(x_18); +lean_dec(x_25); +lean_free_object(x_17); +lean_dec(x_22); +x_39 = lean_ctor_get(x_38, 0); lean_inc(x_39); +lean_dec(x_38); +x_40 = lean_ctor_get(x_37, 1); +lean_inc(x_40); lean_dec(x_37); +x_41 = lean_ctor_get(x_39, 0); +lean_inc(x_41); +x_42 = lean_ctor_get(x_39, 1); +lean_inc(x_42); +lean_dec(x_39); +lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_5); -x_40 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_updateMatchType(x_38, x_2, x_5, x_6, x_7, x_8, x_9, x_10, x_39); -if (lean_obj_tag(x_40) == 0) +x_43 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_getIndicesToInclude(x_2, x_42, x_6, x_7, x_8, x_9, x_10, x_11, x_40); +lean_dec(x_42); +if (lean_obj_tag(x_43) == 0) { -lean_object* x_41; lean_object* x_42; lean_object* x_43; -x_41 = lean_ctor_get(x_40, 0); -lean_inc(x_41); -x_42 = lean_ctor_get(x_40, 1); -lean_inc(x_42); -lean_dec(x_40); -x_43 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop___lambda__1(x_38, x_3, x_1, x_33, x_41, x_5, x_6, x_7, x_8, x_9, x_10, x_42); +lean_object* x_44; lean_object* x_45; uint8_t x_46; +x_44 = lean_ctor_get(x_43, 0); +lean_inc(x_44); +x_45 = lean_ctor_get(x_43, 1); +lean_inc(x_45); +lean_dec(x_43); +x_46 = l_Array_isEmpty___rarg(x_44); +if (x_46 == 0) +{ +lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; +x_47 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_updateFirst(x_5, x_41, x_6, x_7, x_8, x_9, x_10, x_11, x_45); +x_48 = lean_ctor_get(x_47, 0); +lean_inc(x_48); +x_49 = lean_ctor_get(x_47, 1); +lean_inc(x_49); +lean_dec(x_47); +x_50 = l_Lean_Elab_Term_SavedState_restore(x_14, x_6, x_7, x_8, x_9, x_10, x_11, x_49); +x_51 = lean_ctor_get(x_50, 1); +lean_inc(x_51); +lean_dec(x_50); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +x_52 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_collectDeps(x_44, x_2, x_6, x_7, x_8, x_9, x_10, x_11, x_51); +lean_dec(x_44); +if (lean_obj_tag(x_52) == 0) +{ +lean_object* x_53; lean_object* x_54; lean_object* x_55; +x_53 = lean_ctor_get(x_52, 0); +lean_inc(x_53); +x_54 = lean_ctor_get(x_52, 1); +lean_inc(x_54); +lean_dec(x_52); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_6); +x_55 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_updateMatchType(x_53, x_3, x_6, x_7, x_8, x_9, x_10, x_11, x_54); +if (lean_obj_tag(x_55) == 0) +{ +lean_object* x_56; lean_object* x_57; lean_object* x_58; +x_56 = lean_ctor_get(x_55, 0); +lean_inc(x_56); +x_57 = lean_ctor_get(x_55, 1); +lean_inc(x_57); +lean_dec(x_55); +x_58 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop___lambda__1(x_53, x_4, x_2, x_48, x_1, x_56, x_6, x_7, x_8, x_9, x_10, x_11, x_57); +lean_dec(x_2); +return x_58; +} +else +{ +lean_object* x_59; lean_object* x_60; uint8_t x_61; +lean_dec(x_53); +lean_dec(x_4); +lean_dec(x_2); lean_dec(x_1); +x_59 = lean_ctor_get(x_55, 1); +lean_inc(x_59); +lean_dec(x_55); +x_60 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_throwEx___rarg(x_48, x_6, x_7, x_8, x_9, x_10, x_11, x_59); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +x_61 = !lean_is_exclusive(x_60); +if (x_61 == 0) +{ +return x_60; +} +else +{ +lean_object* x_62; lean_object* x_63; lean_object* x_64; +x_62 = lean_ctor_get(x_60, 0); +x_63 = lean_ctor_get(x_60, 1); +lean_inc(x_63); +lean_inc(x_62); +lean_dec(x_60); +x_64 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_64, 0, x_62); +lean_ctor_set(x_64, 1, x_63); +return x_64; +} +} +} +else +{ +uint8_t x_65; +lean_dec(x_48); +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_65 = !lean_is_exclusive(x_52); +if (x_65 == 0) +{ +return x_52; +} +else +{ +lean_object* x_66; lean_object* x_67; lean_object* x_68; +x_66 = lean_ctor_get(x_52, 0); +x_67 = lean_ctor_get(x_52, 1); +lean_inc(x_67); +lean_inc(x_66); +lean_dec(x_52); +x_68 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_68, 0, x_66); +lean_ctor_set(x_68, 1, x_67); +return x_68; +} +} +} +else +{ +lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; +lean_dec(x_44); +lean_dec(x_14); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_69 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_updateFirst(x_5, x_41, x_6, x_7, x_8, x_9, x_10, x_11, x_45); +x_70 = lean_ctor_get(x_69, 0); +lean_inc(x_70); +x_71 = lean_ctor_get(x_69, 1); +lean_inc(x_71); +lean_dec(x_69); +x_72 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_throwEx___rarg(x_70, x_6, x_7, x_8, x_9, x_10, x_11, x_71); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +return x_72; +} +} +else +{ +uint8_t x_73; +lean_dec(x_41); +lean_dec(x_14); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_73 = !lean_is_exclusive(x_43); +if (x_73 == 0) +{ return x_43; } else { -lean_object* x_44; lean_object* x_45; uint8_t x_46; -lean_dec(x_38); -lean_dec(x_3); -lean_dec(x_1); -x_44 = lean_ctor_get(x_40, 1); -lean_inc(x_44); -lean_dec(x_40); -x_45 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_throwEx___rarg(x_33, x_5, x_6, x_7, x_8, x_9, x_10, x_44); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -x_46 = !lean_is_exclusive(x_45); -if (x_46 == 0) -{ -return x_45; -} -else -{ -lean_object* x_47; lean_object* x_48; lean_object* x_49; -x_47 = lean_ctor_get(x_45, 0); -x_48 = lean_ctor_get(x_45, 1); -lean_inc(x_48); -lean_inc(x_47); -lean_dec(x_45); -x_49 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_49, 0, x_47); -lean_ctor_set(x_49, 1, x_48); -return x_49; +lean_object* x_74; lean_object* x_75; lean_object* x_76; +x_74 = lean_ctor_get(x_43, 0); +x_75 = lean_ctor_get(x_43, 1); +lean_inc(x_75); +lean_inc(x_74); +lean_dec(x_43); +x_76 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_76, 0, x_74); +lean_ctor_set(x_76, 1, x_75); +return x_76; } } } else { -uint8_t x_50; -lean_dec(x_33); +lean_dec(x_14); +lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); -lean_dec(x_5); +lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_50 = !lean_is_exclusive(x_37); -if (x_50 == 0) +if (lean_obj_tag(x_5) == 0) +{ +uint8_t x_77; +x_77 = !lean_is_exclusive(x_37); +if (x_77 == 0) +{ +lean_object* x_78; lean_object* x_79; +x_78 = lean_ctor_get(x_37, 0); +lean_dec(x_78); +x_79 = lean_ctor_get(x_38, 0); +lean_inc(x_79); +lean_dec(x_38); +lean_ctor_set(x_19, 0, x_79); +lean_ctor_set(x_37, 0, x_17); +return x_37; +} +else +{ +lean_object* x_80; lean_object* x_81; lean_object* x_82; +x_80 = lean_ctor_get(x_37, 1); +lean_inc(x_80); +lean_dec(x_37); +x_81 = lean_ctor_get(x_38, 0); +lean_inc(x_81); +lean_dec(x_38); +lean_ctor_set(x_19, 0, x_81); +x_82 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_82, 0, x_17); +lean_ctor_set(x_82, 1, x_80); +return x_82; +} +} +else +{ +uint8_t x_83; +lean_dec(x_29); +x_83 = !lean_is_exclusive(x_37); +if (x_83 == 0) +{ +lean_object* x_84; lean_object* x_85; uint8_t x_86; lean_object* x_87; +x_84 = lean_ctor_get(x_37, 0); +lean_dec(x_84); +x_85 = lean_ctor_get(x_38, 0); +lean_inc(x_85); +lean_dec(x_38); +x_86 = 1; +x_87 = lean_box(x_86); +lean_ctor_set(x_19, 1, x_87); +lean_ctor_set(x_19, 0, x_85); +lean_ctor_set(x_37, 0, x_17); +return x_37; +} +else +{ +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_37, 1); +lean_inc(x_88); +lean_dec(x_37); +x_89 = lean_ctor_get(x_38, 0); +lean_inc(x_89); +lean_dec(x_38); +x_90 = 1; +x_91 = lean_box(x_90); +lean_ctor_set(x_19, 1, x_91); +lean_ctor_set(x_19, 0, x_89); +x_92 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_92, 0, x_17); +lean_ctor_set(x_92, 1, x_88); +return x_92; +} +} +} +} +else +{ +uint8_t x_93; +lean_free_object(x_19); +lean_dec(x_29); +lean_free_object(x_18); +lean_dec(x_25); +lean_free_object(x_17); +lean_dec(x_22); +lean_dec(x_14); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_93 = !lean_is_exclusive(x_37); +if (x_93 == 0) { return x_37; } else { -lean_object* x_51; lean_object* x_52; lean_object* x_53; -x_51 = lean_ctor_get(x_37, 0); -x_52 = lean_ctor_get(x_37, 1); -lean_inc(x_52); -lean_inc(x_51); -lean_dec(x_37); -x_53 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_53, 0, x_51); -lean_ctor_set(x_53, 1, x_52); -return x_53; -} -} -} -else -{ -lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; -lean_dec(x_29); -lean_dec(x_13); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_54 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_updateFirst(x_4, x_26, x_5, x_6, x_7, x_8, x_9, x_10, x_30); -x_55 = lean_ctor_get(x_54, 0); -lean_inc(x_55); -x_56 = lean_ctor_get(x_54, 1); -lean_inc(x_56); -lean_dec(x_54); -x_57 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_throwEx___rarg(x_55, x_5, x_6, x_7, x_8, x_9, x_10, x_56); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -return x_57; -} -} -else -{ -uint8_t x_58; -lean_dec(x_26); -lean_dec(x_13); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_58 = !lean_is_exclusive(x_28); -if (x_58 == 0) -{ -return x_28; -} -else -{ -lean_object* x_59; lean_object* x_60; lean_object* x_61; -x_59 = lean_ctor_get(x_28, 0); -x_60 = lean_ctor_get(x_28, 1); -lean_inc(x_60); -lean_inc(x_59); -lean_dec(x_28); -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 -{ -lean_dec(x_13); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_3); -if (lean_obj_tag(x_4) == 0) -{ -uint8_t x_62; -x_62 = !lean_is_exclusive(x_22); -if (x_62 == 0) -{ -lean_object* x_63; lean_object* x_64; uint8_t x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; -x_63 = lean_ctor_get(x_22, 0); -lean_dec(x_63); -x_64 = lean_ctor_get(x_23, 0); -lean_inc(x_64); -lean_dec(x_23); -x_65 = 0; -x_66 = lean_box(x_65); -x_67 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_67, 0, x_64); -lean_ctor_set(x_67, 1, x_66); -x_68 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_68, 0, x_2); -lean_ctor_set(x_68, 1, x_67); -x_69 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_69, 0, x_1); -lean_ctor_set(x_69, 1, x_68); -lean_ctor_set(x_22, 0, x_69); -return x_22; -} -else -{ -lean_object* x_70; lean_object* x_71; uint8_t x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; -x_70 = lean_ctor_get(x_22, 1); -lean_inc(x_70); -lean_dec(x_22); -x_71 = lean_ctor_get(x_23, 0); -lean_inc(x_71); -lean_dec(x_23); -x_72 = 0; -x_73 = lean_box(x_72); -x_74 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_74, 0, x_71); -lean_ctor_set(x_74, 1, x_73); -x_75 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_75, 0, x_2); -lean_ctor_set(x_75, 1, x_74); -x_76 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_76, 0, x_1); -lean_ctor_set(x_76, 1, x_75); -x_77 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_77, 0, x_76); -lean_ctor_set(x_77, 1, x_70); -return x_77; -} -} -else -{ -uint8_t x_78; -x_78 = !lean_is_exclusive(x_22); -if (x_78 == 0) -{ -lean_object* x_79; lean_object* x_80; uint8_t x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; -x_79 = lean_ctor_get(x_22, 0); -lean_dec(x_79); -x_80 = lean_ctor_get(x_23, 0); -lean_inc(x_80); -lean_dec(x_23); -x_81 = 1; -x_82 = lean_box(x_81); -x_83 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_83, 0, x_80); -lean_ctor_set(x_83, 1, x_82); -x_84 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_84, 0, x_2); -lean_ctor_set(x_84, 1, x_83); -x_85 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_85, 0, x_1); -lean_ctor_set(x_85, 1, x_84); -lean_ctor_set(x_22, 0, x_85); -return x_22; -} -else -{ -lean_object* x_86; lean_object* x_87; uint8_t x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; -x_86 = lean_ctor_get(x_22, 1); -lean_inc(x_86); -lean_dec(x_22); -x_87 = lean_ctor_get(x_23, 0); -lean_inc(x_87); -lean_dec(x_23); -x_88 = 1; -x_89 = lean_box(x_88); -x_90 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_90, 0, x_87); -lean_ctor_set(x_90, 1, x_89); -x_91 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_91, 0, x_2); -lean_ctor_set(x_91, 1, x_90); -x_92 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_92, 0, x_1); -lean_ctor_set(x_92, 1, x_91); -x_93 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_93, 0, x_92); -lean_ctor_set(x_93, 1, x_86); -return x_93; -} -} -} -} -else -{ -uint8_t x_94; -lean_dec(x_13); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_94 = !lean_is_exclusive(x_22); -if (x_94 == 0) -{ -return x_22; -} -else -{ -lean_object* x_95; lean_object* x_96; lean_object* x_97; -x_95 = lean_ctor_get(x_22, 0); -x_96 = lean_ctor_get(x_22, 1); -lean_inc(x_96); +lean_object* x_94; lean_object* x_95; lean_object* x_96; +x_94 = lean_ctor_get(x_37, 0); +x_95 = lean_ctor_get(x_37, 1); lean_inc(x_95); +lean_inc(x_94); +lean_dec(x_37); +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; +} +} +} +else +{ +lean_object* x_97; lean_object* x_98; lean_object* x_99; size_t x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; +x_97 = lean_ctor_get(x_19, 0); +x_98 = lean_ctor_get(x_19, 1); +lean_inc(x_98); +lean_inc(x_97); +lean_dec(x_19); +x_99 = lean_array_get_size(x_97); +x_100 = lean_usize_of_nat(x_99); +lean_dec(x_99); +x_101 = x_97; +x_102 = lean_box_usize(x_100); +x_103 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop___boxed__const__1; +lean_inc(x_25); +x_104 = lean_alloc_closure((void*)(l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop___spec__1___boxed), 11, 4); +lean_closure_set(x_104, 0, x_25); +lean_closure_set(x_104, 1, x_102); +lean_closure_set(x_104, 2, x_103); +lean_closure_set(x_104, 3, x_101); +x_105 = x_104; +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +x_106 = lean_apply_7(x_105, x_6, x_7, x_8, x_9, x_10, x_11, x_20); +if (lean_obj_tag(x_106) == 0) +{ +lean_object* x_107; +x_107 = lean_ctor_get(x_106, 0); +lean_inc(x_107); +if (lean_obj_tag(x_107) == 0) +{ +lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; +lean_dec(x_98); +lean_free_object(x_18); +lean_dec(x_25); +lean_free_object(x_17); lean_dec(x_22); -x_97 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_97, 0, x_95); -lean_ctor_set(x_97, 1, x_96); -return x_97; +x_108 = lean_ctor_get(x_107, 0); +lean_inc(x_108); +lean_dec(x_107); +x_109 = lean_ctor_get(x_106, 1); +lean_inc(x_109); +lean_dec(x_106); +x_110 = lean_ctor_get(x_108, 0); +lean_inc(x_110); +x_111 = lean_ctor_get(x_108, 1); +lean_inc(x_111); +lean_dec(x_108); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +x_112 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_getIndicesToInclude(x_2, x_111, x_6, x_7, x_8, x_9, x_10, x_11, x_109); +lean_dec(x_111); +if (lean_obj_tag(x_112) == 0) +{ +lean_object* x_113; lean_object* x_114; uint8_t x_115; +x_113 = lean_ctor_get(x_112, 0); +lean_inc(x_113); +x_114 = lean_ctor_get(x_112, 1); +lean_inc(x_114); +lean_dec(x_112); +x_115 = l_Array_isEmpty___rarg(x_113); +if (x_115 == 0) +{ +lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; +x_116 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_updateFirst(x_5, x_110, x_6, x_7, x_8, x_9, x_10, x_11, x_114); +x_117 = lean_ctor_get(x_116, 0); +lean_inc(x_117); +x_118 = lean_ctor_get(x_116, 1); +lean_inc(x_118); +lean_dec(x_116); +x_119 = l_Lean_Elab_Term_SavedState_restore(x_14, x_6, x_7, x_8, x_9, x_10, x_11, x_118); +x_120 = lean_ctor_get(x_119, 1); +lean_inc(x_120); +lean_dec(x_119); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +x_121 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_collectDeps(x_113, x_2, x_6, x_7, x_8, x_9, x_10, x_11, x_120); +lean_dec(x_113); +if (lean_obj_tag(x_121) == 0) +{ +lean_object* x_122; lean_object* x_123; lean_object* x_124; +x_122 = lean_ctor_get(x_121, 0); +lean_inc(x_122); +x_123 = lean_ctor_get(x_121, 1); +lean_inc(x_123); +lean_dec(x_121); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_6); +x_124 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_updateMatchType(x_122, x_3, x_6, x_7, x_8, x_9, x_10, x_11, x_123); +if (lean_obj_tag(x_124) == 0) +{ +lean_object* x_125; lean_object* x_126; lean_object* x_127; +x_125 = lean_ctor_get(x_124, 0); +lean_inc(x_125); +x_126 = lean_ctor_get(x_124, 1); +lean_inc(x_126); +lean_dec(x_124); +x_127 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop___lambda__1(x_122, x_4, x_2, x_117, x_1, x_125, x_6, x_7, x_8, x_9, x_10, x_11, x_126); +lean_dec(x_2); +return x_127; +} +else +{ +lean_object* x_128; lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133; +lean_dec(x_122); +lean_dec(x_4); +lean_dec(x_2); +lean_dec(x_1); +x_128 = lean_ctor_get(x_124, 1); +lean_inc(x_128); +lean_dec(x_124); +x_129 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_throwEx___rarg(x_117, x_6, x_7, x_8, x_9, x_10, x_11, x_128); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +x_130 = lean_ctor_get(x_129, 0); +lean_inc(x_130); +x_131 = lean_ctor_get(x_129, 1); +lean_inc(x_131); +if (lean_is_exclusive(x_129)) { + lean_ctor_release(x_129, 0); + lean_ctor_release(x_129, 1); + x_132 = x_129; +} else { + lean_dec_ref(x_129); + x_132 = lean_box(0); +} +if (lean_is_scalar(x_132)) { + x_133 = lean_alloc_ctor(1, 2, 0); +} else { + x_133 = x_132; +} +lean_ctor_set(x_133, 0, x_130); +lean_ctor_set(x_133, 1, x_131); +return x_133; +} +} +else +{ +lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; +lean_dec(x_117); +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_134 = lean_ctor_get(x_121, 0); +lean_inc(x_134); +x_135 = lean_ctor_get(x_121, 1); +lean_inc(x_135); +if (lean_is_exclusive(x_121)) { + lean_ctor_release(x_121, 0); + lean_ctor_release(x_121, 1); + x_136 = x_121; +} else { + lean_dec_ref(x_121); + x_136 = lean_box(0); +} +if (lean_is_scalar(x_136)) { + x_137 = lean_alloc_ctor(1, 2, 0); +} else { + x_137 = x_136; +} +lean_ctor_set(x_137, 0, x_134); +lean_ctor_set(x_137, 1, x_135); +return x_137; +} +} +else +{ +lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; +lean_dec(x_113); +lean_dec(x_14); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_138 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_updateFirst(x_5, x_110, x_6, x_7, x_8, x_9, x_10, x_11, x_114); +x_139 = lean_ctor_get(x_138, 0); +lean_inc(x_139); +x_140 = lean_ctor_get(x_138, 1); +lean_inc(x_140); +lean_dec(x_138); +x_141 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_throwEx___rarg(x_139, x_6, x_7, x_8, x_9, x_10, x_11, x_140); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +return x_141; +} +} +else +{ +lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145; +lean_dec(x_110); +lean_dec(x_14); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_142 = lean_ctor_get(x_112, 0); +lean_inc(x_142); +x_143 = lean_ctor_get(x_112, 1); +lean_inc(x_143); +if (lean_is_exclusive(x_112)) { + lean_ctor_release(x_112, 0); + lean_ctor_release(x_112, 1); + x_144 = x_112; +} else { + lean_dec_ref(x_112); + x_144 = lean_box(0); +} +if (lean_is_scalar(x_144)) { + x_145 = lean_alloc_ctor(1, 2, 0); +} else { + x_145 = x_144; +} +lean_ctor_set(x_145, 0, x_142); +lean_ctor_set(x_145, 1, x_143); +return x_145; +} +} +else +{ +lean_dec(x_14); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +if (lean_obj_tag(x_5) == 0) +{ +lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; +x_146 = lean_ctor_get(x_106, 1); +lean_inc(x_146); +if (lean_is_exclusive(x_106)) { + lean_ctor_release(x_106, 0); + lean_ctor_release(x_106, 1); + x_147 = x_106; +} else { + lean_dec_ref(x_106); + x_147 = lean_box(0); +} +x_148 = lean_ctor_get(x_107, 0); +lean_inc(x_148); +lean_dec(x_107); +x_149 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_149, 0, x_148); +lean_ctor_set(x_149, 1, x_98); +lean_ctor_set(x_18, 1, x_149); +if (lean_is_scalar(x_147)) { + x_150 = lean_alloc_ctor(0, 2, 0); +} else { + x_150 = x_147; +} +lean_ctor_set(x_150, 0, x_17); +lean_ctor_set(x_150, 1, x_146); +return x_150; +} +else +{ +lean_object* x_151; lean_object* x_152; lean_object* x_153; uint8_t x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; +lean_dec(x_98); +x_151 = lean_ctor_get(x_106, 1); +lean_inc(x_151); +if (lean_is_exclusive(x_106)) { + lean_ctor_release(x_106, 0); + lean_ctor_release(x_106, 1); + x_152 = x_106; +} else { + lean_dec_ref(x_106); + x_152 = lean_box(0); +} +x_153 = lean_ctor_get(x_107, 0); +lean_inc(x_153); +lean_dec(x_107); +x_154 = 1; +x_155 = lean_box(x_154); +x_156 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_156, 0, x_153); +lean_ctor_set(x_156, 1, x_155); +lean_ctor_set(x_18, 1, x_156); +if (lean_is_scalar(x_152)) { + x_157 = lean_alloc_ctor(0, 2, 0); +} else { + x_157 = x_152; +} +lean_ctor_set(x_157, 0, x_17); +lean_ctor_set(x_157, 1, x_151); +return x_157; +} +} +} +else +{ +lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; +lean_dec(x_98); +lean_free_object(x_18); +lean_dec(x_25); +lean_free_object(x_17); +lean_dec(x_22); +lean_dec(x_14); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_158 = lean_ctor_get(x_106, 0); +lean_inc(x_158); +x_159 = lean_ctor_get(x_106, 1); +lean_inc(x_159); +if (lean_is_exclusive(x_106)) { + lean_ctor_release(x_106, 0); + lean_ctor_release(x_106, 1); + x_160 = x_106; +} else { + lean_dec_ref(x_106); + x_160 = lean_box(0); +} +if (lean_is_scalar(x_160)) { + x_161 = lean_alloc_ctor(1, 2, 0); +} else { + x_161 = x_160; +} +lean_ctor_set(x_161, 0, x_158); +lean_ctor_set(x_161, 1, x_159); +return x_161; +} +} +} +else +{ +lean_object* x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; size_t x_167; lean_object* x_168; lean_object* x_169; lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; +x_162 = lean_ctor_get(x_18, 0); +lean_inc(x_162); +lean_dec(x_18); +x_163 = lean_ctor_get(x_19, 0); +lean_inc(x_163); +x_164 = lean_ctor_get(x_19, 1); +lean_inc(x_164); +if (lean_is_exclusive(x_19)) { + lean_ctor_release(x_19, 0); + lean_ctor_release(x_19, 1); + x_165 = x_19; +} else { + lean_dec_ref(x_19); + x_165 = lean_box(0); +} +x_166 = lean_array_get_size(x_163); +x_167 = lean_usize_of_nat(x_166); +lean_dec(x_166); +x_168 = x_163; +x_169 = lean_box_usize(x_167); +x_170 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop___boxed__const__1; +lean_inc(x_162); +x_171 = lean_alloc_closure((void*)(l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop___spec__1___boxed), 11, 4); +lean_closure_set(x_171, 0, x_162); +lean_closure_set(x_171, 1, x_169); +lean_closure_set(x_171, 2, x_170); +lean_closure_set(x_171, 3, x_168); +x_172 = x_171; +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +x_173 = lean_apply_7(x_172, x_6, x_7, x_8, x_9, x_10, x_11, x_20); +if (lean_obj_tag(x_173) == 0) +{ +lean_object* x_174; +x_174 = lean_ctor_get(x_173, 0); +lean_inc(x_174); +if (lean_obj_tag(x_174) == 0) +{ +lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; +lean_dec(x_165); +lean_dec(x_164); +lean_dec(x_162); +lean_free_object(x_17); +lean_dec(x_22); +x_175 = lean_ctor_get(x_174, 0); +lean_inc(x_175); +lean_dec(x_174); +x_176 = lean_ctor_get(x_173, 1); +lean_inc(x_176); +lean_dec(x_173); +x_177 = lean_ctor_get(x_175, 0); +lean_inc(x_177); +x_178 = lean_ctor_get(x_175, 1); +lean_inc(x_178); +lean_dec(x_175); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +x_179 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_getIndicesToInclude(x_2, x_178, x_6, x_7, x_8, x_9, x_10, x_11, x_176); +lean_dec(x_178); +if (lean_obj_tag(x_179) == 0) +{ +lean_object* x_180; lean_object* x_181; uint8_t x_182; +x_180 = lean_ctor_get(x_179, 0); +lean_inc(x_180); +x_181 = lean_ctor_get(x_179, 1); +lean_inc(x_181); +lean_dec(x_179); +x_182 = l_Array_isEmpty___rarg(x_180); +if (x_182 == 0) +{ +lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; +x_183 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_updateFirst(x_5, x_177, x_6, x_7, x_8, x_9, x_10, x_11, x_181); +x_184 = lean_ctor_get(x_183, 0); +lean_inc(x_184); +x_185 = lean_ctor_get(x_183, 1); +lean_inc(x_185); +lean_dec(x_183); +x_186 = l_Lean_Elab_Term_SavedState_restore(x_14, x_6, x_7, x_8, x_9, x_10, x_11, x_185); +x_187 = lean_ctor_get(x_186, 1); +lean_inc(x_187); +lean_dec(x_186); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +x_188 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_collectDeps(x_180, x_2, x_6, x_7, x_8, x_9, x_10, x_11, x_187); +lean_dec(x_180); +if (lean_obj_tag(x_188) == 0) +{ +lean_object* x_189; lean_object* x_190; lean_object* x_191; +x_189 = lean_ctor_get(x_188, 0); +lean_inc(x_189); +x_190 = lean_ctor_get(x_188, 1); +lean_inc(x_190); +lean_dec(x_188); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_6); +x_191 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_updateMatchType(x_189, x_3, x_6, x_7, x_8, x_9, x_10, x_11, x_190); +if (lean_obj_tag(x_191) == 0) +{ +lean_object* x_192; lean_object* x_193; lean_object* x_194; +x_192 = lean_ctor_get(x_191, 0); +lean_inc(x_192); +x_193 = lean_ctor_get(x_191, 1); +lean_inc(x_193); +lean_dec(x_191); +x_194 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop___lambda__1(x_189, x_4, x_2, x_184, x_1, x_192, x_6, x_7, x_8, x_9, x_10, x_11, x_193); +lean_dec(x_2); +return x_194; +} +else +{ +lean_object* x_195; lean_object* x_196; lean_object* x_197; lean_object* x_198; lean_object* x_199; lean_object* x_200; +lean_dec(x_189); +lean_dec(x_4); +lean_dec(x_2); +lean_dec(x_1); +x_195 = lean_ctor_get(x_191, 1); +lean_inc(x_195); +lean_dec(x_191); +x_196 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_throwEx___rarg(x_184, x_6, x_7, x_8, x_9, x_10, x_11, x_195); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +x_197 = lean_ctor_get(x_196, 0); +lean_inc(x_197); +x_198 = lean_ctor_get(x_196, 1); +lean_inc(x_198); +if (lean_is_exclusive(x_196)) { + lean_ctor_release(x_196, 0); + lean_ctor_release(x_196, 1); + x_199 = x_196; +} else { + lean_dec_ref(x_196); + x_199 = lean_box(0); +} +if (lean_is_scalar(x_199)) { + x_200 = lean_alloc_ctor(1, 2, 0); +} else { + x_200 = x_199; +} +lean_ctor_set(x_200, 0, x_197); +lean_ctor_set(x_200, 1, x_198); +return x_200; +} +} +else +{ +lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; +lean_dec(x_184); +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_201 = lean_ctor_get(x_188, 0); +lean_inc(x_201); +x_202 = lean_ctor_get(x_188, 1); +lean_inc(x_202); +if (lean_is_exclusive(x_188)) { + lean_ctor_release(x_188, 0); + lean_ctor_release(x_188, 1); + x_203 = x_188; +} else { + lean_dec_ref(x_188); + x_203 = lean_box(0); +} +if (lean_is_scalar(x_203)) { + x_204 = lean_alloc_ctor(1, 2, 0); +} else { + x_204 = x_203; +} +lean_ctor_set(x_204, 0, x_201); +lean_ctor_set(x_204, 1, x_202); +return x_204; +} +} +else +{ +lean_object* x_205; lean_object* x_206; lean_object* x_207; lean_object* x_208; +lean_dec(x_180); +lean_dec(x_14); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_205 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_updateFirst(x_5, x_177, x_6, x_7, x_8, x_9, x_10, x_11, x_181); +x_206 = lean_ctor_get(x_205, 0); +lean_inc(x_206); +x_207 = lean_ctor_get(x_205, 1); +lean_inc(x_207); +lean_dec(x_205); +x_208 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_throwEx___rarg(x_206, x_6, x_7, x_8, x_9, x_10, x_11, x_207); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +return x_208; +} +} +else +{ +lean_object* x_209; lean_object* x_210; lean_object* x_211; lean_object* x_212; +lean_dec(x_177); +lean_dec(x_14); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_209 = lean_ctor_get(x_179, 0); +lean_inc(x_209); +x_210 = lean_ctor_get(x_179, 1); +lean_inc(x_210); +if (lean_is_exclusive(x_179)) { + lean_ctor_release(x_179, 0); + lean_ctor_release(x_179, 1); + x_211 = x_179; +} else { + lean_dec_ref(x_179); + x_211 = lean_box(0); +} +if (lean_is_scalar(x_211)) { + x_212 = lean_alloc_ctor(1, 2, 0); +} else { + x_212 = x_211; +} +lean_ctor_set(x_212, 0, x_209); +lean_ctor_set(x_212, 1, x_210); +return x_212; +} +} +else +{ +lean_dec(x_14); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +if (lean_obj_tag(x_5) == 0) +{ +lean_object* x_213; lean_object* x_214; lean_object* x_215; lean_object* x_216; lean_object* x_217; lean_object* x_218; +x_213 = lean_ctor_get(x_173, 1); +lean_inc(x_213); +if (lean_is_exclusive(x_173)) { + lean_ctor_release(x_173, 0); + lean_ctor_release(x_173, 1); + x_214 = x_173; +} else { + lean_dec_ref(x_173); + x_214 = lean_box(0); +} +x_215 = lean_ctor_get(x_174, 0); +lean_inc(x_215); +lean_dec(x_174); +if (lean_is_scalar(x_165)) { + x_216 = lean_alloc_ctor(0, 2, 0); +} else { + x_216 = x_165; +} +lean_ctor_set(x_216, 0, x_215); +lean_ctor_set(x_216, 1, x_164); +x_217 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_217, 0, x_162); +lean_ctor_set(x_217, 1, x_216); +lean_ctor_set(x_17, 1, x_217); +if (lean_is_scalar(x_214)) { + x_218 = lean_alloc_ctor(0, 2, 0); +} else { + x_218 = x_214; +} +lean_ctor_set(x_218, 0, x_17); +lean_ctor_set(x_218, 1, x_213); +return x_218; +} +else +{ +lean_object* x_219; lean_object* x_220; lean_object* x_221; uint8_t x_222; lean_object* x_223; lean_object* x_224; lean_object* x_225; lean_object* x_226; +lean_dec(x_164); +x_219 = lean_ctor_get(x_173, 1); +lean_inc(x_219); +if (lean_is_exclusive(x_173)) { + lean_ctor_release(x_173, 0); + lean_ctor_release(x_173, 1); + x_220 = x_173; +} else { + lean_dec_ref(x_173); + x_220 = lean_box(0); +} +x_221 = lean_ctor_get(x_174, 0); +lean_inc(x_221); +lean_dec(x_174); +x_222 = 1; +x_223 = lean_box(x_222); +if (lean_is_scalar(x_165)) { + x_224 = lean_alloc_ctor(0, 2, 0); +} else { + x_224 = x_165; +} +lean_ctor_set(x_224, 0, x_221); +lean_ctor_set(x_224, 1, x_223); +x_225 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_225, 0, x_162); +lean_ctor_set(x_225, 1, x_224); +lean_ctor_set(x_17, 1, x_225); +if (lean_is_scalar(x_220)) { + x_226 = lean_alloc_ctor(0, 2, 0); +} else { + x_226 = x_220; +} +lean_ctor_set(x_226, 0, x_17); +lean_ctor_set(x_226, 1, x_219); +return x_226; +} +} +} +else +{ +lean_object* x_227; lean_object* x_228; lean_object* x_229; lean_object* x_230; +lean_dec(x_165); +lean_dec(x_164); +lean_dec(x_162); +lean_free_object(x_17); +lean_dec(x_22); +lean_dec(x_14); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_227 = lean_ctor_get(x_173, 0); +lean_inc(x_227); +x_228 = lean_ctor_get(x_173, 1); +lean_inc(x_228); +if (lean_is_exclusive(x_173)) { + lean_ctor_release(x_173, 0); + lean_ctor_release(x_173, 1); + x_229 = x_173; +} else { + lean_dec_ref(x_173); + x_229 = lean_box(0); +} +if (lean_is_scalar(x_229)) { + x_230 = lean_alloc_ctor(1, 2, 0); +} else { + x_230 = x_229; +} +lean_ctor_set(x_230, 0, x_227); +lean_ctor_set(x_230, 1, x_228); +return x_230; +} +} +} +else +{ +lean_object* x_231; lean_object* x_232; lean_object* x_233; lean_object* x_234; lean_object* x_235; lean_object* x_236; lean_object* x_237; size_t x_238; lean_object* x_239; lean_object* x_240; lean_object* x_241; lean_object* x_242; lean_object* x_243; lean_object* x_244; +x_231 = lean_ctor_get(x_17, 0); +lean_inc(x_231); +lean_dec(x_17); +x_232 = lean_ctor_get(x_18, 0); +lean_inc(x_232); +if (lean_is_exclusive(x_18)) { + lean_ctor_release(x_18, 0); + lean_ctor_release(x_18, 1); + x_233 = x_18; +} else { + lean_dec_ref(x_18); + x_233 = lean_box(0); +} +x_234 = lean_ctor_get(x_19, 0); +lean_inc(x_234); +x_235 = lean_ctor_get(x_19, 1); +lean_inc(x_235); +if (lean_is_exclusive(x_19)) { + lean_ctor_release(x_19, 0); + lean_ctor_release(x_19, 1); + x_236 = x_19; +} else { + lean_dec_ref(x_19); + x_236 = lean_box(0); +} +x_237 = lean_array_get_size(x_234); +x_238 = lean_usize_of_nat(x_237); +lean_dec(x_237); +x_239 = x_234; +x_240 = lean_box_usize(x_238); +x_241 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop___boxed__const__1; +lean_inc(x_232); +x_242 = lean_alloc_closure((void*)(l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop___spec__1___boxed), 11, 4); +lean_closure_set(x_242, 0, x_232); +lean_closure_set(x_242, 1, x_240); +lean_closure_set(x_242, 2, x_241); +lean_closure_set(x_242, 3, x_239); +x_243 = x_242; +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +x_244 = lean_apply_7(x_243, x_6, x_7, x_8, x_9, x_10, x_11, x_20); +if (lean_obj_tag(x_244) == 0) +{ +lean_object* x_245; +x_245 = lean_ctor_get(x_244, 0); +lean_inc(x_245); +if (lean_obj_tag(x_245) == 0) +{ +lean_object* x_246; lean_object* x_247; lean_object* x_248; lean_object* x_249; lean_object* x_250; +lean_dec(x_236); +lean_dec(x_235); +lean_dec(x_233); +lean_dec(x_232); +lean_dec(x_231); +x_246 = lean_ctor_get(x_245, 0); +lean_inc(x_246); +lean_dec(x_245); +x_247 = lean_ctor_get(x_244, 1); +lean_inc(x_247); +lean_dec(x_244); +x_248 = lean_ctor_get(x_246, 0); +lean_inc(x_248); +x_249 = lean_ctor_get(x_246, 1); +lean_inc(x_249); +lean_dec(x_246); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +x_250 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_getIndicesToInclude(x_2, x_249, x_6, x_7, x_8, x_9, x_10, x_11, x_247); +lean_dec(x_249); +if (lean_obj_tag(x_250) == 0) +{ +lean_object* x_251; lean_object* x_252; uint8_t x_253; +x_251 = lean_ctor_get(x_250, 0); +lean_inc(x_251); +x_252 = lean_ctor_get(x_250, 1); +lean_inc(x_252); +lean_dec(x_250); +x_253 = l_Array_isEmpty___rarg(x_251); +if (x_253 == 0) +{ +lean_object* x_254; lean_object* x_255; lean_object* x_256; lean_object* x_257; lean_object* x_258; lean_object* x_259; +x_254 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_updateFirst(x_5, x_248, x_6, x_7, x_8, x_9, x_10, x_11, x_252); +x_255 = lean_ctor_get(x_254, 0); +lean_inc(x_255); +x_256 = lean_ctor_get(x_254, 1); +lean_inc(x_256); +lean_dec(x_254); +x_257 = l_Lean_Elab_Term_SavedState_restore(x_14, x_6, x_7, x_8, x_9, x_10, x_11, x_256); +x_258 = lean_ctor_get(x_257, 1); +lean_inc(x_258); +lean_dec(x_257); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +x_259 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_collectDeps(x_251, x_2, x_6, x_7, x_8, x_9, x_10, x_11, x_258); +lean_dec(x_251); +if (lean_obj_tag(x_259) == 0) +{ +lean_object* x_260; lean_object* x_261; lean_object* x_262; +x_260 = lean_ctor_get(x_259, 0); +lean_inc(x_260); +x_261 = lean_ctor_get(x_259, 1); +lean_inc(x_261); +lean_dec(x_259); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_6); +x_262 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_updateMatchType(x_260, x_3, x_6, x_7, x_8, x_9, x_10, x_11, x_261); +if (lean_obj_tag(x_262) == 0) +{ +lean_object* x_263; lean_object* x_264; lean_object* x_265; +x_263 = lean_ctor_get(x_262, 0); +lean_inc(x_263); +x_264 = lean_ctor_get(x_262, 1); +lean_inc(x_264); +lean_dec(x_262); +x_265 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop___lambda__1(x_260, x_4, x_2, x_255, x_1, x_263, x_6, x_7, x_8, x_9, x_10, x_11, x_264); +lean_dec(x_2); +return x_265; +} +else +{ +lean_object* x_266; lean_object* x_267; lean_object* x_268; lean_object* x_269; lean_object* x_270; lean_object* x_271; +lean_dec(x_260); +lean_dec(x_4); +lean_dec(x_2); +lean_dec(x_1); +x_266 = lean_ctor_get(x_262, 1); +lean_inc(x_266); +lean_dec(x_262); +x_267 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_throwEx___rarg(x_255, x_6, x_7, x_8, x_9, x_10, x_11, x_266); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +x_268 = lean_ctor_get(x_267, 0); +lean_inc(x_268); +x_269 = lean_ctor_get(x_267, 1); +lean_inc(x_269); +if (lean_is_exclusive(x_267)) { + lean_ctor_release(x_267, 0); + lean_ctor_release(x_267, 1); + x_270 = x_267; +} else { + lean_dec_ref(x_267); + x_270 = lean_box(0); +} +if (lean_is_scalar(x_270)) { + x_271 = lean_alloc_ctor(1, 2, 0); +} else { + x_271 = x_270; +} +lean_ctor_set(x_271, 0, x_268); +lean_ctor_set(x_271, 1, x_269); +return x_271; +} +} +else +{ +lean_object* x_272; lean_object* x_273; lean_object* x_274; lean_object* x_275; +lean_dec(x_255); +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_272 = lean_ctor_get(x_259, 0); +lean_inc(x_272); +x_273 = lean_ctor_get(x_259, 1); +lean_inc(x_273); +if (lean_is_exclusive(x_259)) { + lean_ctor_release(x_259, 0); + lean_ctor_release(x_259, 1); + x_274 = x_259; +} else { + lean_dec_ref(x_259); + x_274 = lean_box(0); +} +if (lean_is_scalar(x_274)) { + x_275 = lean_alloc_ctor(1, 2, 0); +} else { + x_275 = x_274; +} +lean_ctor_set(x_275, 0, x_272); +lean_ctor_set(x_275, 1, x_273); +return x_275; +} +} +else +{ +lean_object* x_276; lean_object* x_277; lean_object* x_278; lean_object* x_279; +lean_dec(x_251); +lean_dec(x_14); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_276 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_updateFirst(x_5, x_248, x_6, x_7, x_8, x_9, x_10, x_11, x_252); +x_277 = lean_ctor_get(x_276, 0); +lean_inc(x_277); +x_278 = lean_ctor_get(x_276, 1); +lean_inc(x_278); +lean_dec(x_276); +x_279 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_throwEx___rarg(x_277, x_6, x_7, x_8, x_9, x_10, x_11, x_278); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +return x_279; +} +} +else +{ +lean_object* x_280; lean_object* x_281; lean_object* x_282; lean_object* x_283; +lean_dec(x_248); +lean_dec(x_14); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_280 = lean_ctor_get(x_250, 0); +lean_inc(x_280); +x_281 = lean_ctor_get(x_250, 1); +lean_inc(x_281); +if (lean_is_exclusive(x_250)) { + lean_ctor_release(x_250, 0); + lean_ctor_release(x_250, 1); + x_282 = x_250; +} else { + lean_dec_ref(x_250); + x_282 = lean_box(0); +} +if (lean_is_scalar(x_282)) { + x_283 = lean_alloc_ctor(1, 2, 0); +} else { + x_283 = x_282; +} +lean_ctor_set(x_283, 0, x_280); +lean_ctor_set(x_283, 1, x_281); +return x_283; +} +} +else +{ +lean_dec(x_14); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +if (lean_obj_tag(x_5) == 0) +{ +lean_object* x_284; lean_object* x_285; lean_object* x_286; lean_object* x_287; lean_object* x_288; lean_object* x_289; lean_object* x_290; +x_284 = lean_ctor_get(x_244, 1); +lean_inc(x_284); +if (lean_is_exclusive(x_244)) { + lean_ctor_release(x_244, 0); + lean_ctor_release(x_244, 1); + x_285 = x_244; +} else { + lean_dec_ref(x_244); + x_285 = lean_box(0); +} +x_286 = lean_ctor_get(x_245, 0); +lean_inc(x_286); +lean_dec(x_245); +if (lean_is_scalar(x_236)) { + x_287 = lean_alloc_ctor(0, 2, 0); +} else { + x_287 = x_236; +} +lean_ctor_set(x_287, 0, x_286); +lean_ctor_set(x_287, 1, x_235); +if (lean_is_scalar(x_233)) { + x_288 = lean_alloc_ctor(0, 2, 0); +} else { + x_288 = x_233; +} +lean_ctor_set(x_288, 0, x_232); +lean_ctor_set(x_288, 1, x_287); +x_289 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_289, 0, x_231); +lean_ctor_set(x_289, 1, x_288); +if (lean_is_scalar(x_285)) { + x_290 = lean_alloc_ctor(0, 2, 0); +} else { + x_290 = x_285; +} +lean_ctor_set(x_290, 0, x_289); +lean_ctor_set(x_290, 1, x_284); +return x_290; +} +else +{ +lean_object* x_291; lean_object* x_292; lean_object* x_293; uint8_t x_294; lean_object* x_295; lean_object* x_296; lean_object* x_297; lean_object* x_298; lean_object* x_299; +lean_dec(x_235); +x_291 = lean_ctor_get(x_244, 1); +lean_inc(x_291); +if (lean_is_exclusive(x_244)) { + lean_ctor_release(x_244, 0); + lean_ctor_release(x_244, 1); + x_292 = x_244; +} else { + lean_dec_ref(x_244); + x_292 = lean_box(0); +} +x_293 = lean_ctor_get(x_245, 0); +lean_inc(x_293); +lean_dec(x_245); +x_294 = 1; +x_295 = lean_box(x_294); +if (lean_is_scalar(x_236)) { + x_296 = lean_alloc_ctor(0, 2, 0); +} else { + x_296 = x_236; +} +lean_ctor_set(x_296, 0, x_293); +lean_ctor_set(x_296, 1, x_295); +if (lean_is_scalar(x_233)) { + x_297 = lean_alloc_ctor(0, 2, 0); +} else { + x_297 = x_233; +} +lean_ctor_set(x_297, 0, x_232); +lean_ctor_set(x_297, 1, x_296); +x_298 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_298, 0, x_231); +lean_ctor_set(x_298, 1, x_297); +if (lean_is_scalar(x_292)) { + x_299 = lean_alloc_ctor(0, 2, 0); +} else { + x_299 = x_292; +} +lean_ctor_set(x_299, 0, x_298); +lean_ctor_set(x_299, 1, x_291); +return x_299; +} +} +} +else +{ +lean_object* x_300; lean_object* x_301; lean_object* x_302; lean_object* x_303; +lean_dec(x_236); +lean_dec(x_235); +lean_dec(x_233); +lean_dec(x_232); +lean_dec(x_231); +lean_dec(x_14); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_300 = lean_ctor_get(x_244, 0); +lean_inc(x_300); +x_301 = lean_ctor_get(x_244, 1); +lean_inc(x_301); +if (lean_is_exclusive(x_244)) { + lean_ctor_release(x_244, 0); + lean_ctor_release(x_244, 1); + x_302 = x_244; +} else { + lean_dec_ref(x_244); + x_302 = lean_box(0); +} +if (lean_is_scalar(x_302)) { + x_303 = lean_alloc_ctor(1, 2, 0); +} else { + x_303 = x_302; +} +lean_ctor_set(x_303, 0, x_300); +lean_ctor_set(x_303, 1, x_301); +return x_303; +} +} +} +else +{ +uint8_t x_304; +lean_dec(x_14); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_304 = !lean_is_exclusive(x_16); +if (x_304 == 0) +{ +return x_16; +} +else +{ +lean_object* x_305; lean_object* x_306; lean_object* x_307; +x_305 = lean_ctor_get(x_16, 0); +x_306 = lean_ctor_get(x_16, 1); +lean_inc(x_306); +lean_inc(x_305); +lean_dec(x_16); +x_307 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_307, 0, x_305); +lean_ctor_set(x_307, 1, x_306); +return x_307; } } } @@ -26334,31 +29395,31 @@ x_14 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_e return x_14; } } -lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, 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_Match_0__Lean_Elab_Term_elabMatchAltViews_loop___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_3); +return x_14; +} +} +lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, 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_Match_0__Lean_Elab_Term_elabMatchAltViews_loop___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_3); +x_13 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_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); +lean_dec(x_5); return x_13; } } -lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, 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_Match_0__Lean_Elab_Term_elabMatchAltViews_loop(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_4); -return x_12; -} -} -lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, 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_box(0); -x_12 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop(x_1, x_2, x_3, x_11, x_4, x_5, x_6, x_7, x_8, x_9, x_10); -return x_12; +lean_object* x_12; lean_object* x_13; +x_12 = lean_box(0); +x_13 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop(x_1, x_2, x_3, x_4, x_12, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +return x_13; } } lean_object* l_Lean_Elab_Term_mkMatcher(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { @@ -26379,7 +29440,7 @@ lean_dec(x_5); return x_12; } } -static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_7999____closed__1() { +static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_8556____closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -26389,7 +29450,7 @@ x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_7999____closed__2() { +static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_8556____closed__2() { _start: { lean_object* x_1; @@ -26397,17 +29458,17 @@ x_1 = lean_mk_string("ignoreUnusedAlts"); return x_1; } } -static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_7999____closed__3() { +static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_8556____closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_7999____closed__1; -x_2 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_7999____closed__2; +x_1 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_8556____closed__1; +x_2 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_8556____closed__2; x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_7999____closed__4() { +static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_8556____closed__4() { _start: { lean_object* x_1; @@ -26415,13 +29476,13 @@ x_1 = lean_mk_string("if true, do not generate error if an alternative is not us return x_1; } } -static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_7999____closed__5() { +static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_8556____closed__5() { _start: { uint8_t x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; x_1 = 0; x_2 = l_Lean_instInhabitedParserDescr___closed__1; -x_3 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_7999____closed__4; +x_3 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_8556____closed__4; x_4 = lean_box(x_1); x_5 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_5, 0, x_4); @@ -26430,12 +29491,12 @@ lean_ctor_set(x_5, 2, x_3); return x_5; } } -lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_7999_(lean_object* x_1) { +lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_8556_(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_2 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_7999____closed__3; -x_3 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_7999____closed__5; +x_2 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_8556____closed__3; +x_3 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_8556____closed__5; x_4 = l_Lean_Option_register___at_Lean_Elab_initFn____x40_Lean_Elab_AutoBound___hyg_4____spec__1(x_2, x_3, x_1); return x_4; } @@ -28461,7 +31522,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Elab_Term_CollectPatternVars_collect_pushNewArg___closed__3; x_2 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_isMatchUnit_x3f___closed__3; -x_3 = lean_unsigned_to_nat(892u); +x_3 = lean_unsigned_to_nat(950u); x_4 = lean_unsigned_to_nat(2u); x_5 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_isMatchUnit_x3f___closed__2; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -28702,1802 +31763,6 @@ lean_dec(x_1); return x_8; } } -lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -if (lean_obj_tag(x_1) == 0) -{ -lean_object* x_4; -lean_dec(x_2); -x_4 = lean_apply_1(x_3, x_1); -return x_4; -} -else -{ -lean_object* x_5; lean_object* x_6; -lean_dec(x_3); -x_5 = lean_ctor_get(x_1, 0); -lean_inc(x_5); -lean_dec(x_1); -x_6 = lean_apply_1(x_2, x_5); -return x_6; -} -} -} -lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize_match__1(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize_match__1___rarg), 3, 0); -return x_2; -} -} -lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize_match__2___rarg(lean_object* x_1, lean_object* x_2) { -_start: -{ -lean_object* x_3; lean_object* x_4; lean_object* x_5; -x_3 = lean_ctor_get(x_1, 0); -lean_inc(x_3); -x_4 = lean_ctor_get(x_1, 1); -lean_inc(x_4); -lean_dec(x_1); -x_5 = lean_apply_2(x_2, x_3, x_4); -return x_5; -} -} -lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize_match__2(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize_match__2___rarg), 2, 0); -return x_2; -} -} -lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize_match__3___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -if (lean_obj_tag(x_1) == 0) -{ -lean_object* x_4; lean_object* x_5; -lean_dec(x_3); -x_4 = lean_ctor_get(x_1, 0); -lean_inc(x_4); -lean_dec(x_1); -x_5 = lean_apply_1(x_2, x_4); -return x_5; -} -else -{ -lean_object* x_6; -lean_dec(x_2); -x_6 = lean_apply_1(x_3, x_1); -return x_6; -} -} -} -lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize_match__3(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize_match__3___rarg), 3, 0); -return x_2; -} -} -lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__1(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4) { -_start: -{ -uint8_t x_5; -x_5 = x_2 == x_3; -if (x_5 == 0) -{ -lean_object* x_6; size_t x_7; size_t x_8; lean_object* x_9; uint8_t x_10; -x_6 = lean_array_uget(x_1, x_2); -x_7 = 1; -x_8 = x_2 + x_7; -x_9 = lean_ctor_get(x_6, 0); -lean_inc(x_9); -x_10 = l_Lean_Expr_isFVar(x_9); -lean_dec(x_9); -if (x_10 == 0) -{ -lean_dec(x_6); -x_2 = x_8; -goto _start; -} -else -{ -lean_object* x_12; -x_12 = lean_array_push(x_4, x_6); -x_2 = x_8; -x_4 = x_12; -goto _start; -} -} -else -{ -return x_4; -} -} -} -lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__2(size_t x_1, size_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { -_start: -{ -uint8_t x_11; -x_11 = x_2 < x_1; -if (x_11 == 0) -{ -lean_object* x_12; lean_object* x_13; -x_12 = x_3; -x_13 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_13, 0, x_12); -lean_ctor_set(x_13, 1, x_10); -return x_13; -} -else -{ -lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; size_t x_20; size_t x_21; lean_object* x_22; lean_object* x_23; -x_14 = lean_array_uget(x_3, x_2); -x_15 = lean_unsigned_to_nat(0u); -x_16 = lean_array_uset(x_3, x_2, x_15); -x_17 = x_14; -x_18 = lean_ctor_get(x_8, 3); -x_19 = l_Lean_mkIdentFrom(x_18, x_17); -x_20 = 1; -x_21 = x_2 + x_20; -x_22 = x_19; -x_23 = lean_array_uset(x_16, x_2, x_22); -x_2 = x_21; -x_3 = x_23; -goto _start; -} -} -} -uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__3(lean_object* x_1, lean_object* x_2, size_t x_3, size_t x_4) { -_start: -{ -uint8_t x_5; -x_5 = x_3 == x_4; -if (x_5 == 0) -{ -lean_object* x_6; -x_6 = lean_array_uget(x_2, x_3); -if (lean_obj_tag(x_6) == 0) -{ -lean_object* x_7; uint8_t x_8; -x_7 = lean_ctor_get(x_6, 0); -lean_inc(x_7); -lean_dec(x_6); -x_8 = lean_name_eq(x_7, x_1); -lean_dec(x_7); -if (x_8 == 0) -{ -size_t x_9; size_t x_10; -x_9 = 1; -x_10 = x_3 + x_9; -x_3 = x_10; -goto _start; -} -else -{ -uint8_t x_12; -x_12 = 1; -return x_12; -} -} -else -{ -size_t x_13; size_t x_14; -lean_dec(x_6); -x_13 = 1; -x_14 = x_3 + x_13; -x_3 = x_14; -goto _start; -} -} -else -{ -uint8_t x_16; -x_16 = 0; -return x_16; -} -} -} -lean_object* l_Array_foldrMUnsafe_fold___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__4(size_t x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { -_start: -{ -uint8_t x_14; -x_14 = x_4 == x_5; -if (x_14 == 0) -{ -size_t x_15; size_t x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; -x_15 = 1; -x_16 = x_4 - x_15; -x_17 = lean_array_uget(x_3, x_16); -x_18 = l_Lean_Expr_fvarId_x21(x_17); -lean_dec(x_17); -lean_inc(x_9); -x_19 = l_Lean_Meta_getLocalDecl(x_18, x_9, x_10, x_11, x_12, x_13); -if (lean_obj_tag(x_19) == 0) -{ -lean_object* x_20; lean_object* x_21; lean_object* x_22; uint8_t x_23; -x_20 = lean_ctor_get(x_19, 0); -lean_inc(x_20); -x_21 = lean_ctor_get(x_19, 1); -lean_inc(x_21); -lean_dec(x_19); -x_22 = l_Lean_LocalDecl_userName(x_20); -lean_dec(x_20); -x_23 = l_Array_contains___at_Lean_findField_x3f___spec__1(x_6, x_22); -if (x_23 == 0) -{ -lean_object* x_24; lean_object* x_25; uint8_t x_26; -x_24 = lean_array_get_size(x_2); -x_25 = lean_unsigned_to_nat(0u); -x_26 = lean_nat_dec_lt(x_25, x_24); -if (x_26 == 0) -{ -lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; -lean_dec(x_24); -x_27 = lean_box(0); -x_28 = l_Lean_Elab_Term_addNamedArg___lambda__1(x_6, x_22, x_27, x_7, x_8, x_9, x_10, x_11, x_12, x_21); -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_4 = x_16; -x_6 = x_29; -x_13 = x_30; -goto _start; -} -else -{ -uint8_t x_32; -x_32 = lean_nat_dec_le(x_24, x_24); -if (x_32 == 0) -{ -lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; -lean_dec(x_24); -x_33 = lean_box(0); -x_34 = l_Lean_Elab_Term_addNamedArg___lambda__1(x_6, x_22, x_33, x_7, x_8, x_9, x_10, x_11, x_12, x_21); -x_35 = lean_ctor_get(x_34, 0); -lean_inc(x_35); -x_36 = lean_ctor_get(x_34, 1); -lean_inc(x_36); -lean_dec(x_34); -x_4 = x_16; -x_6 = x_35; -x_13 = x_36; -goto _start; -} -else -{ -size_t x_38; uint8_t x_39; -x_38 = lean_usize_of_nat(x_24); -lean_dec(x_24); -x_39 = l_Array_anyMUnsafe_any___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__3(x_22, x_2, x_1, x_38); -if (x_39 == 0) -{ -lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; -x_40 = lean_box(0); -x_41 = l_Lean_Elab_Term_addNamedArg___lambda__1(x_6, x_22, x_40, x_7, x_8, x_9, x_10, x_11, x_12, x_21); -x_42 = lean_ctor_get(x_41, 0); -lean_inc(x_42); -x_43 = lean_ctor_get(x_41, 1); -lean_inc(x_43); -lean_dec(x_41); -x_4 = x_16; -x_6 = x_42; -x_13 = x_43; -goto _start; -} -else -{ -lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; -x_45 = l___private_Lean_CoreM_0__Lean_Core_mkFreshNameImp(x_22, x_11, x_12, x_21); -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_box(0); -x_49 = l_Lean_Elab_Term_addNamedArg___lambda__1(x_6, x_46, x_48, x_7, x_8, x_9, x_10, x_11, x_12, x_47); -x_50 = lean_ctor_get(x_49, 0); -lean_inc(x_50); -x_51 = lean_ctor_get(x_49, 1); -lean_inc(x_51); -lean_dec(x_49); -x_4 = x_16; -x_6 = x_50; -x_13 = x_51; -goto _start; -} -} -} -} -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; lean_object* x_59; -x_53 = l___private_Lean_CoreM_0__Lean_Core_mkFreshNameImp(x_22, x_11, x_12, x_21); -x_54 = lean_ctor_get(x_53, 0); -lean_inc(x_54); -x_55 = lean_ctor_get(x_53, 1); -lean_inc(x_55); -lean_dec(x_53); -x_56 = lean_box(0); -x_57 = l_Lean_Elab_Term_addNamedArg___lambda__1(x_6, x_54, x_56, x_7, x_8, x_9, x_10, x_11, x_12, x_55); -x_58 = lean_ctor_get(x_57, 0); -lean_inc(x_58); -x_59 = lean_ctor_get(x_57, 1); -lean_inc(x_59); -lean_dec(x_57); -x_4 = x_16; -x_6 = x_58; -x_13 = x_59; -goto _start; -} -} -else -{ -uint8_t x_61; -lean_dec(x_9); -lean_dec(x_6); -x_61 = !lean_is_exclusive(x_19); -if (x_61 == 0) -{ -return x_19; -} -else -{ -lean_object* x_62; lean_object* x_63; lean_object* x_64; -x_62 = lean_ctor_get(x_19, 0); -x_63 = lean_ctor_get(x_19, 1); -lean_inc(x_63); -lean_inc(x_62); -lean_dec(x_19); -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; -} -} -} -else -{ -lean_object* x_65; -lean_dec(x_9); -x_65 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_65, 0, x_6); -lean_ctor_set(x_65, 1, x_13); -return x_65; -} -} -} -lean_object* l_Array_foldrMUnsafe_fold___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__5(size_t x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { -_start: -{ -uint8_t x_14; -x_14 = x_4 == x_5; -if (x_14 == 0) -{ -size_t x_15; size_t x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; -x_15 = 1; -x_16 = x_4 - x_15; -x_17 = lean_array_uget(x_3, x_16); -x_18 = l_Lean_Expr_fvarId_x21(x_17); -lean_dec(x_17); -lean_inc(x_9); -x_19 = l_Lean_Meta_getLocalDecl(x_18, x_9, x_10, x_11, x_12, x_13); -if (lean_obj_tag(x_19) == 0) -{ -lean_object* x_20; lean_object* x_21; lean_object* x_22; uint8_t x_23; -x_20 = lean_ctor_get(x_19, 0); -lean_inc(x_20); -x_21 = lean_ctor_get(x_19, 1); -lean_inc(x_21); -lean_dec(x_19); -x_22 = l_Lean_LocalDecl_userName(x_20); -lean_dec(x_20); -x_23 = l_Array_contains___at_Lean_findField_x3f___spec__1(x_6, x_22); -if (x_23 == 0) -{ -lean_object* x_24; lean_object* x_25; uint8_t x_26; -x_24 = lean_array_get_size(x_2); -x_25 = lean_unsigned_to_nat(0u); -x_26 = lean_nat_dec_lt(x_25, x_24); -if (x_26 == 0) -{ -lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; -lean_dec(x_24); -x_27 = lean_box(0); -x_28 = l_Lean_Elab_Term_addNamedArg___lambda__1(x_6, x_22, x_27, x_7, x_8, x_9, x_10, x_11, x_12, x_21); -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_4 = x_16; -x_6 = x_29; -x_13 = x_30; -goto _start; -} -else -{ -uint8_t x_32; -x_32 = lean_nat_dec_le(x_24, x_24); -if (x_32 == 0) -{ -lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; -lean_dec(x_24); -x_33 = lean_box(0); -x_34 = l_Lean_Elab_Term_addNamedArg___lambda__1(x_6, x_22, x_33, x_7, x_8, x_9, x_10, x_11, x_12, x_21); -x_35 = lean_ctor_get(x_34, 0); -lean_inc(x_35); -x_36 = lean_ctor_get(x_34, 1); -lean_inc(x_36); -lean_dec(x_34); -x_4 = x_16; -x_6 = x_35; -x_13 = x_36; -goto _start; -} -else -{ -size_t x_38; uint8_t x_39; -x_38 = lean_usize_of_nat(x_24); -lean_dec(x_24); -x_39 = l_Array_anyMUnsafe_any___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__3(x_22, x_2, x_1, x_38); -if (x_39 == 0) -{ -lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; -x_40 = lean_box(0); -x_41 = l_Lean_Elab_Term_addNamedArg___lambda__1(x_6, x_22, x_40, x_7, x_8, x_9, x_10, x_11, x_12, x_21); -x_42 = lean_ctor_get(x_41, 0); -lean_inc(x_42); -x_43 = lean_ctor_get(x_41, 1); -lean_inc(x_43); -lean_dec(x_41); -x_4 = x_16; -x_6 = x_42; -x_13 = x_43; -goto _start; -} -else -{ -lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; -x_45 = l___private_Lean_CoreM_0__Lean_Core_mkFreshNameImp(x_22, x_11, x_12, x_21); -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_box(0); -x_49 = l_Lean_Elab_Term_addNamedArg___lambda__1(x_6, x_46, x_48, x_7, x_8, x_9, x_10, x_11, x_12, x_47); -x_50 = lean_ctor_get(x_49, 0); -lean_inc(x_50); -x_51 = lean_ctor_get(x_49, 1); -lean_inc(x_51); -lean_dec(x_49); -x_4 = x_16; -x_6 = x_50; -x_13 = x_51; -goto _start; -} -} -} -} -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; lean_object* x_59; -x_53 = l___private_Lean_CoreM_0__Lean_Core_mkFreshNameImp(x_22, x_11, x_12, x_21); -x_54 = lean_ctor_get(x_53, 0); -lean_inc(x_54); -x_55 = lean_ctor_get(x_53, 1); -lean_inc(x_55); -lean_dec(x_53); -x_56 = lean_box(0); -x_57 = l_Lean_Elab_Term_addNamedArg___lambda__1(x_6, x_54, x_56, x_7, x_8, x_9, x_10, x_11, x_12, x_55); -x_58 = lean_ctor_get(x_57, 0); -lean_inc(x_58); -x_59 = lean_ctor_get(x_57, 1); -lean_inc(x_59); -lean_dec(x_57); -x_4 = x_16; -x_6 = x_58; -x_13 = x_59; -goto _start; -} -} -else -{ -uint8_t x_61; -lean_dec(x_9); -lean_dec(x_6); -x_61 = !lean_is_exclusive(x_19); -if (x_61 == 0) -{ -return x_19; -} -else -{ -lean_object* x_62; lean_object* x_63; lean_object* x_64; -x_62 = lean_ctor_get(x_19, 0); -x_63 = lean_ctor_get(x_19, 1); -lean_inc(x_63); -lean_inc(x_62); -lean_dec(x_19); -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; -} -} -} -else -{ -lean_object* x_65; -lean_dec(x_9); -x_65 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_65, 0, x_6); -lean_ctor_set(x_65, 1, x_13); -return x_65; -} -} -} -lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__6___lambda__1(lean_object* x_1, size_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; lean_object* x_13; lean_object* x_45; -x_11 = lean_ctor_get(x_1, 1); -lean_inc(x_11); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_4); -x_45 = l_Lean_Elab_Term_getPatternsVars(x_11, x_4, x_5, x_6, x_7, x_8, x_9, x_10); -if (lean_obj_tag(x_45) == 0) -{ -lean_object* x_46; lean_object* x_47; lean_object* x_48; uint8_t x_49; -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_array_get_size(x_3); -x_49 = lean_nat_dec_le(x_48, x_48); -if (x_49 == 0) -{ -lean_object* x_50; uint8_t x_51; -x_50 = lean_unsigned_to_nat(0u); -x_51 = lean_nat_dec_lt(x_50, x_48); -if (x_51 == 0) -{ -lean_object* x_52; -lean_dec(x_48); -lean_dec(x_46); -x_52 = l_Array_empty___closed__1; -x_12 = x_52; -x_13 = x_47; -goto block_44; -} -else -{ -size_t x_53; lean_object* x_54; lean_object* x_55; -x_53 = lean_usize_of_nat(x_48); -lean_dec(x_48); -x_54 = l_Array_empty___closed__1; -lean_inc(x_6); -x_55 = l_Array_foldrMUnsafe_fold___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__4(x_2, x_46, x_3, x_53, x_2, x_54, x_4, x_5, x_6, x_7, x_8, x_9, x_47); -lean_dec(x_46); -if (lean_obj_tag(x_55) == 0) -{ -lean_object* x_56; lean_object* x_57; -x_56 = lean_ctor_get(x_55, 0); -lean_inc(x_56); -x_57 = lean_ctor_get(x_55, 1); -lean_inc(x_57); -lean_dec(x_55); -x_12 = x_56; -x_13 = x_57; -goto block_44; -} -else -{ -uint8_t x_58; -lean_dec(x_11); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_1); -x_58 = !lean_is_exclusive(x_55); -if (x_58 == 0) -{ -return x_55; -} -else -{ -lean_object* x_59; lean_object* x_60; lean_object* x_61; -x_59 = lean_ctor_get(x_55, 0); -x_60 = lean_ctor_get(x_55, 1); -lean_inc(x_60); -lean_inc(x_59); -lean_dec(x_55); -x_61 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_61, 0, x_59); -lean_ctor_set(x_61, 1, x_60); -return x_61; -} -} -} -} -else -{ -lean_object* x_62; uint8_t x_63; -x_62 = lean_unsigned_to_nat(0u); -x_63 = lean_nat_dec_lt(x_62, x_48); -if (x_63 == 0) -{ -lean_object* x_64; -lean_dec(x_48); -lean_dec(x_46); -x_64 = l_Array_empty___closed__1; -x_12 = x_64; -x_13 = x_47; -goto block_44; -} -else -{ -size_t x_65; lean_object* x_66; lean_object* x_67; -x_65 = lean_usize_of_nat(x_48); -lean_dec(x_48); -x_66 = l_Array_empty___closed__1; -lean_inc(x_6); -x_67 = l_Array_foldrMUnsafe_fold___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__5(x_2, x_46, x_3, x_65, x_2, x_66, x_4, x_5, x_6, x_7, x_8, x_9, x_47); -lean_dec(x_46); -if (lean_obj_tag(x_67) == 0) -{ -lean_object* x_68; lean_object* x_69; -x_68 = lean_ctor_get(x_67, 0); -lean_inc(x_68); -x_69 = lean_ctor_get(x_67, 1); -lean_inc(x_69); -lean_dec(x_67); -x_12 = x_68; -x_13 = x_69; -goto block_44; -} -else -{ -uint8_t x_70; -lean_dec(x_11); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_1); -x_70 = !lean_is_exclusive(x_67); -if (x_70 == 0) -{ -return x_67; -} -else -{ -lean_object* x_71; lean_object* x_72; lean_object* x_73; -x_71 = lean_ctor_get(x_67, 0); -x_72 = lean_ctor_get(x_67, 1); -lean_inc(x_72); -lean_inc(x_71); -lean_dec(x_67); -x_73 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_73, 0, x_71); -lean_ctor_set(x_73, 1, x_72); -return x_73; -} -} -} -} -} -else -{ -uint8_t x_74; -lean_dec(x_11); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_1); -x_74 = !lean_is_exclusive(x_45); -if (x_74 == 0) -{ -return x_45; -} -else -{ -lean_object* x_75; lean_object* x_76; lean_object* x_77; -x_75 = lean_ctor_get(x_45, 0); -x_76 = lean_ctor_get(x_45, 1); -lean_inc(x_76); -lean_inc(x_75); -lean_dec(x_45); -x_77 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_77, 0, x_75); -lean_ctor_set(x_77, 1, x_76); -return x_77; -} -} -block_44: -{ -lean_object* x_14; lean_object* x_15; size_t x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_14 = l_Array_reverse___rarg(x_12); -x_15 = lean_array_get_size(x_14); -x_16 = lean_usize_of_nat(x_15); -lean_dec(x_15); -x_17 = x_14; -x_18 = lean_box_usize(x_16); -x_19 = lean_box_usize(x_2); -x_20 = lean_alloc_closure((void*)(l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__2___boxed), 10, 3); -lean_closure_set(x_20, 0, x_18); -lean_closure_set(x_20, 1, x_19); -lean_closure_set(x_20, 2, x_17); -x_21 = x_20; -x_22 = lean_apply_7(x_21, x_4, x_5, x_6, x_7, x_8, x_9, x_13); -if (lean_obj_tag(x_22) == 0) -{ -uint8_t x_23; -x_23 = !lean_is_exclusive(x_22); -if (x_23 == 0) -{ -lean_object* x_24; lean_object* x_25; lean_object* x_26; uint8_t x_27; -x_24 = lean_ctor_get(x_22, 0); -x_25 = lean_ctor_get(x_1, 0); -lean_inc(x_25); -x_26 = l_Array_append___rarg(x_11, x_24); -lean_dec(x_24); -x_27 = !lean_is_exclusive(x_1); -if (x_27 == 0) -{ -lean_object* x_28; lean_object* x_29; -x_28 = lean_ctor_get(x_1, 1); -lean_dec(x_28); -x_29 = lean_ctor_get(x_1, 0); -lean_dec(x_29); -lean_ctor_set(x_1, 1, x_26); -lean_ctor_set(x_22, 0, x_1); -return x_22; -} -else -{ -lean_object* x_30; lean_object* x_31; -x_30 = lean_ctor_get(x_1, 2); -lean_inc(x_30); -lean_dec(x_1); -x_31 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_31, 0, x_25); -lean_ctor_set(x_31, 1, x_26); -lean_ctor_set(x_31, 2, x_30); -lean_ctor_set(x_22, 0, x_31); -return x_22; -} -} -else -{ -lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; -x_32 = lean_ctor_get(x_22, 0); -x_33 = lean_ctor_get(x_22, 1); -lean_inc(x_33); -lean_inc(x_32); -lean_dec(x_22); -x_34 = lean_ctor_get(x_1, 0); -lean_inc(x_34); -x_35 = l_Array_append___rarg(x_11, x_32); -lean_dec(x_32); -x_36 = lean_ctor_get(x_1, 2); -lean_inc(x_36); -if (lean_is_exclusive(x_1)) { - lean_ctor_release(x_1, 0); - lean_ctor_release(x_1, 1); - lean_ctor_release(x_1, 2); - x_37 = x_1; -} else { - lean_dec_ref(x_1); - x_37 = lean_box(0); -} -if (lean_is_scalar(x_37)) { - x_38 = lean_alloc_ctor(0, 3, 0); -} else { - x_38 = x_37; -} -lean_ctor_set(x_38, 0, x_34); -lean_ctor_set(x_38, 1, x_35); -lean_ctor_set(x_38, 2, x_36); -x_39 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_39, 0, x_38); -lean_ctor_set(x_39, 1, x_33); -return x_39; -} -} -else -{ -uint8_t x_40; -lean_dec(x_11); -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_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__6___lambda__2(size_t x_1, lean_object* x_2, lean_object* x_3, size_t x_4, lean_object* 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: -{ -size_t x_15; size_t x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; -x_15 = 1; -x_16 = x_1 + x_15; -x_17 = x_7; -x_18 = lean_array_uset(x_2, x_1, x_17); -x_19 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__6(x_3, x_4, x_5, x_6, x_16, x_18, x_8, x_9, x_10, x_11, x_12, x_13, x_14); -return x_19; -} -} -lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__6(lean_object* x_1, size_t x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { -_start: -{ -uint8_t x_14; -x_14 = x_5 < x_4; -if (x_14 == 0) -{ -lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; -lean_dec(x_3); -x_15 = lean_ctor_get(x_1, 0); -lean_inc(x_15); -lean_dec(x_1); -x_16 = lean_ctor_get(x_15, 1); -lean_inc(x_16); -lean_dec(x_15); -x_17 = x_6; -x_18 = lean_apply_9(x_16, lean_box(0), x_17, x_7, x_8, x_9, x_10, x_11, x_12, x_13); -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; -x_19 = lean_array_uget(x_6, x_5); -x_20 = lean_unsigned_to_nat(0u); -x_21 = lean_array_uset(x_6, x_5, x_20); -x_22 = lean_ctor_get(x_1, 1); -lean_inc(x_22); -x_23 = x_19; -x_24 = lean_box_usize(x_2); -lean_inc(x_3); -x_25 = lean_alloc_closure((void*)(l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__6___lambda__1___boxed), 10, 3); -lean_closure_set(x_25, 0, x_23); -lean_closure_set(x_25, 1, x_24); -lean_closure_set(x_25, 2, x_3); -x_26 = lean_box_usize(x_5); -x_27 = lean_box_usize(x_2); -x_28 = lean_box_usize(x_4); -x_29 = lean_alloc_closure((void*)(l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__6___lambda__2___boxed), 14, 6); -lean_closure_set(x_29, 0, x_26); -lean_closure_set(x_29, 1, x_21); -lean_closure_set(x_29, 2, x_1); -lean_closure_set(x_29, 3, x_27); -lean_closure_set(x_29, 4, x_3); -lean_closure_set(x_29, 5, x_28); -x_30 = lean_apply_11(x_22, lean_box(0), lean_box(0), x_25, x_29, x_7, x_8, x_9, x_10, x_11, x_12, x_13); -return x_30; -} -} -} -lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__7(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { -_start: -{ -uint8_t x_12; -x_12 = x_2 == x_3; -if (x_12 == 0) -{ -lean_object* x_13; lean_object* x_14; -x_13 = lean_array_uget(x_1, x_2); -lean_inc(x_7); -lean_inc(x_13); -x_14 = l_Lean_Meta_getLocalDecl(x_13, x_7, x_8, x_9, x_10, x_11); -if (lean_obj_tag(x_14) == 0) -{ -lean_object* x_15; lean_object* x_16; uint8_t x_17; -x_15 = lean_ctor_get(x_14, 0); -lean_inc(x_15); -x_16 = lean_ctor_get(x_14, 1); -lean_inc(x_16); -lean_dec(x_14); -x_17 = l_Lean_LocalDecl_isLet(x_15); -lean_dec(x_15); -if (x_17 == 0) -{ -lean_object* x_18; size_t x_19; size_t x_20; -x_18 = lean_array_push(x_4, x_13); -x_19 = 1; -x_20 = x_2 + x_19; -x_2 = x_20; -x_4 = x_18; -x_11 = x_16; -goto _start; -} -else -{ -size_t x_22; size_t x_23; -lean_dec(x_13); -x_22 = 1; -x_23 = x_2 + x_22; -x_2 = x_23; -x_11 = x_16; -goto _start; -} -} -else -{ -uint8_t x_25; -lean_dec(x_13); -lean_dec(x_7); -lean_dec(x_4); -x_25 = !lean_is_exclusive(x_14); -if (x_25 == 0) -{ -return x_14; -} -else -{ -lean_object* x_26; lean_object* x_27; lean_object* x_28; -x_26 = lean_ctor_get(x_14, 0); -x_27 = lean_ctor_get(x_14, 1); -lean_inc(x_27); -lean_inc(x_26); -lean_dec(x_14); -x_28 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_28, 0, x_26); -lean_ctor_set(x_28, 1, x_27); -return x_28; -} -} -} -else -{ -lean_object* x_29; -lean_dec(x_7); -x_29 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_29, 0, x_4); -lean_ctor_set(x_29, 1, x_11); -return x_29; -} -} -} -static lean_object* _init_l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___lambda__1___closed__1() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Array_empty___closed__1; -x_2 = l_Array_unzip___rarg(x_1); -return x_2; -} -} -lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___lambda__1(lean_object* x_1, lean_object* x_2, size_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { -_start: -{ -uint8_t x_13; uint8_t x_14; lean_object* x_15; -x_13 = 0; -x_14 = 1; -lean_inc(x_8); -x_15 = l_Lean_Meta_mkForallFVars(x_1, x_5, x_13, x_14, x_8, x_9, x_10, x_11, x_12); -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; uint8_t x_21; -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_Array_zip___rarg(x_2, x_4); -x_19 = lean_array_get_size(x_18); -x_20 = lean_unsigned_to_nat(0u); -x_21 = lean_nat_dec_lt(x_20, x_19); -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_dec(x_19); -lean_dec(x_18); -x_22 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___lambda__1___closed__1; -x_23 = lean_ctor_get(x_22, 0); -lean_inc(x_23); -x_24 = lean_ctor_get(x_22, 1); -lean_inc(x_24); -x_25 = l_Lean_Expr_replaceFVars(x_16, x_23, x_24); -lean_dec(x_24); -lean_dec(x_23); -lean_dec(x_16); -x_26 = l_Lean_Meta_mkForallFVars(x_4, x_25, x_13, x_14, x_8, x_9, x_10, x_11, x_17); -return x_26; -} -else -{ -uint8_t x_27; -x_27 = lean_nat_dec_le(x_19, x_19); -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_dec(x_19); -lean_dec(x_18); -x_28 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___lambda__1___closed__1; -x_29 = lean_ctor_get(x_28, 0); -lean_inc(x_29); -x_30 = lean_ctor_get(x_28, 1); -lean_inc(x_30); -x_31 = l_Lean_Expr_replaceFVars(x_16, x_29, x_30); -lean_dec(x_30); -lean_dec(x_29); -lean_dec(x_16); -x_32 = l_Lean_Meta_mkForallFVars(x_4, x_31, x_13, x_14, x_8, x_9, x_10, x_11, x_17); -return x_32; -} -else -{ -size_t x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; -x_33 = lean_usize_of_nat(x_19); -lean_dec(x_19); -x_34 = l_Array_empty___closed__1; -x_35 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__1(x_18, x_3, x_33, x_34); -lean_dec(x_18); -x_36 = l_Array_unzip___rarg(x_35); -lean_dec(x_35); -x_37 = lean_ctor_get(x_36, 0); -lean_inc(x_37); -x_38 = lean_ctor_get(x_36, 1); -lean_inc(x_38); -lean_dec(x_36); -x_39 = l_Lean_Expr_replaceFVars(x_16, x_37, x_38); -lean_dec(x_38); -lean_dec(x_37); -lean_dec(x_16); -x_40 = l_Lean_Meta_mkForallFVars(x_4, x_39, x_13, x_14, x_8, x_9, x_10, x_11, x_17); -return x_40; -} -} -} -else -{ -uint8_t x_41; -lean_dec(x_8); -lean_dec(x_4); -x_41 = !lean_is_exclusive(x_15); -if (x_41 == 0) -{ -return x_15; -} -else -{ -lean_object* x_42; lean_object* x_43; lean_object* x_44; -x_42 = lean_ctor_get(x_15, 0); -x_43 = lean_ctor_get(x_15, 1); -lean_inc(x_43); -lean_inc(x_42); -lean_dec(x_15); -x_44 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_44, 0, x_42); -lean_ctor_set(x_44, 1, x_43); -return x_44; -} -} -} -} -static lean_object* _init_l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___lambda__2___boxed__const__1() { -_start: -{ -size_t x_1; lean_object* x_2; -x_1 = 0; -x_2 = lean_box_usize(x_1); -return x_2; -} -} -lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, uint8_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { -_start: -{ -if (x_4 == 0) -{ -uint8_t x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -x_12 = 0; -x_13 = lean_box(x_12); -x_14 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_14, 0, x_1); -lean_ctor_set(x_14, 1, x_13); -x_15 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_15, 0, x_2); -lean_ctor_set(x_15, 1, x_14); -x_16 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_16, 0, x_3); -lean_ctor_set(x_16, 1, x_15); -x_17 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_17, 0, x_16); -lean_ctor_set(x_17, 1, x_11); -return x_17; -} -else -{ -lean_object* x_18; lean_object* x_19; -x_18 = l_Lean_NameSet_empty; -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -x_19 = l_Lean_Meta_getFVarsToGeneralize(x_3, x_18, x_7, x_8, x_9, x_10, x_11); -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_98; lean_object* x_99; uint8_t x_100; -x_20 = lean_ctor_get(x_19, 0); -lean_inc(x_20); -x_21 = lean_ctor_get(x_19, 1); -lean_inc(x_21); -if (lean_is_exclusive(x_19)) { - lean_ctor_release(x_19, 0); - lean_ctor_release(x_19, 1); - x_22 = x_19; -} else { - lean_dec_ref(x_19); - x_22 = lean_box(0); -} -x_98 = lean_array_get_size(x_20); -x_99 = lean_unsigned_to_nat(0u); -x_100 = lean_nat_dec_lt(x_99, x_98); -if (x_100 == 0) -{ -lean_object* x_101; -lean_dec(x_98); -lean_dec(x_20); -x_101 = l_Array_empty___closed__1; -x_23 = x_101; -x_24 = x_21; -goto block_97; -} -else -{ -uint8_t x_102; -x_102 = lean_nat_dec_le(x_98, x_98); -if (x_102 == 0) -{ -lean_object* x_103; -lean_dec(x_98); -lean_dec(x_20); -x_103 = l_Array_empty___closed__1; -x_23 = x_103; -x_24 = x_21; -goto block_97; -} -else -{ -size_t x_104; size_t x_105; lean_object* x_106; lean_object* x_107; -x_104 = 0; -x_105 = lean_usize_of_nat(x_98); -lean_dec(x_98); -x_106 = l_Array_empty___closed__1; -lean_inc(x_7); -x_107 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__7(x_20, x_104, x_105, x_106, x_5, x_6, x_7, x_8, x_9, x_10, x_21); -lean_dec(x_20); -if (lean_obj_tag(x_107) == 0) -{ -lean_object* x_108; lean_object* x_109; -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_23 = x_108; -x_24 = x_109; -goto block_97; -} -else -{ -uint8_t x_110; -lean_dec(x_22); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_110 = !lean_is_exclusive(x_107); -if (x_110 == 0) -{ -return x_107; -} -else -{ -lean_object* x_111; lean_object* x_112; lean_object* x_113; -x_111 = lean_ctor_get(x_107, 0); -x_112 = lean_ctor_get(x_107, 1); -lean_inc(x_112); -lean_inc(x_111); -lean_dec(x_107); -x_113 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_113, 0, x_111); -lean_ctor_set(x_113, 1, x_112); -return x_113; -} -} -} -} -block_97: -{ -uint8_t x_25; -x_25 = l_Array_isEmpty___rarg(x_23); -if (x_25 == 0) -{ -lean_object* x_26; size_t x_27; size_t x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; -lean_dec(x_22); -x_26 = lean_array_get_size(x_23); -x_27 = lean_usize_of_nat(x_26); -lean_dec(x_26); -x_28 = 0; -x_29 = x_23; -x_30 = l_Array_mapMUnsafe_map___at_Lean_LocalContext_getFVars___spec__1(x_27, x_28, x_29); -x_31 = x_30; -x_32 = lean_array_get_size(x_3); -x_33 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_33, 0, x_32); -x_34 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___lambda__2___boxed__const__1; -lean_inc(x_3); -lean_inc(x_31); -x_35 = lean_alloc_closure((void*)(l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___lambda__1___boxed), 12, 3); -lean_closure_set(x_35, 0, x_31); -lean_closure_set(x_35, 1, x_3); -lean_closure_set(x_35, 2, x_34); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_2); -x_36 = l_Lean_Meta_forallBoundedTelescope___at_Lean_Elab_Term_elabLetDeclAux___spec__1___rarg(x_2, x_33, x_35, x_5, x_6, x_7, x_8, x_9, x_10, x_24); -if (lean_obj_tag(x_36) == 0) -{ -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_36, 0); -lean_inc(x_37); -x_38 = lean_ctor_get(x_36, 1); -lean_inc(x_38); -lean_dec(x_36); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_37); -x_39 = l_Lean_Meta_isTypeCorrect(x_37, x_7, x_8, x_9, x_10, x_38); -x_40 = lean_ctor_get(x_39, 0); -lean_inc(x_40); -x_41 = lean_unbox(x_40); -lean_dec(x_40); -if (x_41 == 0) -{ -uint8_t x_42; -lean_dec(x_37); -lean_dec(x_31); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -x_42 = !lean_is_exclusive(x_39); -if (x_42 == 0) -{ -lean_object* x_43; uint8_t x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; -x_43 = lean_ctor_get(x_39, 0); -lean_dec(x_43); -x_44 = 1; -x_45 = lean_box(x_44); -x_46 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_46, 0, x_1); -lean_ctor_set(x_46, 1, x_45); -x_47 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_47, 0, x_2); -lean_ctor_set(x_47, 1, x_46); -x_48 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_48, 0, x_3); -lean_ctor_set(x_48, 1, x_47); -lean_ctor_set(x_39, 0, x_48); -return x_39; -} -else -{ -lean_object* x_49; uint8_t x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; -x_49 = lean_ctor_get(x_39, 1); -lean_inc(x_49); -lean_dec(x_39); -x_50 = 1; -x_51 = lean_box(x_50); -x_52 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_52, 0, x_1); -lean_ctor_set(x_52, 1, x_51); -x_53 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_53, 0, x_2); -lean_ctor_set(x_53, 1, x_52); -x_54 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_54, 0, x_3); -lean_ctor_set(x_54, 1, x_53); -x_55 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_55, 0, x_54); -lean_ctor_set(x_55, 1, x_49); -return x_55; -} -} -else -{ -lean_object* x_56; lean_object* x_57; lean_object* x_58; size_t 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_dec(x_2); -x_56 = lean_ctor_get(x_39, 1); -lean_inc(x_56); -lean_dec(x_39); -x_57 = l_Array_append___rarg(x_3, x_31); -x_58 = lean_array_get_size(x_1); -x_59 = lean_usize_of_nat(x_58); -lean_dec(x_58); -x_60 = x_1; -x_61 = l_Lean_Elab_Term_quoteAutoTactic___closed__4; -x_62 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___lambda__2___boxed__const__1; -x_63 = lean_box_usize(x_59); -x_64 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___lambda__2___boxed__const__1; -x_65 = lean_alloc_closure((void*)(l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__6___boxed), 13, 6); -lean_closure_set(x_65, 0, x_61); -lean_closure_set(x_65, 1, x_62); -lean_closure_set(x_65, 2, x_31); -lean_closure_set(x_65, 3, x_63); -lean_closure_set(x_65, 4, x_64); -lean_closure_set(x_65, 5, x_60); -x_66 = x_65; -x_67 = lean_apply_7(x_66, x_5, x_6, x_7, x_8, x_9, x_10, x_56); -if (lean_obj_tag(x_67) == 0) -{ -uint8_t x_68; -x_68 = !lean_is_exclusive(x_67); -if (x_68 == 0) -{ -lean_object* x_69; uint8_t x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; -x_69 = lean_ctor_get(x_67, 0); -x_70 = 1; -x_71 = lean_box(x_70); -x_72 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_72, 0, x_69); -lean_ctor_set(x_72, 1, x_71); -x_73 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_73, 0, x_37); -lean_ctor_set(x_73, 1, x_72); -x_74 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_74, 0, x_57); -lean_ctor_set(x_74, 1, x_73); -lean_ctor_set(x_67, 0, x_74); -return x_67; -} -else -{ -lean_object* x_75; lean_object* x_76; uint8_t x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; -x_75 = lean_ctor_get(x_67, 0); -x_76 = lean_ctor_get(x_67, 1); -lean_inc(x_76); -lean_inc(x_75); -lean_dec(x_67); -x_77 = 1; -x_78 = lean_box(x_77); -x_79 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_79, 0, x_75); -lean_ctor_set(x_79, 1, x_78); -x_80 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_80, 0, x_37); -lean_ctor_set(x_80, 1, x_79); -x_81 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_81, 0, x_57); -lean_ctor_set(x_81, 1, x_80); -x_82 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_82, 0, x_81); -lean_ctor_set(x_82, 1, x_76); -return x_82; -} -} -else -{ -uint8_t x_83; -lean_dec(x_57); -lean_dec(x_37); -x_83 = !lean_is_exclusive(x_67); -if (x_83 == 0) -{ -return x_67; -} -else -{ -lean_object* x_84; lean_object* x_85; lean_object* x_86; -x_84 = lean_ctor_get(x_67, 0); -x_85 = lean_ctor_get(x_67, 1); -lean_inc(x_85); -lean_inc(x_84); -lean_dec(x_67); -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_31); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_87 = !lean_is_exclusive(x_36); -if (x_87 == 0) -{ -return x_36; -} -else -{ -lean_object* x_88; lean_object* x_89; lean_object* x_90; -x_88 = lean_ctor_get(x_36, 0); -x_89 = lean_ctor_get(x_36, 1); -lean_inc(x_89); -lean_inc(x_88); -lean_dec(x_36); -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; -} -} -} -else -{ -uint8_t x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; -lean_dec(x_23); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -x_91 = 0; -x_92 = lean_box(x_91); -x_93 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_93, 0, x_1); -lean_ctor_set(x_93, 1, x_92); -x_94 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_94, 0, x_2); -lean_ctor_set(x_94, 1, x_93); -x_95 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_95, 0, x_3); -lean_ctor_set(x_95, 1, x_94); -if (lean_is_scalar(x_22)) { - x_96 = lean_alloc_ctor(0, 2, 0); -} else { - x_96 = x_22; -} -lean_ctor_set(x_96, 0, x_95); -lean_ctor_set(x_96, 1, x_24); -return x_96; -} -} -} -else -{ -uint8_t x_114; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_114 = !lean_is_exclusive(x_19); -if (x_114 == 0) -{ -return x_19; -} -else -{ -lean_object* x_115; lean_object* x_116; lean_object* x_117; -x_115 = lean_ctor_get(x_19, 0); -x_116 = lean_ctor_get(x_19, 1); -lean_inc(x_116); -lean_inc(x_115); -lean_dec(x_19); -x_117 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_117, 0, x_115); -lean_ctor_set(x_117, 1, x_116); -return x_117; -} -} -} -} -} -lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { -_start: -{ -if (lean_obj_tag(x_4) == 0) -{ -lean_object* x_12; -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_2); -x_12 = l_Lean_Meta_isProp(x_2, x_7, x_8, x_9, x_10, x_11); -if (lean_obj_tag(x_12) == 0) -{ -lean_object* x_13; lean_object* x_14; uint8_t x_15; lean_object* x_16; -x_13 = lean_ctor_get(x_12, 0); -lean_inc(x_13); -x_14 = lean_ctor_get(x_12, 1); -lean_inc(x_14); -lean_dec(x_12); -x_15 = lean_unbox(x_13); -lean_dec(x_13); -x_16 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___lambda__2(x_3, x_2, x_1, x_15, x_5, x_6, x_7, x_8, x_9, x_10, x_14); -return x_16; -} -else -{ -uint8_t x_17; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -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; -} -} -} -else -{ -lean_object* x_21; uint8_t x_22; lean_object* x_23; -x_21 = lean_ctor_get(x_4, 0); -lean_inc(x_21); -lean_dec(x_4); -x_22 = lean_unbox(x_21); -lean_dec(x_21); -x_23 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___lambda__2(x_3, x_2, x_1, x_22, x_5, x_6, x_7, x_8, x_9, x_10, x_11); -return x_23; -} -} -} -lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { -_start: -{ -size_t x_5; size_t x_6; lean_object* x_7; -x_5 = lean_unbox_usize(x_2); -lean_dec(x_2); -x_6 = lean_unbox_usize(x_3); -lean_dec(x_3); -x_7 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__1(x_1, x_5, x_6, x_4); -lean_dec(x_1); -return x_7; -} -} -lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { -_start: -{ -size_t x_11; size_t x_12; lean_object* x_13; -x_11 = lean_unbox_usize(x_1); -lean_dec(x_1); -x_12 = lean_unbox_usize(x_2); -lean_dec(x_2); -x_13 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__2(x_11, x_12, 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); -return x_13; -} -} -lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { -_start: -{ -size_t x_5; size_t x_6; uint8_t x_7; lean_object* x_8; -x_5 = lean_unbox_usize(x_3); -lean_dec(x_3); -x_6 = lean_unbox_usize(x_4); -lean_dec(x_4); -x_7 = l_Array_anyMUnsafe_any___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__3(x_1, x_2, x_5, x_6); -lean_dec(x_2); -lean_dec(x_1); -x_8 = lean_box(x_7); -return x_8; -} -} -lean_object* l_Array_foldrMUnsafe_fold___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { -_start: -{ -size_t x_14; size_t x_15; size_t x_16; lean_object* x_17; -x_14 = lean_unbox_usize(x_1); -lean_dec(x_1); -x_15 = lean_unbox_usize(x_4); -lean_dec(x_4); -x_16 = lean_unbox_usize(x_5); -lean_dec(x_5); -x_17 = l_Array_foldrMUnsafe_fold___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__4(x_14, x_2, x_3, x_15, x_16, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_3); -lean_dec(x_2); -return x_17; -} -} -lean_object* l_Array_foldrMUnsafe_fold___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___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) { -_start: -{ -size_t x_14; size_t x_15; size_t x_16; lean_object* x_17; -x_14 = lean_unbox_usize(x_1); -lean_dec(x_1); -x_15 = lean_unbox_usize(x_4); -lean_dec(x_4); -x_16 = lean_unbox_usize(x_5); -lean_dec(x_5); -x_17 = l_Array_foldrMUnsafe_fold___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__5(x_14, x_2, x_3, x_15, x_16, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_3); -lean_dec(x_2); -return x_17; -} -} -lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__6___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { -_start: -{ -size_t x_11; lean_object* x_12; -x_11 = lean_unbox_usize(x_2); -lean_dec(x_2); -x_12 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__6___lambda__1(x_1, x_11, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); -lean_dec(x_3); -return x_12; -} -} -lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__6___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: -{ -size_t x_15; size_t x_16; size_t x_17; lean_object* x_18; -x_15 = lean_unbox_usize(x_1); -lean_dec(x_1); -x_16 = lean_unbox_usize(x_4); -lean_dec(x_4); -x_17 = lean_unbox_usize(x_6); -lean_dec(x_6); -x_18 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__6___lambda__2(x_15, x_2, x_3, x_16, x_5, x_17, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14); -return x_18; -} -} -lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___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) { -_start: -{ -size_t x_14; size_t x_15; size_t x_16; lean_object* x_17; -x_14 = lean_unbox_usize(x_2); -lean_dec(x_2); -x_15 = lean_unbox_usize(x_4); -lean_dec(x_4); -x_16 = lean_unbox_usize(x_5); -lean_dec(x_5); -x_17 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__6(x_1, x_14, x_3, x_15, x_16, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); -return x_17; -} -} -lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__7___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { -_start: -{ -size_t x_12; size_t x_13; lean_object* x_14; -x_12 = lean_unbox_usize(x_2); -lean_dec(x_2); -x_13 = lean_unbox_usize(x_3); -lean_dec(x_3); -x_14 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__7(x_1, x_12, x_13, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_1); -return x_14; -} -} -lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___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: -{ -size_t x_13; lean_object* x_14; -x_13 = lean_unbox_usize(x_3); -lean_dec(x_3); -x_14 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___lambda__1(x_1, x_2, x_13, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_2); -return x_14; -} -} -lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { -_start: -{ -uint8_t x_12; lean_object* x_13; -x_12 = lean_unbox(x_4); -lean_dec(x_4); -x_13 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___lambda__2(x_1, x_2, x_3, x_12, x_5, x_6, x_7, x_8, x_9, x_10, x_11); -return x_13; -} -} lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux_match__1___rarg(lean_object* x_1, lean_object* x_2) { _start: { @@ -30532,37 +31797,6 @@ return x_2; lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux_match__2___rarg(lean_object* x_1, lean_object* x_2) { _start: { -lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; -x_3 = lean_ctor_get(x_1, 1); -lean_inc(x_3); -x_4 = lean_ctor_get(x_3, 1); -lean_inc(x_4); -x_5 = lean_ctor_get(x_1, 0); -lean_inc(x_5); -lean_dec(x_1); -x_6 = lean_ctor_get(x_3, 0); -lean_inc(x_6); -lean_dec(x_3); -x_7 = lean_ctor_get(x_4, 0); -lean_inc(x_7); -x_8 = lean_ctor_get(x_4, 1); -lean_inc(x_8); -lean_dec(x_4); -x_9 = lean_apply_4(x_2, x_5, x_6, x_7, x_8); -return x_9; -} -} -lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux_match__2(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux_match__2___rarg), 2, 0); -return x_2; -} -} -lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux_match__3___rarg(lean_object* x_1, lean_object* x_2) { -_start: -{ lean_object* x_3; lean_object* x_4; uint8_t x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; x_3 = lean_ctor_get(x_1, 0); lean_inc(x_3); @@ -30577,15 +31811,15 @@ x_8 = lean_apply_4(x_2, x_3, x_4, x_7, x_6); return x_8; } } -lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux_match__3(lean_object* x_1) { +lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux_match__2(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux_match__3___rarg), 2, 0); +x_2 = lean_alloc_closure((void*)(l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux_match__2___rarg), 2, 0); return x_2; } } -lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux_match__4___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux_match__3___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { if (lean_obj_tag(x_1) == 0) @@ -30607,15 +31841,15 @@ return x_6; } } } -lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux_match__4(lean_object* x_1) { +lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux_match__3(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux_match__4___rarg), 3, 0); +x_2 = lean_alloc_closure((void*)(l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux_match__3___rarg), 3, 0); return x_2; } } -lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux_match__5___rarg(lean_object* x_1, lean_object* x_2) { +lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux_match__4___rarg(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; @@ -30643,11 +31877,11 @@ x_11 = lean_apply_5(x_2, x_6, x_7, x_8, x_9, x_10); return x_11; } } -lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux_match__5(lean_object* x_1) { +lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux_match__4(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux_match__5___rarg), 2, 0); +x_2 = lean_alloc_closure((void*)(l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux_match__4___rarg), 2, 0); return x_2; } } @@ -31790,7 +33024,7 @@ return x_2; lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___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; uint8_t x_12; lean_object* x_13; lean_object* x_14; +lean_object* x_10; lean_object* x_11; uint8_t x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129; x_10 = lean_ctor_get(x_2, 0); lean_inc(x_10); x_11 = lean_ctor_get(x_2, 1); @@ -31799,576 +33033,575 @@ x_12 = lean_ctor_get_uint8(x_2, sizeof(void*)*3); x_13 = lean_ctor_get(x_2, 2); lean_inc(x_13); lean_dec(x_2); -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -x_14 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize(x_10, x_11, x_13, x_1, x_3, x_4, x_5, x_6, x_7, x_8, x_9); -if (lean_obj_tag(x_14) == 0) -{ -lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; -x_15 = lean_ctor_get(x_14, 0); -lean_inc(x_15); -x_16 = lean_ctor_get(x_15, 1); -lean_inc(x_16); -x_17 = lean_ctor_get(x_16, 1); -lean_inc(x_17); -x_18 = lean_ctor_get(x_14, 1); -lean_inc(x_18); -lean_dec(x_14); -x_19 = lean_ctor_get(x_15, 0); -lean_inc(x_19); -lean_dec(x_15); -x_20 = lean_ctor_get(x_16, 0); -lean_inc(x_20); -lean_dec(x_16); -x_21 = lean_ctor_get(x_17, 0); -lean_inc(x_21); -x_22 = lean_ctor_get(x_17, 1); -lean_inc(x_22); -if (lean_is_exclusive(x_17)) { - lean_ctor_release(x_17, 0); - lean_ctor_release(x_17, 1); - x_23 = x_17; -} else { - lean_dec_ref(x_17); - x_23 = lean_box(0); -} -if (x_12 == 0) -{ -uint8_t x_181; -x_181 = lean_unbox(x_22); -lean_dec(x_22); -x_24 = x_181; -goto block_180; -} -else -{ -uint8_t x_182; -lean_dec(x_22); -x_182 = 1; -x_24 = x_182; -goto block_180; -} -block_180: -{ -lean_object* x_25; lean_object* x_26; lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; -x_113 = lean_st_ref_get(x_8, x_18); -x_114 = lean_ctor_get(x_113, 0); -lean_inc(x_114); -x_115 = lean_ctor_get(x_113, 1); +x_102 = lean_st_ref_get(x_8, x_9); +x_103 = lean_ctor_get(x_102, 0); +lean_inc(x_103); +x_104 = lean_ctor_get(x_102, 1); +lean_inc(x_104); +lean_dec(x_102); +x_105 = lean_ctor_get(x_103, 0); +lean_inc(x_105); +lean_dec(x_103); +x_106 = lean_ctor_get(x_7, 4); +lean_inc(x_106); +x_107 = lean_ctor_get(x_7, 5); +lean_inc(x_107); +lean_inc(x_105); +x_108 = lean_alloc_closure((void*)(l___private_Lean_Elab_Util_0__Lean_Elab_expandMacro_x3f___boxed), 4, 1); +lean_closure_set(x_108, 0, x_105); +lean_inc(x_106); +x_109 = lean_alloc_closure((void*)(l_ReaderT_pure___at_Lean_Elab_liftMacroM___spec__1___rarg___boxed), 3, 1); +lean_closure_set(x_109, 0, x_106); +lean_inc(x_105); +x_110 = lean_alloc_closure((void*)(l_Lean_Elab_liftMacroM___rarg___lambda__1___boxed), 4, 1); +lean_closure_set(x_110, 0, x_105); +lean_inc(x_107); +lean_inc(x_106); +lean_inc(x_105); +x_111 = lean_alloc_closure((void*)(l_Lean_Elab_liftMacroM___rarg___lambda__2___boxed), 6, 3); +lean_closure_set(x_111, 0, x_105); +lean_closure_set(x_111, 1, x_106); +lean_closure_set(x_111, 2, x_107); +lean_inc(x_105); +x_112 = lean_alloc_closure((void*)(l_Lean_Elab_liftMacroM___rarg___lambda__3___boxed), 6, 3); +lean_closure_set(x_112, 0, x_105); +lean_closure_set(x_112, 1, x_106); +lean_closure_set(x_112, 2, x_107); +x_113 = lean_alloc_ctor(0, 5, 0); +lean_ctor_set(x_113, 0, x_108); +lean_ctor_set(x_113, 1, x_109); +lean_ctor_set(x_113, 2, x_110); +lean_ctor_set(x_113, 3, x_111); +lean_ctor_set(x_113, 4, x_112); +x_114 = x_113; +x_115 = lean_ctor_get(x_7, 3); lean_inc(x_115); -lean_dec(x_113); -x_116 = lean_ctor_get(x_114, 0); -lean_inc(x_116); -lean_dec(x_114); -x_117 = lean_ctor_get(x_7, 4); +x_116 = l_Lean_Elab_Term_getCurrMacroScope(x_3, x_4, x_5, x_6, x_7, x_8, x_104); +x_117 = lean_ctor_get(x_116, 0); lean_inc(x_117); -x_118 = lean_ctor_get(x_7, 5); +x_118 = lean_ctor_get(x_116, 1); lean_inc(x_118); -lean_inc(x_116); -x_119 = lean_alloc_closure((void*)(l___private_Lean_Elab_Util_0__Lean_Elab_expandMacro_x3f___boxed), 4, 1); -lean_closure_set(x_119, 0, x_116); -lean_inc(x_117); -x_120 = lean_alloc_closure((void*)(l_ReaderT_pure___at_Lean_Elab_liftMacroM___spec__1___rarg___boxed), 3, 1); -lean_closure_set(x_120, 0, x_117); -lean_inc(x_116); -x_121 = lean_alloc_closure((void*)(l_Lean_Elab_liftMacroM___rarg___lambda__1___boxed), 4, 1); -lean_closure_set(x_121, 0, x_116); -lean_inc(x_118); -lean_inc(x_117); -lean_inc(x_116); -x_122 = lean_alloc_closure((void*)(l_Lean_Elab_liftMacroM___rarg___lambda__2___boxed), 6, 3); -lean_closure_set(x_122, 0, x_116); -lean_closure_set(x_122, 1, x_117); -lean_closure_set(x_122, 2, x_118); -lean_inc(x_116); -x_123 = lean_alloc_closure((void*)(l_Lean_Elab_liftMacroM___rarg___lambda__3___boxed), 6, 3); -lean_closure_set(x_123, 0, x_116); -lean_closure_set(x_123, 1, x_117); -lean_closure_set(x_123, 2, x_118); -x_124 = lean_alloc_ctor(0, 5, 0); -lean_ctor_set(x_124, 0, x_119); -lean_ctor_set(x_124, 1, x_120); -lean_ctor_set(x_124, 2, x_121); -lean_ctor_set(x_124, 3, x_122); -lean_ctor_set(x_124, 4, x_123); -x_125 = x_124; -x_126 = lean_ctor_get(x_7, 3); -lean_inc(x_126); -x_127 = l_Lean_Elab_Term_getCurrMacroScope(x_3, x_4, x_5, x_6, x_7, x_8, x_115); -x_128 = lean_ctor_get(x_127, 0); -lean_inc(x_128); -x_129 = lean_ctor_get(x_127, 1); -lean_inc(x_129); -lean_dec(x_127); -x_130 = lean_ctor_get(x_7, 1); +lean_dec(x_116); +x_119 = lean_ctor_get(x_7, 1); +lean_inc(x_119); +x_120 = lean_ctor_get(x_7, 2); +lean_inc(x_120); +x_121 = lean_st_ref_get(x_8, x_118); +x_122 = lean_ctor_get(x_121, 0); +lean_inc(x_122); +x_123 = lean_ctor_get(x_121, 1); +lean_inc(x_123); +lean_dec(x_121); +x_124 = lean_ctor_get(x_122, 1); +lean_inc(x_124); +lean_dec(x_122); +x_125 = lean_environment_main_module(x_105); +x_126 = lean_alloc_ctor(0, 6, 0); +lean_ctor_set(x_126, 0, x_114); +lean_ctor_set(x_126, 1, x_125); +lean_ctor_set(x_126, 2, x_117); +lean_ctor_set(x_126, 3, x_119); +lean_ctor_set(x_126, 4, x_120); +lean_ctor_set(x_126, 5, x_115); +x_127 = lean_box(0); +x_128 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_128, 0, x_124); +lean_ctor_set(x_128, 1, x_127); +x_129 = l_Lean_Elab_Term_expandMacrosInPatterns(x_13, x_126, x_128); +if (lean_obj_tag(x_129) == 0) +{ +lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; uint8_t x_136; +x_130 = lean_ctor_get(x_129, 0); lean_inc(x_130); -x_131 = lean_ctor_get(x_7, 2); +x_131 = lean_ctor_get(x_129, 1); lean_inc(x_131); -x_132 = lean_st_ref_get(x_8, x_129); -x_133 = lean_ctor_get(x_132, 0); -lean_inc(x_133); -x_134 = lean_ctor_get(x_132, 1); +lean_dec(x_129); +x_132 = lean_ctor_get(x_131, 0); +lean_inc(x_132); +x_133 = lean_st_ref_take(x_8, x_123); +x_134 = lean_ctor_get(x_133, 0); lean_inc(x_134); -lean_dec(x_132); x_135 = lean_ctor_get(x_133, 1); lean_inc(x_135); lean_dec(x_133); -x_136 = lean_environment_main_module(x_116); -x_137 = lean_alloc_ctor(0, 6, 0); -lean_ctor_set(x_137, 0, x_125); -lean_ctor_set(x_137, 1, x_136); -lean_ctor_set(x_137, 2, x_128); -lean_ctor_set(x_137, 3, x_130); -lean_ctor_set(x_137, 4, x_131); -lean_ctor_set(x_137, 5, x_126); -x_138 = lean_box(0); -x_139 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_139, 0, x_135); -lean_ctor_set(x_139, 1, x_138); -x_140 = l_Lean_Elab_Term_expandMacrosInPatterns(x_21, x_137, x_139); -if (lean_obj_tag(x_140) == 0) +x_136 = !lean_is_exclusive(x_134); +if (x_136 == 0) { -lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; uint8_t x_147; -x_141 = lean_ctor_get(x_140, 0); -lean_inc(x_141); -x_142 = lean_ctor_get(x_140, 1); -lean_inc(x_142); -lean_dec(x_140); -x_143 = lean_ctor_get(x_142, 0); +lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; lean_object* x_143; +x_137 = lean_ctor_get(x_134, 1); +lean_dec(x_137); +lean_ctor_set(x_134, 1, x_132); +x_138 = lean_st_ref_set(x_8, x_134, x_135); +x_139 = lean_ctor_get(x_138, 1); +lean_inc(x_139); +lean_dec(x_138); +x_140 = lean_ctor_get(x_131, 1); +lean_inc(x_140); +lean_dec(x_131); +x_141 = l_List_reverse___rarg(x_140); +x_142 = l_List_forM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___spec__3(x_141, x_3, x_4, x_5, x_6, x_7, x_8, x_139); +x_143 = lean_ctor_get(x_142, 1); lean_inc(x_143); -x_144 = lean_st_ref_take(x_8, x_134); -x_145 = lean_ctor_get(x_144, 0); -lean_inc(x_145); -x_146 = lean_ctor_get(x_144, 1); +lean_dec(x_142); +x_14 = x_130; +x_15 = x_143; +goto block_101; +} +else +{ +lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153; +x_144 = lean_ctor_get(x_134, 0); +x_145 = lean_ctor_get(x_134, 2); +x_146 = lean_ctor_get(x_134, 3); lean_inc(x_146); -lean_dec(x_144); -x_147 = !lean_is_exclusive(x_145); -if (x_147 == 0) -{ -lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; -x_148 = lean_ctor_get(x_145, 1); +lean_inc(x_145); +lean_inc(x_144); +lean_dec(x_134); +x_147 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_147, 0, x_144); +lean_ctor_set(x_147, 1, x_132); +lean_ctor_set(x_147, 2, x_145); +lean_ctor_set(x_147, 3, x_146); +x_148 = lean_st_ref_set(x_8, x_147, x_135); +x_149 = lean_ctor_get(x_148, 1); +lean_inc(x_149); lean_dec(x_148); -lean_ctor_set(x_145, 1, x_143); -x_149 = lean_st_ref_set(x_8, x_145, x_146); -x_150 = lean_ctor_get(x_149, 1); +x_150 = lean_ctor_get(x_131, 1); lean_inc(x_150); -lean_dec(x_149); -x_151 = lean_ctor_get(x_142, 1); -lean_inc(x_151); -lean_dec(x_142); -x_152 = l_List_reverse___rarg(x_151); -x_153 = l_List_forM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___spec__3(x_152, x_3, x_4, x_5, x_6, x_7, x_8, x_150); -x_154 = lean_ctor_get(x_153, 1); +lean_dec(x_131); +x_151 = l_List_reverse___rarg(x_150); +x_152 = l_List_forM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___spec__3(x_151, x_3, x_4, x_5, x_6, x_7, x_8, x_149); +x_153 = lean_ctor_get(x_152, 1); +lean_inc(x_153); +lean_dec(x_152); +x_14 = x_130; +x_15 = x_153; +goto block_101; +} +} +else +{ +lean_object* x_154; +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_1); +x_154 = lean_ctor_get(x_129, 0); lean_inc(x_154); -lean_dec(x_153); -x_25 = x_141; -x_26 = x_154; -goto block_112; -} -else +lean_dec(x_129); +if (lean_obj_tag(x_154) == 0) { -lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; -x_155 = lean_ctor_get(x_145, 0); -x_156 = lean_ctor_get(x_145, 2); -x_157 = lean_ctor_get(x_145, 3); -lean_inc(x_157); -lean_inc(x_156); +lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; uint8_t x_160; +x_155 = lean_ctor_get(x_154, 0); lean_inc(x_155); -lean_dec(x_145); -x_158 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_158, 0, x_155); -lean_ctor_set(x_158, 1, x_143); -lean_ctor_set(x_158, 2, x_156); -lean_ctor_set(x_158, 3, x_157); -x_159 = lean_st_ref_set(x_8, x_158, x_146); -x_160 = lean_ctor_get(x_159, 1); -lean_inc(x_160); -lean_dec(x_159); -x_161 = lean_ctor_get(x_142, 1); -lean_inc(x_161); -lean_dec(x_142); -x_162 = l_List_reverse___rarg(x_161); -x_163 = l_List_forM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___spec__3(x_162, x_3, x_4, x_5, x_6, x_7, x_8, x_160); -x_164 = lean_ctor_get(x_163, 1); -lean_inc(x_164); -lean_dec(x_163); -x_25 = x_141; -x_26 = x_164; -goto block_112; -} -} -else -{ -lean_object* x_165; -lean_dec(x_23); -lean_dec(x_20); -lean_dec(x_19); -x_165 = lean_ctor_get(x_140, 0); -lean_inc(x_165); -lean_dec(x_140); -if (lean_obj_tag(x_165) == 0) -{ -lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; lean_object* x_170; uint8_t x_171; -x_166 = lean_ctor_get(x_165, 0); -lean_inc(x_166); -x_167 = lean_ctor_get(x_165, 1); -lean_inc(x_167); -lean_dec(x_165); -x_168 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_168, 0, x_167); -x_169 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_169, 0, x_168); -x_170 = l_Lean_throwErrorAt___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__6(x_166, x_169, x_3, x_4, x_5, x_6, x_7, x_8, x_134); +x_156 = lean_ctor_get(x_154, 1); +lean_inc(x_156); +lean_dec(x_154); +x_157 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_157, 0, x_156); +x_158 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_158, 0, x_157); +x_159 = l_Lean_throwErrorAt___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__6(x_155, x_158, x_3, x_4, x_5, x_6, x_7, x_8, x_123); lean_dec(x_8); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -lean_dec(x_166); -x_171 = !lean_is_exclusive(x_170); -if (x_171 == 0) +lean_dec(x_155); +x_160 = !lean_is_exclusive(x_159); +if (x_160 == 0) { -return x_170; +return x_159; } else { -lean_object* x_172; lean_object* x_173; lean_object* x_174; -x_172 = lean_ctor_get(x_170, 0); -x_173 = lean_ctor_get(x_170, 1); -lean_inc(x_173); -lean_inc(x_172); -lean_dec(x_170); -x_174 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_174, 0, x_172); -lean_ctor_set(x_174, 1, x_173); -return x_174; +lean_object* x_161; lean_object* x_162; lean_object* x_163; +x_161 = lean_ctor_get(x_159, 0); +x_162 = lean_ctor_get(x_159, 1); +lean_inc(x_162); +lean_inc(x_161); +lean_dec(x_159); +x_163 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_163, 0, x_161); +lean_ctor_set(x_163, 1, x_162); +return x_163; } } else { -lean_object* x_175; uint8_t x_176; +lean_object* x_164; uint8_t x_165; lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_175 = l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__8___rarg(x_134); -x_176 = !lean_is_exclusive(x_175); -if (x_176 == 0) +x_164 = l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__8___rarg(x_123); +x_165 = !lean_is_exclusive(x_164); +if (x_165 == 0) { -return x_175; +return x_164; } else { -lean_object* x_177; lean_object* x_178; lean_object* x_179; -x_177 = lean_ctor_get(x_175, 0); -x_178 = lean_ctor_get(x_175, 1); -lean_inc(x_178); -lean_inc(x_177); -lean_dec(x_175); -x_179 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_179, 0, x_177); -lean_ctor_set(x_179, 1, x_178); -return x_179; +lean_object* x_166; lean_object* x_167; lean_object* x_168; +x_166 = lean_ctor_get(x_164, 0); +x_167 = lean_ctor_get(x_164, 1); +lean_inc(x_167); +lean_inc(x_166); +lean_dec(x_164); +x_168 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_168, 0, x_166); +lean_ctor_set(x_168, 1, x_167); +return x_168; } } } -block_112: +block_101: { -lean_object* x_27; uint8_t x_89; lean_object* x_90; lean_object* x_100; lean_object* x_101; lean_object* x_102; uint8_t x_103; -x_100 = lean_st_ref_get(x_8, x_26); -x_101 = lean_ctor_get(x_100, 0); -lean_inc(x_101); -x_102 = lean_ctor_get(x_101, 3); -lean_inc(x_102); -lean_dec(x_101); -x_103 = lean_ctor_get_uint8(x_102, sizeof(void*)*1); -lean_dec(x_102); -if (x_103 == 0) +lean_object* x_16; uint8_t x_78; lean_object* x_79; lean_object* x_89; lean_object* x_90; lean_object* x_91; uint8_t x_92; +x_89 = lean_st_ref_get(x_8, x_15); +x_90 = lean_ctor_get(x_89, 0); +lean_inc(x_90); +x_91 = lean_ctor_get(x_90, 3); +lean_inc(x_91); +lean_dec(x_90); +x_92 = lean_ctor_get_uint8(x_91, sizeof(void*)*1); +lean_dec(x_91); +if (x_92 == 0) { -lean_object* x_104; uint8_t x_105; -x_104 = lean_ctor_get(x_100, 1); -lean_inc(x_104); -lean_dec(x_100); -x_105 = 0; -x_89 = x_105; -x_90 = x_104; -goto block_99; +lean_object* x_93; uint8_t x_94; +x_93 = lean_ctor_get(x_89, 1); +lean_inc(x_93); +lean_dec(x_89); +x_94 = 0; +x_78 = x_94; +x_79 = x_93; +goto block_88; } else { -lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; uint8_t x_111; -x_106 = lean_ctor_get(x_100, 1); -lean_inc(x_106); -lean_dec(x_100); -x_107 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabDiscrsWitMatchType___spec__1___lambda__2___closed__5; -x_108 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_107, x_3, x_4, x_5, x_6, x_7, x_8, x_106); -x_109 = lean_ctor_get(x_108, 0); -lean_inc(x_109); -x_110 = lean_ctor_get(x_108, 1); -lean_inc(x_110); -lean_dec(x_108); -x_111 = lean_unbox(x_109); -lean_dec(x_109); -x_89 = x_111; -x_90 = x_110; -goto block_99; +lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; uint8_t x_100; +x_95 = lean_ctor_get(x_89, 1); +lean_inc(x_95); +lean_dec(x_89); +x_96 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabDiscrsWitMatchType___spec__1___lambda__2___closed__5; +x_97 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(x_96, x_3, x_4, x_5, x_6, x_7, x_8, x_95); +x_98 = lean_ctor_get(x_97, 0); +lean_inc(x_98); +x_99 = lean_ctor_get(x_97, 1); +lean_inc(x_99); +lean_dec(x_97); +x_100 = lean_unbox(x_98); +lean_dec(x_98); +x_78 = x_100; +x_79 = x_99; +goto block_88; } -block_88: +block_77: { -lean_object* x_28; +lean_object* x_17; lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); -x_28 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews(x_19, x_20, x_25, x_3, x_4, x_5, x_6, x_7, x_8, x_27); -if (lean_obj_tag(x_28) == 0) +x_17 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews(x_1, x_10, x_11, x_14, x_3, x_4, x_5, x_6, x_7, x_8, x_16); +if (lean_obj_tag(x_17) == 0) { -lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; uint8_t x_40; -x_29 = lean_ctor_get(x_28, 0); -lean_inc(x_29); -x_30 = lean_ctor_get(x_29, 1); -lean_inc(x_30); +lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; uint8_t x_29; +x_18 = lean_ctor_get(x_17, 0); +lean_inc(x_18); +x_19 = lean_ctor_get(x_18, 1); +lean_inc(x_19); +x_20 = lean_ctor_get(x_19, 1); +lean_inc(x_20); +x_21 = lean_ctor_get(x_17, 1); +lean_inc(x_21); +lean_dec(x_17); +x_22 = lean_ctor_get(x_18, 0); +lean_inc(x_22); +if (lean_is_exclusive(x_18)) { + lean_ctor_release(x_18, 0); + lean_ctor_release(x_18, 1); + x_23 = x_18; +} else { + lean_dec_ref(x_18); + x_23 = lean_box(0); +} +x_24 = lean_ctor_get(x_19, 0); +lean_inc(x_24); +if (lean_is_exclusive(x_19)) { + lean_ctor_release(x_19, 0); + lean_ctor_release(x_19, 1); + x_25 = x_19; +} else { + lean_dec_ref(x_19); + x_25 = lean_box(0); +} +x_26 = lean_ctor_get(x_20, 0); +lean_inc(x_26); +x_27 = lean_ctor_get(x_20, 1); +lean_inc(x_27); +if (lean_is_exclusive(x_20)) { + lean_ctor_release(x_20, 0); + lean_ctor_release(x_20, 1); + x_28 = x_20; +} else { + lean_dec_ref(x_20); + x_28 = lean_box(0); +} +if (x_12 == 0) +{ +uint8_t x_71; +x_71 = lean_unbox(x_27); +lean_dec(x_27); +x_29 = x_71; +goto block_70; +} +else +{ +uint8_t x_72; +lean_dec(x_27); +x_72 = 1; +x_29 = x_72; +goto block_70; +} +block_70: +{ +lean_object* x_30; +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +x_30 = l_Lean_Elab_Term_synthesizeSyntheticMVarsUsingDefault(x_3, x_4, x_5, x_6, x_7, x_8, x_21); +if (lean_obj_tag(x_30) == 0) +{ +lean_object* x_31; lean_object* x_32; size_t x_33; size_t x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; x_31 = lean_ctor_get(x_30, 1); lean_inc(x_31); -x_32 = lean_ctor_get(x_28, 1); -lean_inc(x_32); -lean_dec(x_28); -x_33 = lean_ctor_get(x_29, 0); -lean_inc(x_33); -if (lean_is_exclusive(x_29)) { - lean_ctor_release(x_29, 0); - lean_ctor_release(x_29, 1); - x_34 = x_29; -} else { - lean_dec_ref(x_29); - x_34 = lean_box(0); -} -x_35 = lean_ctor_get(x_30, 0); -lean_inc(x_35); -if (lean_is_exclusive(x_30)) { - lean_ctor_release(x_30, 0); - lean_ctor_release(x_30, 1); - x_36 = x_30; -} else { - lean_dec_ref(x_30); - x_36 = lean_box(0); -} -x_37 = lean_ctor_get(x_31, 0); -lean_inc(x_37); -x_38 = lean_ctor_get(x_31, 1); -lean_inc(x_38); -if (lean_is_exclusive(x_31)) { - lean_ctor_release(x_31, 0); - lean_ctor_release(x_31, 1); - x_39 = x_31; -} else { - lean_dec_ref(x_31); - x_39 = lean_box(0); -} -if (x_24 == 0) +lean_dec(x_30); +x_32 = lean_array_get_size(x_26); +x_33 = lean_usize_of_nat(x_32); +lean_dec(x_32); +x_34 = 0; +lean_inc(x_26); +x_35 = x_26; +x_36 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__1(x_33, x_34, x_35); +x_37 = x_36; +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +x_38 = l_Lean_Meta_instantiateMVars(x_24, x_5, x_6, x_7, x_8, x_31); +if (lean_obj_tag(x_38) == 0) { -uint8_t x_82; -x_82 = lean_unbox(x_38); +lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; +x_39 = lean_ctor_get(x_38, 0); +lean_inc(x_39); +x_40 = lean_ctor_get(x_38, 1); +lean_inc(x_40); lean_dec(x_38); -x_40 = x_82; -goto block_81; +x_41 = lean_array_to_list(lean_box(0), x_26); +x_42 = l_List_mapM___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__5(x_41, x_3, x_4, x_5, x_6, x_7, x_8, x_40); +if (lean_obj_tag(x_42) == 0) +{ +uint8_t x_43; +x_43 = !lean_is_exclusive(x_42); +if (x_43 == 0) +{ +lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; +x_44 = lean_ctor_get(x_42, 0); +x_45 = lean_box(x_29); +if (lean_is_scalar(x_28)) { + x_46 = lean_alloc_ctor(0, 2, 0); +} else { + x_46 = x_28; +} +lean_ctor_set(x_46, 0, x_45); +lean_ctor_set(x_46, 1, x_37); +if (lean_is_scalar(x_25)) { + x_47 = lean_alloc_ctor(0, 2, 0); +} else { + x_47 = x_25; +} +lean_ctor_set(x_47, 0, x_44); +lean_ctor_set(x_47, 1, x_46); +if (lean_is_scalar(x_23)) { + x_48 = lean_alloc_ctor(0, 2, 0); +} else { + x_48 = x_23; +} +lean_ctor_set(x_48, 0, x_39); +lean_ctor_set(x_48, 1, x_47); +x_49 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_49, 0, x_22); +lean_ctor_set(x_49, 1, x_48); +lean_ctor_set(x_42, 0, x_49); +return x_42; } else { -uint8_t x_83; -lean_dec(x_38); -x_83 = 1; -x_40 = x_83; -goto block_81; -} -block_81: -{ -lean_object* x_41; -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -x_41 = l_Lean_Elab_Term_synthesizeSyntheticMVarsUsingDefault(x_3, x_4, x_5, x_6, x_7, x_8, x_32); -if (lean_obj_tag(x_41) == 0) -{ -lean_object* x_42; lean_object* x_43; size_t x_44; size_t x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; -x_42 = lean_ctor_get(x_41, 1); -lean_inc(x_42); -lean_dec(x_41); -x_43 = lean_array_get_size(x_37); -x_44 = lean_usize_of_nat(x_43); -lean_dec(x_43); -x_45 = 0; -lean_inc(x_37); -x_46 = x_37; -x_47 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__1(x_44, x_45, x_46); -x_48 = x_47; -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_5); -x_49 = l_Lean_Meta_instantiateMVars(x_35, x_5, x_6, x_7, x_8, x_42); -if (lean_obj_tag(x_49) == 0) -{ -lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; -x_50 = lean_ctor_get(x_49, 0); -lean_inc(x_50); -x_51 = lean_ctor_get(x_49, 1); +lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; +x_50 = lean_ctor_get(x_42, 0); +x_51 = lean_ctor_get(x_42, 1); lean_inc(x_51); -lean_dec(x_49); -x_52 = lean_array_to_list(lean_box(0), x_37); -x_53 = l_List_mapM___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__5(x_52, x_3, x_4, x_5, x_6, x_7, x_8, x_51); -if (lean_obj_tag(x_53) == 0) -{ -uint8_t x_54; -x_54 = !lean_is_exclusive(x_53); -if (x_54 == 0) -{ -lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; -x_55 = lean_ctor_get(x_53, 0); -x_56 = lean_box(x_40); -if (lean_is_scalar(x_39)) { - x_57 = lean_alloc_ctor(0, 2, 0); +lean_inc(x_50); +lean_dec(x_42); +x_52 = lean_box(x_29); +if (lean_is_scalar(x_28)) { + x_53 = lean_alloc_ctor(0, 2, 0); } else { - x_57 = x_39; + x_53 = x_28; } +lean_ctor_set(x_53, 0, x_52); +lean_ctor_set(x_53, 1, x_37); +if (lean_is_scalar(x_25)) { + x_54 = lean_alloc_ctor(0, 2, 0); +} else { + x_54 = x_25; +} +lean_ctor_set(x_54, 0, x_50); +lean_ctor_set(x_54, 1, x_53); +if (lean_is_scalar(x_23)) { + x_55 = lean_alloc_ctor(0, 2, 0); +} else { + x_55 = x_23; +} +lean_ctor_set(x_55, 0, x_39); +lean_ctor_set(x_55, 1, x_54); +x_56 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_56, 0, x_22); +lean_ctor_set(x_56, 1, x_55); +x_57 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_57, 0, x_56); -lean_ctor_set(x_57, 1, x_48); -if (lean_is_scalar(x_36)) { - x_58 = lean_alloc_ctor(0, 2, 0); -} else { - x_58 = x_36; -} -lean_ctor_set(x_58, 0, x_55); -lean_ctor_set(x_58, 1, x_57); -if (lean_is_scalar(x_34)) { - x_59 = lean_alloc_ctor(0, 2, 0); -} else { - x_59 = x_34; -} -lean_ctor_set(x_59, 0, x_50); -lean_ctor_set(x_59, 1, x_58); -if (lean_is_scalar(x_23)) { - x_60 = lean_alloc_ctor(0, 2, 0); -} else { - x_60 = x_23; -} -lean_ctor_set(x_60, 0, x_33); -lean_ctor_set(x_60, 1, x_59); -lean_ctor_set(x_53, 0, x_60); -return x_53; -} -else -{ -lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; -x_61 = lean_ctor_get(x_53, 0); -x_62 = lean_ctor_get(x_53, 1); -lean_inc(x_62); -lean_inc(x_61); -lean_dec(x_53); -x_63 = lean_box(x_40); -if (lean_is_scalar(x_39)) { - x_64 = lean_alloc_ctor(0, 2, 0); -} else { - x_64 = x_39; -} -lean_ctor_set(x_64, 0, x_63); -lean_ctor_set(x_64, 1, x_48); -if (lean_is_scalar(x_36)) { - x_65 = lean_alloc_ctor(0, 2, 0); -} else { - x_65 = x_36; -} -lean_ctor_set(x_65, 0, x_61); -lean_ctor_set(x_65, 1, x_64); -if (lean_is_scalar(x_34)) { - x_66 = lean_alloc_ctor(0, 2, 0); -} else { - x_66 = x_34; -} -lean_ctor_set(x_66, 0, x_50); -lean_ctor_set(x_66, 1, x_65); -if (lean_is_scalar(x_23)) { - x_67 = lean_alloc_ctor(0, 2, 0); -} else { - x_67 = x_23; -} -lean_ctor_set(x_67, 0, x_33); -lean_ctor_set(x_67, 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_62); -return x_68; +lean_ctor_set(x_57, 1, x_51); +return x_57; } } else { -uint8_t x_69; -lean_dec(x_50); -lean_dec(x_48); +uint8_t x_58; lean_dec(x_39); -lean_dec(x_36); -lean_dec(x_34); -lean_dec(x_33); +lean_dec(x_37); +lean_dec(x_28); +lean_dec(x_25); lean_dec(x_23); -x_69 = !lean_is_exclusive(x_53); -if (x_69 == 0) +lean_dec(x_22); +x_58 = !lean_is_exclusive(x_42); +if (x_58 == 0) { -return x_53; +return x_42; } else { -lean_object* x_70; lean_object* x_71; lean_object* x_72; -x_70 = lean_ctor_get(x_53, 0); -x_71 = lean_ctor_get(x_53, 1); -lean_inc(x_71); -lean_inc(x_70); -lean_dec(x_53); -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; +lean_object* x_59; lean_object* x_60; lean_object* x_61; +x_59 = lean_ctor_get(x_42, 0); +x_60 = lean_ctor_get(x_42, 1); +lean_inc(x_60); +lean_inc(x_59); +lean_dec(x_42); +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_37); +lean_dec(x_28); +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_62 = !lean_is_exclusive(x_38); +if (x_62 == 0) +{ +return x_38; +} +else +{ +lean_object* x_63; lean_object* x_64; lean_object* x_65; +x_63 = lean_ctor_get(x_38, 0); +x_64 = lean_ctor_get(x_38, 1); +lean_inc(x_64); +lean_inc(x_63); +lean_dec(x_38); +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_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_66 = !lean_is_exclusive(x_30); +if (x_66 == 0) +{ +return x_30; +} +else +{ +lean_object* x_67; lean_object* x_68; lean_object* x_69; +x_67 = lean_ctor_get(x_30, 0); +x_68 = lean_ctor_get(x_30, 1); +lean_inc(x_68); +lean_inc(x_67); +lean_dec(x_30); +x_69 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_69, 0, x_67); +lean_ctor_set(x_69, 1, x_68); +return x_69; +} } } } else { uint8_t x_73; -lean_dec(x_48); -lean_dec(x_39); -lean_dec(x_37); -lean_dec(x_36); -lean_dec(x_34); -lean_dec(x_33); -lean_dec(x_23); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_73 = !lean_is_exclusive(x_49); +x_73 = !lean_is_exclusive(x_17); if (x_73 == 0) { -return x_49; +return x_17; } else { lean_object* x_74; lean_object* x_75; lean_object* x_76; -x_74 = lean_ctor_get(x_49, 0); -x_75 = lean_ctor_get(x_49, 1); +x_74 = lean_ctor_get(x_17, 0); +x_75 = lean_ctor_get(x_17, 1); lean_inc(x_75); lean_inc(x_74); -lean_dec(x_49); +lean_dec(x_17); x_76 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_76, 0, x_74); lean_ctor_set(x_76, 1, x_75); @@ -32376,135 +33609,38 @@ return x_76; } } } -else +block_88: { -uint8_t x_77; -lean_dec(x_39); -lean_dec(x_37); -lean_dec(x_36); -lean_dec(x_35); -lean_dec(x_34); -lean_dec(x_33); -lean_dec(x_23); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -x_77 = !lean_is_exclusive(x_41); -if (x_77 == 0) +if (x_78 == 0) { -return x_41; +x_16 = x_79; +goto block_77; } else { -lean_object* x_78; lean_object* x_79; lean_object* x_80; -x_78 = lean_ctor_get(x_41, 0); -x_79 = lean_ctor_get(x_41, 1); -lean_inc(x_79); -lean_inc(x_78); -lean_dec(x_41); -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_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_inc(x_11); +x_80 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_80, 0, x_11); +x_81 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___lambda__1___closed__2; +x_82 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_82, 0, x_81); +lean_ctor_set(x_82, 1, x_80); +x_83 = l_Lean_KernelException_toMessageData___closed__15; +x_84 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_84, 0, x_82); +lean_ctor_set(x_84, 1, x_83); +x_85 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabDiscrsWitMatchType___spec__1___lambda__2___closed__5; +x_86 = l_Lean_addTrace___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__1(x_85, x_84, x_3, x_4, x_5, x_6, x_7, x_8, x_79); +x_87 = lean_ctor_get(x_86, 1); +lean_inc(x_87); +lean_dec(x_86); +x_16 = x_87; +goto block_77; } } } } -else -{ -uint8_t x_84; -lean_dec(x_23); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -x_84 = !lean_is_exclusive(x_28); -if (x_84 == 0) -{ -return x_28; -} -else -{ -lean_object* x_85; lean_object* x_86; lean_object* x_87; -x_85 = lean_ctor_get(x_28, 0); -x_86 = lean_ctor_get(x_28, 1); -lean_inc(x_86); -lean_inc(x_85); -lean_dec(x_28); -x_87 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_87, 0, x_85); -lean_ctor_set(x_87, 1, x_86); -return x_87; -} -} -} -block_99: -{ -if (x_89 == 0) -{ -x_27 = x_90; -goto block_88; -} -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_inc(x_20); -x_91 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_91, 0, x_20); -x_92 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___lambda__1___closed__2; -x_93 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_93, 0, x_92); -lean_ctor_set(x_93, 1, x_91); -x_94 = l_Lean_KernelException_toMessageData___closed__15; -x_95 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_95, 0, x_93); -lean_ctor_set(x_95, 1, x_94); -x_96 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabDiscrsWitMatchType___spec__1___lambda__2___closed__5; -x_97 = l_Lean_addTrace___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__1(x_96, x_95, x_3, x_4, x_5, x_6, x_7, x_8, x_90); -x_98 = lean_ctor_get(x_97, 1); -lean_inc(x_98); -lean_dec(x_97); -x_27 = x_98; -goto block_88; -} -} -} -} -} -else -{ -uint8_t x_183; -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -x_183 = !lean_is_exclusive(x_14); -if (x_183 == 0) -{ -return x_14; -} -else -{ -lean_object* x_184; lean_object* x_185; lean_object* x_186; -x_184 = lean_ctor_get(x_14, 0); -x_185 = lean_ctor_get(x_14, 1); -lean_inc(x_185); -lean_inc(x_184); -lean_dec(x_14); -x_186 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_186, 0, x_184); -lean_ctor_set(x_186, 1, x_185); -return x_186; -} -} -} } lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: @@ -32612,7 +33748,7 @@ x_31 = lean_ctor_get(x_29, 1); lean_inc(x_31); lean_dec(x_29); x_32 = lean_array_get_size(x_25); -x_33 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_7999____closed__1; +x_33 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_8556____closed__1; lean_inc(x_7); x_34 = l_Lean_Elab_Term_mkAuxName(x_33, x_7, x_8, x_9, x_10, x_11, x_12, x_31); if (lean_obj_tag(x_34) == 0) @@ -33018,7 +34154,7 @@ x_109 = lean_ctor_get(x_21, 1); lean_inc(x_109); lean_dec(x_21); x_110 = lean_array_get_size(x_106); -x_111 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_7999____closed__1; +x_111 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_8556____closed__1; lean_inc(x_7); x_112 = l_Lean_Elab_Term_mkAuxName(x_111, x_7, x_8, x_9, x_10, x_11, x_12, x_105); if (lean_obj_tag(x_112) == 0) @@ -36749,7 +37885,7 @@ x_5 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_1); return x_5; } } -lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_11249_(lean_object* x_1) { +lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_11248_(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; @@ -37255,21 +38391,25 @@ l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___closed__2 = _in lean_mark_persistent(l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___closed__2); l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___closed__3 = _init_l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___closed__3(); lean_mark_persistent(l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___closed__3); +l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___lambda__1___closed__1 = _init_l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___lambda__1___closed__1(); +lean_mark_persistent(l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___lambda__1___closed__1); +l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___lambda__2___boxed__const__1 = _init_l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___lambda__2___boxed__const__1(); +lean_mark_persistent(l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___lambda__2___boxed__const__1); l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_collectDeps___closed__1 = _init_l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_collectDeps___closed__1(); lean_mark_persistent(l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_collectDeps___closed__1); l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop___boxed__const__1 = _init_l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop___boxed__const__1(); lean_mark_persistent(l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop___boxed__const__1); -l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_7999____closed__1 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_7999____closed__1(); -lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_7999____closed__1); -l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_7999____closed__2 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_7999____closed__2(); -lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_7999____closed__2); -l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_7999____closed__3 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_7999____closed__3(); -lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_7999____closed__3); -l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_7999____closed__4 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_7999____closed__4(); -lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_7999____closed__4); -l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_7999____closed__5 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_7999____closed__5(); -lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_7999____closed__5); -res = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_7999_(lean_io_mk_world()); +l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_8556____closed__1 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_8556____closed__1(); +lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_8556____closed__1); +l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_8556____closed__2 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_8556____closed__2(); +lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_8556____closed__2); +l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_8556____closed__3 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_8556____closed__3(); +lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_8556____closed__3); +l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_8556____closed__4 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_8556____closed__4(); +lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_8556____closed__4); +l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_8556____closed__5 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_8556____closed__5(); +lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_8556____closed__5); +res = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_8556_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; l_Lean_Elab_Term_match_ignoreUnusedAlts = lean_io_result_get_value(res); lean_mark_persistent(l_Lean_Elab_Term_match_ignoreUnusedAlts); @@ -37296,10 +38436,6 @@ l___private_Lean_Elab_Match_0__Lean_Elab_Term_isMatchUnit_x3f___closed__3 = _ini lean_mark_persistent(l___private_Lean_Elab_Match_0__Lean_Elab_Term_isMatchUnit_x3f___closed__3); l___private_Lean_Elab_Match_0__Lean_Elab_Term_isMatchUnit_x3f___closed__4 = _init_l___private_Lean_Elab_Match_0__Lean_Elab_Term_isMatchUnit_x3f___closed__4(); lean_mark_persistent(l___private_Lean_Elab_Match_0__Lean_Elab_Term_isMatchUnit_x3f___closed__4); -l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___lambda__1___closed__1 = _init_l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___lambda__1___closed__1(); -lean_mark_persistent(l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___lambda__1___closed__1); -l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___lambda__2___boxed__const__1 = _init_l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___lambda__2___boxed__const__1(); -lean_mark_persistent(l___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___lambda__2___boxed__const__1); l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__3___lambda__1___closed__1 = _init_l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__3___lambda__1___closed__1(); lean_mark_persistent(l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__3___lambda__1___closed__1); l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__3___lambda__1___closed__2 = _init_l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__3___lambda__1___closed__2(); @@ -37349,7 +38485,7 @@ lean_mark_persistent(l___regBuiltin_Lean_Elab_Term_elabMatch___closed__1); res = l___regBuiltin_Lean_Elab_Term_elabMatch(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_11249_(lean_io_mk_world()); +res = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_11248_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); l_Lean_Elab_Term_elabNoMatch___closed__1 = _init_l_Lean_Elab_Term_elabNoMatch___closed__1(); diff --git a/stage0/stdlib/Lean/Elab/Tactic/Match.c b/stage0/stdlib/Lean/Elab/Tactic/Match.c index 10a742486e..370deaef38 100644 --- a/stage0/stdlib/Lean/Elab/Tactic/Match.c +++ b/stage0/stdlib/Lean/Elab/Tactic/Match.c @@ -85,11 +85,11 @@ lean_object* l_Lean_Syntax_getHeadInfo(lean_object*); lean_object* l_Lean_replaceRef(lean_object*, lean_object*); lean_object* lean_array_get(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Util_0__Lean_Elab_expandMacro_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -extern lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_7999____closed__1; lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Tactic_Match_0__Lean_Elab_Tactic_mkAuxiliaryMatchTermAux___spec__2___closed__3; lean_object* l_List_forIn_loop___at_Lean_Elab_Tactic_evalEraseAuxDiscrs___spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_setKind(lean_object*, lean_object*); lean_object* l_Lean_Name_appendIndexAfter(lean_object*, lean_object*); +extern lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_8556____closed__1; lean_object* l___regBuiltin_Lean_Elab_Tactic_evalEraseAuxDiscrs___closed__1; extern lean_object* l___private_Lean_Elab_Tactic_Basic_0__Lean_Elab_Tactic_sortFVarIds___closed__1; extern lean_object* l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_19003____closed__5; @@ -1593,7 +1593,7 @@ lean_dec(x_277); x_316 = lean_ctor_get(x_6, 0); lean_inc(x_316); lean_dec(x_6); -x_317 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_7999____closed__1; +x_317 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_8556____closed__1; x_318 = l_Lean_Name_appendIndexAfter(x_317, x_316); x_319 = l_Lean_Name_append(x_1, x_318); x_320 = l_Lean_mkIdentFrom(x_30, x_319); diff --git a/stage0/stdlib/Lean/Meta.c b/stage0/stdlib/Lean/Meta.c index d8c611a2c2..2efa5ee01a 100644 --- a/stage0/stdlib/Lean/Meta.c +++ b/stage0/stdlib/Lean/Meta.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Meta -// Imports: Init Lean.Meta.Basic Lean.Meta.LevelDefEq Lean.Meta.WHNF Lean.Meta.InferType Lean.Meta.FunInfo Lean.Meta.ExprDefEq Lean.Meta.DiscrTree Lean.Meta.Reduce Lean.Meta.Instances Lean.Meta.AbstractMVars Lean.Meta.SynthInstance Lean.Meta.AppBuilder Lean.Meta.Tactic Lean.Meta.KAbstract Lean.Meta.RecursorInfo Lean.Meta.GeneralizeTelescope Lean.Meta.Match Lean.Meta.ReduceEval Lean.Meta.Closure Lean.Meta.AbstractNestedProofs Lean.Meta.ForEachExpr Lean.Meta.Transform Lean.Meta.PPGoal Lean.Meta.UnificationHint Lean.Meta.Inductive Lean.Meta.SizeOf Lean.Meta.ProofBelow Lean.Meta.Coe Lean.Meta.SortLocalDecls Lean.Meta.CollectFVars Lean.Meta.GeneralizeVars +// Imports: Init Lean.Meta.Basic Lean.Meta.LevelDefEq Lean.Meta.WHNF Lean.Meta.InferType Lean.Meta.FunInfo Lean.Meta.ExprDefEq Lean.Meta.DiscrTree Lean.Meta.Reduce Lean.Meta.Instances Lean.Meta.AbstractMVars Lean.Meta.SynthInstance Lean.Meta.AppBuilder Lean.Meta.Tactic Lean.Meta.KAbstract Lean.Meta.RecursorInfo Lean.Meta.GeneralizeTelescope Lean.Meta.Match Lean.Meta.ReduceEval Lean.Meta.Closure Lean.Meta.AbstractNestedProofs Lean.Meta.ForEachExpr Lean.Meta.Transform Lean.Meta.PPGoal Lean.Meta.UnificationHint Lean.Meta.Inductive Lean.Meta.SizeOf Lean.Meta.IndPredBelow Lean.Meta.Coe Lean.Meta.SortLocalDecls Lean.Meta.CollectFVars Lean.Meta.GeneralizeVars #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -40,7 +40,7 @@ lean_object* initialize_Lean_Meta_PPGoal(lean_object*); lean_object* initialize_Lean_Meta_UnificationHint(lean_object*); lean_object* initialize_Lean_Meta_Inductive(lean_object*); lean_object* initialize_Lean_Meta_SizeOf(lean_object*); -lean_object* initialize_Lean_Meta_ProofBelow(lean_object*); +lean_object* initialize_Lean_Meta_IndPredBelow(lean_object*); lean_object* initialize_Lean_Meta_Coe(lean_object*); lean_object* initialize_Lean_Meta_SortLocalDecls(lean_object*); lean_object* initialize_Lean_Meta_CollectFVars(lean_object*); @@ -131,7 +131,7 @@ lean_dec_ref(res); res = initialize_Lean_Meta_SizeOf(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Meta_ProofBelow(lean_io_mk_world()); +res = initialize_Lean_Meta_IndPredBelow(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); res = initialize_Lean_Meta_Coe(lean_io_mk_world()); diff --git a/stage0/stdlib/Lean/Meta/ProofBelow.c b/stage0/stdlib/Lean/Meta/IndPredBelow.c similarity index 69% rename from stage0/stdlib/Lean/Meta/ProofBelow.c rename to stage0/stdlib/Lean/Meta/IndPredBelow.c index c1a78e47a0..6b11406efc 100644 --- a/stage0/stdlib/Lean/Meta/ProofBelow.c +++ b/stage0/stdlib/Lean/Meta/IndPredBelow.c @@ -1,5 +1,5 @@ // Lean compiler output -// Module: Lean.Meta.ProofBelow +// Module: Lean.Meta.IndPredBelow // Imports: Init Lean.Util.Constructions Lean.Meta.Transform Lean.Meta.Tactic #include #if defined(__clang__) @@ -13,418 +13,419 @@ #ifdef __cplusplus extern "C" { #endif -lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_ProofBelow_proveBrecOn_applyCtors___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_throwError___at_Lean_Meta_ProofBelow_proveBrecOn_applyIH___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_ProofBelow_proveBrecOn_solveByAssumption___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_mkProofBelow(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_ProofBelow_proveBrecOn_applyIH___spec__2(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkContext___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_throwError___at_Lean_Meta_IndPredBelow_mkCtorType_mkBelowBinder___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn_introNPRec(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_IndPredBelow_mkCtorType_addMotives___spec__3___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkCtorType_addHeaderVars___spec__3___boxed(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkConstructor(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkBrecOnDecl___closed__1; +lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_IndPredBelow_proveBrecOn_solveByAssumption___spec__6(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkContext___boxed__const__1; lean_object* lean_array_set(lean_object*, lean_object*, lean_object*); -lean_object* l_List_map___at_Lean_Meta_mkProofBelow___spec__5(lean_object*); -lean_object* l_Lean_Meta_ProofBelow_mkBrecOnDecl_mkIH___closed__1; +lean_object* l_List_forM___at_Lean_Meta_IndPredBelow_proveBrecOn_closeGoal___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_withIncRecDepth___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__13___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_Meta_IndPredBelow_proveBrecOn_solveByAssumption___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); size_t l_USize_add(size_t, size_t); -lean_object* l_Lean_mkCasesOn___at_Lean_Meta_mkProofBelow___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkContext___spec__5___closed__1; +lean_object* l_Lean_Meta_transform_visit_visitForall___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___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* l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_IndPredBelow_mkCtorType_addMotives___spec__3___closed__2; lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_forallTelescopeReducingAuxAux___rarg(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_mvarId_x21(lean_object*); lean_object* l_Lean_registerTraceClass(lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_checkCount_match__2___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_throwError___at_Lean_Meta_IndPredBelow_mkConstructor___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_withMVarContext___at_Lean_Meta_admit___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_stringToMessageData(lean_object*); -lean_object* l_Lean_Meta_ProofBelow_proveBrecOn_solveByAssumption(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Meta_getNondepPropHyps___closed__1; -lean_object* l_Lean_Meta_ProofBelow_proveBrecOn_closeGoal(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_mkMotiveBinder(lean_object*, lean_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_getConstInfoInduct___at___private_Lean_Meta_RecursorInfo_0__Lean_Meta_mkRecursorInfoForKernelRec___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_addDecl___at_Lean_Meta_mkAuxLemma___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_ProofBelow_proveBrecOn_applyIH___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_ProofBelow_mkCtorType_addMotives___spec__3___closed__4; +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_copyVarName(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_Expr_withAppAux___at_Lean_Meta_ProofBelow_proveBrecOn_applyCtors___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_mkForallFVars(lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_IndPredBelow_proveBrecOn_solveByAssumption___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_throwError___at_Lean_Meta_whnf___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_proveBrecOn_applyIH___closed__2; +lean_object* l_Lean_Meta_withNewBinderInfos___at_Lean_Meta_IndPredBelow_mkContext_mkHeader___spec__2(lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_addMotives(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_withIncRecDepth___rarg___lambda__2___closed__2; lean_object* l_Lean_LocalDecl_userName(lean_object*); -lean_object* l_Lean_Meta_forallTelescope___at_Lean_Meta_ProofBelow_mkContext_mkHeader___spec__3(lean_object*); -lean_object* l_Lean_Meta_ProofBelow_mkContext_addMotives___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Meta_IndPredBelow_mkBelow___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_withNewBinderInfos___at_Lean_Meta_IndPredBelow_mkContext_mkHeader___spec__2___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_name_mk_string(lean_object*, lean_object*); -lean_object* l_Array_mapIdxM_map___at_Lean_Meta_ProofBelow_mkContext___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_USize_decEq(size_t, size_t); -lean_object* l_Lean_Meta_ProofBelow_proveBrecOn_applyIH(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_uget(lean_object*, size_t); -lean_object* l_Lean_Meta_ProofBelow_mkBrecOnDecl_mkIH___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_withLocalDecl___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__8___boxed(lean_object*, lean_object*); +lean_object* l_Lean_Meta_withLocalDecl___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___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* l_Lean_ConstantInfo_numLevelParams(lean_object*); +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_Meta_IndPredBelow_mkContext_addMotives___spec__1(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_expr_update_mdata(lean_object*, lean_object*); lean_object* l_Array_append___rarg(lean_object*, lean_object*); -lean_object* l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_ProofBelow_mkCtorType_addMotives___spec__3___closed__3; -lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkContext___spec__1(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_proveBrecOn_induction___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_mapIdxM_map___at_Lean_Meta_IndPredBelow_proveBrecOn_induction___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* l_ReaderT_bind___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__12(lean_object*, lean_object*); lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_mkCongrLemma___spec__10(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_checkCount___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_withIncRecDepth___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__13___boxed(lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_proveBrecOn_solveByAssumption___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_instInhabitedVariables___closed__1; -lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_ProofBelow_proveBrecOn_applyCtors___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_throwError___at_Lean_Meta_IndPredBelow_proveBrecOn_applyIH___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkContext_mkHeader___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_getConstInfoCtor___at_Lean_Meta_IndPredBelow_mkConstructor___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_uset(lean_object*, size_t, lean_object*); -lean_object* l_Lean_Meta_withIncRecDepth___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__13___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_proveBrecOn_applyIH___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_mkInductiveType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_mapIdxM_map___at_Lean_Meta_IndPredBelow_mkBelowDecl___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn_induction___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_Meta_IndPredBelow_mkContext_addMotives___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_withLocalDecl___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___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* l_Lean_Meta_IndPredBelow_mkBrecOnDecl_mkIH___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*); extern lean_object* l_Lean_Meta_tryUnificationHints_tryCandidate___closed__3; -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_checkCount_match__3(lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_checkCount_match__1___rarg(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_object* l_List_forM___at_Lean_Meta_ProofBelow_proveBrecOn_closeGoal___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_checkCount_match__1___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkContext_motiveName(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); size_t l_USize_sub(size_t, size_t); extern lean_object* l_Array_empty___closed__1; lean_object* lean_environment_find(lean_object*, lean_object*); -lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_ProofBelow_mkCtorType_rebuild___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkContext___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_getConstInfo___at_Lean_Meta_mkConstWithFreshMVarLevels___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_ProofBelow_proveBrecOn_solveByAssumption___spec__1(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_mapIdxM_map___at_Lean_Meta_ProofBelow_mkBrecOnDecl_mkType___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkContext_motiveName___closed__1; +lean_object* l_Lean_Meta_IndPredBelow_mkContext_motiveName___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_mk_cases_on(lean_object*, lean_object*); -lean_object* l_Array_mapIdxM_map___at_Lean_Meta_ProofBelow_proveBrecOn_induction___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_mkContext_mkHeader___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_instInhabitedDepArrow___rarg(lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_checkCount___closed__2; -lean_object* l_Lean_Meta_ProofBelow_mkBrecOnDecl_mkIH___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn_match__1(lean_object*); +lean_object* l_Lean_Meta_withLocalDecl___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__7(lean_object*, lean_object*); +lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_IndPredBelow_proveBrecOn_solveByAssumption___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_st_ref_get(lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_mkContext_addMotives(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_proveBrecOn_applyIH___closed__1; extern lean_object* l_Lean_instInhabitedParserDescr___closed__1; -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_checkCount___closed__1; lean_object* l_List_append___rarg(lean_object*, lean_object*); -lean_object* l_Lean_throwError___at_Lean_Meta_ProofBelow_mkCtorType_mkProofBelowBinder___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_name_eq(lean_object*, lean_object*); -lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkContext___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkContext_mkHeader___spec__1(size_t, size_t, lean_object*); +lean_object* l_Array_mapIdxM_map___at_Lean_Meta_IndPredBelow_proveBrecOn_induction___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Name_updatePrefix(lean_object*, lean_object*); lean_object* l_Lean_commitWhen___at_Lean_Meta_elimEmptyInductive___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_List_forM___at_Lean_Meta_ProofBelow_proveBrecOn___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_throwError___at_Lean_Meta_ProofBelow_mkCtorType_mkProofBelowBinder___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_transform___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__1___closed__1; -lean_object* l_Lean_Meta_withIncRecDepth___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__13(lean_object*, lean_object*); +lean_object* l_Lean_throwError___at_Lean_Meta_IndPredBelow_mkCtorType_mkBelowBinder___spec__1(lean_object*); +lean_object* l_Lean_Meta_withIncRecDepth___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__13___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_checkCount___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_withLetDecl___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___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* l_Std_Range_forIn_loop___at_Lean_Meta_IndPredBelow_mkBelow___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Meta_IndPredBelow_mkBelow___spec__4(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_proveBrecOn_applyCtors___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_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_Meta_ProofBelow_mkCtorType_addHeaderVars___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_rebuild(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_replaceTempVars___boxed(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_modifyBinders___lambda__2___boxed(lean_object**); +lean_object* l_Array_mapIdxM_map___at_Lean_Meta_IndPredBelow_mkContext___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_string_append(lean_object*, lean_object*); -lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__11(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -uint8_t l_Lean_Expr_withAppAux___at_Lean_Meta_ProofBelow_mkCtorType_mkProofBelowBinder___spec__3___lambda__1(lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_checkCount_match__2___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_MessageData_ofList(lean_object*); -lean_object* l_Lean_Meta_withLocalDecl___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___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* l_Lean_Meta_ProofBelow_mkBrecOnDecl_mkType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_mkContext_motiveType___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_ProofBelow_mkCtorType_mkMotiveBinder___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_proveBrecOn_induction(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_IndPredBelow_mkCtorType_addMotives___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_mkCtorType_rebuild___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_ReaderT_bind___at_Lean_Meta_instMonadLCtxMetaM___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_ProofBelow_mkCtorType_mkProofBelowBinder___spec__3___closed__2; extern lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Util_Trace_0__Lean_withNestedTracesFinalizer___spec__5___closed__1; extern lean_object* l_Lean_Expr_getAppArgs___closed__1; -lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_ProofBelow_mkCtorType_mkProofBelowBinder___spec__3___lambda__1___boxed(lean_object*, lean_object*); -lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__11___boxed__const__1; -lean_object* l_Lean_Meta_ProofBelow_mkCtorType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_mkBrecOnDecl_mkType___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_withLocalDecl___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__7(lean_object*, lean_object*); -lean_object* l_Lean_Meta_mkProofBelow___closed__6; -lean_object* l_Lean_Meta_ProofBelow_mkConstructor(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_rebuild___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_mkBrecOnDecl_mkType___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_mkContext___boxed__const__1; +lean_object* l_Lean_Meta_withLetDecl___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__9(lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_instInhabitedVariables; +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_Meta_IndPredBelow_mkContext_addMotives___spec__1___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_IndPredBelow_mkCtorType_mkMotiveBinder___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkContext_mkHeader___spec__1(size_t, size_t, lean_object*); +lean_object* l_Std_PersistentArray_anyM___at_Lean_Meta_IndPredBelow_proveBrecOn_solveByAssumption___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_Meta_IndPredBelow_mkContext_addMotives___spec__1___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_mapMUnsafe_map___at_Lean_LocalContext_getFVars___spec__1(size_t, size_t, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_mkBrecOnDecl_mkIH___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_Meta_ProofBelow_mkContext_motiveName___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_transform_visit_visitForall___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_Meta_IndPredBelow_mkContext_addMotives___spec__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_throwError___at_Lean_Meta_IndPredBelow_mkConstructor___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_transform_visit_visitLambda___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___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_object* l_Lean_Expr_replaceFVars(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_mkContext_motiveName___closed__1; -lean_object* l_Lean_Meta_ProofBelow_mkContext_motiveName___closed__2; +lean_object* l_Lean_Meta_IndPredBelow_mkContext_motiveName___closed__2; +lean_object* l_Lean_Meta_IndPredBelow_mkContext(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_USize_decLt(size_t, size_t); -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_modifyBinders(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_Meta_ProofBelow_mkContext_addMotives___spec__1___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_withIncRecDepth___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__13___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_proveBrecOn_solveByAssumption_match__1___rarg(lean_object*, lean_object*); -lean_object* l_Array_mapIdxM_map___at_Lean_Meta_ProofBelow_proveBrecOn_applyCtors___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* l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkCtorType_addMotives___spec__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkBelow___closed__7; +lean_object* l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_IndPredBelow_mkCtorType_addMotives___spec__3___closed__1; +lean_object* l_Lean_throwError___at_Lean_Meta_IndPredBelow_proveBrecOn_applyIH___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkBrecOnDecl_mkType___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_IndPredBelow_proveBrecOn_solveByAssumption___spec__5(lean_object*, lean_object*, lean_object*, size_t, size_t, 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_object* l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkCtorType_addMotives___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_Meta_ProofBelow_mkContext_addMotives___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkBelow___closed__5; +lean_object* l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_IndPredBelow_mkCtorType_addMotives___spec__3___closed__3; +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_addHeaderVars___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_apply(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkBelow___closed__3; +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_copyVarName___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkBrecOnDecl_mkType___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkContext_mkHeader___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_mkAppN(lean_object*, lean_object*); -lean_object* l_Lean_Meta_withLocalDecl___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___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* l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkCtorType_replaceTempVars___spec__1(lean_object*, size_t, size_t, lean_object*); -lean_object* l_Lean_Meta_withNewBinderInfos___at_Lean_Meta_ProofBelow_mkContext_mkHeader___spec__2___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_withLocalDecl___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__8(lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType___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_mkCasesOn___at_Lean_Meta_IndPredBelow_mkBelow___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_isInductivePredicate___at_Lean_Meta_IndPredBelow_mkBelow___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_checkCount_match__1(lean_object*); +lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkContext___spec__4(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_PersistentArray_anyM___at_Lean_Meta_IndPredBelow_proveBrecOn_solveByAssumption___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_StateRefT_x27_lift___rarg___boxed(lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_proveBrecOn_match__1___rarg(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_mkProofBelowDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_PersistentArray_anyMAux___at_Lean_Meta_IndPredBelow_proveBrecOn_solveByAssumption___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkBrecOnDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_replaceTempVars(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_intro1Core(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_Meta_ProofBelow_mkContext_addMotives___spec__1___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_withLocalDecl___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__8___boxed(lean_object*, lean_object*); +lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkContext___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withNewBinderInfosImp___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_fget(lean_object*, lean_object*); lean_object* l___private_Lean_CoreM_0__Lean_Core_mkFreshNameImp(lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkCtorType_addMotives___spec__1(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_checkCount___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_nat_dec_eq(lean_object*, lean_object*); -lean_object* l_Lean_Meta_transform_visit_visitLambda___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___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* l_Lean_Meta_getMVarType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkCtorType_addHeaderVars___spec__3___boxed(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_withNewBinderInfos___at_Lean_Meta_IndPredBelow_mkContext_mkHeader___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_mkBelowBinder___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_InferType_0__Lean_Meta_checkInferTypeCache___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_isInductivePredicate___at_Lean_Meta_mkProofBelow___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_proveBrecOn_applyCtors(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_proveBrecOn_intros_match__1(lean_object*); -lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_ProofBelow_proveBrecOn_solveByAssumption___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_mkCtorType___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_withLocalDecl___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__8(lean_object*, lean_object*); +lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_proveBrecOn_applyCtors___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkBrecOnDecl_mkIH___closed__3; +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_checkCount_match__3___rarg(lean_object*, lean_object*); lean_object* lean_st_ref_take(lean_object*, lean_object*); -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_Meta_ProofBelow_proveBrecOn_applyCtors___spec__4(lean_object*, size_t, size_t, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_mkMotiveBinder(lean_object*, lean_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_IndPredBelow_mkCtorType_modifyBinders___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_mapIdxM_map___at_Lean_Meta_IndPredBelow_mkCtorType_addHeaderVars___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_nat_sub(lean_object*, lean_object*); -lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_ProofBelow_proveBrecOn_solveByAssumption___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* l_Array_anyMUnsafe_any___at_Lean_Meta_IndPredBelow_proveBrecOn_solveByAssumption___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkBrecOnDecl_mkIH(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_withLocalDecls_loop___rarg___lambda__1___boxed(lean_object*, lean_object*); +lean_object* l_Lean_Meta_transform_visit___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_constLevels_x21(lean_object*); -lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_ProofBelow_proveBrecOn_solveByAssumption___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_throwError___at_Lean_Meta_IndPredBelow_mkCtorType_mkBelowBinder___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_mkCtorType_mkMotiveBinder___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_checkCount___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_addTrace___at_Lean_Meta_mkCongrLemma___spec__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_ProofBelow_proveBrecOn_solveByAssumption___spec__6(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_mapIdxM_map___at_Lean_Meta_ProofBelow_mkCtorType_addHeaderVars___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_proveBrecOn_solveByAssumption___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_mkContext_addMotives_match__1(lean_object*); -lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkCtorType_addHeaderVars___spec__3(size_t, size_t, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_addMotives___boxed__const__1; -lean_object* l_Lean_Meta_ProofBelow_proveBrecOn_match__2(lean_object*); +lean_object* l_Array_mapIdxM_map___at_Lean_Meta_IndPredBelow_mkBelowDecl___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkContext_addMotives(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_get(lean_object*, lean_object*, lean_object*); +lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_IndPredBelow_proveBrecOn_solveByAssumption___spec__1(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_mkLambdaFVars(lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_fvarId_x21(lean_object*); lean_object* l_ST_Prim_Ref_get___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_checkCount___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_ProofBelow_proveBrecOn_solveByAssumption___spec__5___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_mkProofBelow___closed__5; +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_modifyBinders___lambda__1___boxed(lean_object**); +lean_object* l_Lean_Meta_forallTelescope___at_Lean_Meta_IndPredBelow_mkContext_mkHeader___spec__3___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_737____closed__2; -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_addHeaderVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Std_PersistentArray_anyMAux___at_Lean_Meta_ProofBelow_proveBrecOn_solveByAssumption___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_mkContext_motiveName___closed__3; -lean_object* l_Lean_Meta_ProofBelow_mkContext_motiveType___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_modifyBinders___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_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_checkCount_match__2(lean_object*); lean_object* l_Lean_ConstantInfo_name(lean_object*); -lean_object* l_Std_PersistentArray_anyM___at_Lean_Meta_ProofBelow_proveBrecOn_solveByAssumption___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Std_PersistentArray_anyM___at_Lean_Meta_ProofBelow_proveBrecOn_solveByAssumption___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_mkBrecOnDecl___closed__1; -lean_object* l_Lean_Meta_ProofBelow_proveBrecOn_intros_match__2(lean_object*); -lean_object* l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_ProofBelow_mkCtorType_addMotives___spec__3___closed__1; +lean_object* l_Lean_Meta_transform___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_mkCtorType_rebuild___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_IndPredBelow_proveBrecOn_applyIH___spec__2(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkCtorType_addHeaderVars___spec__3(size_t, size_t, lean_object*); +lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_proveBrecOn_applyCtors___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Nat_repr(lean_object*); lean_object* l_Array_back___at_Lean_Meta_DiscrTree_mkPathAux___spec__1(lean_object*); -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_checkCount_match__1(lean_object*); -lean_object* l_Lean_Meta_ProofBelow_proveBrecOn_applyIH_match__1___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l_List_forM___at_Lean_Meta_IndPredBelow_proveBrecOn___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_mapIdxM_map___at_Lean_Meta_IndPredBelow_mkCtorType_addHeaderVars___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_mapIdxM_map___at_Lean_Meta_IndPredBelow_mkBrecOnDecl_mkType___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_mapIdxM_map___at_Lean_Meta_IndPredBelow_proveBrecOn_applyCtors___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* l_Lean_Meta_IndPredBelow_proveBrecOn_match__2(lean_object*); lean_object* lean_st_mk_ref(lean_object*, lean_object*); -lean_object* l_Lean_Meta_withIncRecDepth___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__13___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_Meta_mkProofBelow___closed__4; -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_mkProofBelowBinder(lean_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_ProofBelow_proveBrecOn_intros_match__1___rarg(lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_mkBrecOnDecl_mkType___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_replaceTempVars___boxed(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_withIncRecDepth___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__13(lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_checkCount___closed__2; lean_object* l_Lean_getConstInfo___at_Lean_Meta_mkConstWithFreshMVarLevels___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_checkCount___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_mapIdxM_map___at_Lean_Meta_ProofBelow_mkContext___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* l_Lean_Expr_withAppAux___at_Lean_Meta_ProofBelow_mkCtorType_rebuild___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_proveBrecOn_intros_match__2___rarg(lean_object*, lean_object*); -lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_ProofBelow_mkCtorType_mkProofBelowBinder___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_ProofBelow_mkCtorType_addMotives___spec__3___closed__2; -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_mkMotiveBinder___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_checkCount___closed__1; +lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn_intros___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_IndPredBelow_proveBrecOn_solveByAssumption___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* l_Lean_Meta_IndPredBelow_mkContext_motiveType___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_checkCount___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_to_list(lean_object*, lean_object*); -lean_object* l_Lean_Meta_withLocalDeclsD___at_Lean_Meta_ProofBelow_mkCtorType_addHeaderVars___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_withLetDecl___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__9(lean_object*, lean_object*); -lean_object* l_Lean_Meta_mkProofBelow___closed__1; -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_checkCount_match__3___rarg(lean_object*, lean_object*); -lean_object* l_Array_mapIdxM_map___at_Lean_Meta_ProofBelow_proveBrecOn_induction___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_mapIdxM_map___at_Lean_Meta_ProofBelow_mkBrecOnDecl_mkType___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_proveBrecOn_match__1(lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkBelow___closed__6; +lean_object* l_Lean_Meta_IndPredBelow_mkContext_addMotives___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_transform_visit_visitPost___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_checkCount___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_Meta_IndPredBelow_mkBelow___spec__2___closed__2; +lean_object* l_Lean_throwError___at_Lean_Meta_IndPredBelow_mkCtorType_mkBelowBinder___spec__2(lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn___closed__2; extern lean_object* l_Lean_instInhabitedExpr; -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_modifyBinders___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_object*, lean_object*); -lean_object* l_Lean_Meta_mkProofBelow___closed__2; +lean_object* l_Lean_Meta_IndPredBelow_mkBelowDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_mkCtorType_mkBelowBinder___spec__3___lambda__1___boxed(lean_object*, lean_object*); uint8_t l_Lean_isInductivePredicate_visit(lean_object*); +lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkCtorType_addMotives___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_MetavarContext_instantiateExprMVars___rarg___lambda__2(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_proveBrecOn(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_KernelException_toMessageData___closed__15; -lean_object* l_Lean_Meta_ProofBelow_mkBrecOnDecl_mkType___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_proveBrecOn_intros___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_Meta_ProofBelow_mkContext_addMotives___spec__1(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_ProofBelow___hyg_2786_(lean_object*); lean_object* l_Lean_Meta_introNCore(lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_checkCount_match__2(lean_object*); -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_addMotives___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_mapIdxM_map___at_Lean_Meta_ProofBelow_proveBrecOn_induction___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* l_Lean_Meta_withLocalDecls___at_Lean_Meta_IndPredBelow_mkCtorType_addMotives___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_mkMotiveBinder___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkContext___spec__5(size_t, size_t, lean_object*); +lean_object* l_ReaderT_bind___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__12___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkContext_mkHeader(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkContext___spec__4___boxed(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_isForall(lean_object*); -lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__10___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_modifyBinders___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_Meta_ProofBelow_mkContext_addMotives___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_transform___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn_applyIH_match__1___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_addHeaderVars(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_Meta_IndPredBelow_mkCtorType_checkCount___spec__9___boxed(lean_object*, lean_object*); +lean_object* l_List_forM___at_Lean_Meta_IndPredBelow_proveBrecOn___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_mkFVar(lean_object*); -lean_object* l_Lean_throwError___at_Lean_Meta_ProofBelow_mkCtorType_mkProofBelowBinder___spec__2(lean_object*); uint8_t l_Lean_Expr_Data_binderInfo(uint64_t); -lean_object* l_Lean_getConstInfoCtor___at_Lean_Meta_ProofBelow_mkConstructor___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkContext___spec__5___closed__1; +lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkContext___spec__5___boxed(lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_KernelException_toMessageData___closed__3; size_t lean_usize_of_nat(lean_object*); extern lean_object* l_Lean_Syntax_mkAntiquotNode___closed__9; +lean_object* l_Lean_Meta_IndPredBelow_mkContext_mkIndValConst(lean_object*); +lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__11___boxed__const__1; +lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_IndPredBelow_proveBrecOn_applyIH___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn___closed__1; +lean_object* l_List_mapM___at_Lean_Meta_IndPredBelow_mkInductiveType___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_transform_visit_visitLet___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__6___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_expr_update_proj(lean_object*, lean_object*); lean_object* l_Lean_LocalDecl_fvarId(lean_object*); -lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_ProofBelow_mkCtorType_mkMotiveBinder___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_proveBrecOn_introNPRec(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_mapIdxM_map___at_Lean_Meta_ProofBelow_proveBrecOn_induction___spec__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_mkProofBelow___closed__3; -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_checkCount___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkContext_motiveType___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_addMotives___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_forallTelescope___at___private_Lean_Meta_InferType_0__Lean_Meta_inferForallType___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_ProofBelow_proveBrecOn_solveByAssumption___spec__5(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_modifyBinders___lambda__2___boxed(lean_object**); lean_object* l_Lean_Meta_isDefEq(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_Array_foldlMUnsafe_fold___at_Lean_Meta_mkProofBelow___spec__4(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_IndPredBelow_proveBrecOn_solveByAssumption___spec__4(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkContext___spec__5___closed__2; +lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn_intros_match__1(lean_object*); +lean_object* l_Lean_Meta_transform___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern uint8_t l_Lean_instInhabitedBinderInfo; -lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkContext___spec__4(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkBrecOnDecl_mkIH___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_Meta_assignExprMVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_transform_visit_visitLambda___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___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_object* l_Lean_throwError___at_Lean_Meta_ProofBelow_mkCtorType_mkProofBelowBinder___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_mkBrecOnDecl_mkIH___closed__3; +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_addMotives___boxed__const__1; +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_Meta_IndPredBelow_mkContext_addMotives___spec__2(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn_closeGoal___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_checkCount___closed__3; +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_checkCount___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_checkCount___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_redLength___rarg(lean_object*); -lean_object* l_Lean_Name_appendAfter(lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkBrecOnDecl_mkIH___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn_applyIH___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn_applyIH___closed__1; +lean_object* l_Lean_Meta_IndPredBelow_mkBelow___closed__4; lean_object* l_Lean_Expr_getAppNumArgsAux(lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_checkCount___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_withLetDecl___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__9___boxed(lean_object*, lean_object*); +lean_object* l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_IndPredBelow_mkCtorType_addMotives___spec__3___closed__4; +lean_object* l_List_map___at_Lean_Meta_IndPredBelow_mkBelow___spec__5(lean_object*); +lean_object* l_Lean_Meta_transform_visit_visitLambda___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___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* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_throwError___at_Lean_Meta_ProofBelow_proveBrecOn_applyIH___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_Meta_mkProofBelow___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_initFn____x40_Lean_Meta_IndPredBelow___hyg_2785_(lean_object*); +lean_object* l_Lean_Meta_forallTelescope___at_Lean_Meta_IndPredBelow_mkContext_mkHeader___spec__3(lean_object*); lean_object* l_Lean_Meta_getLocalDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkContext___spec__5(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_withNewBinderInfos___at_Lean_Meta_ProofBelow_mkContext_mkHeader___spec__2(lean_object*); -lean_object* l_Lean_mkCasesOn___at_Lean_Meta_mkProofBelow___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_mkProofBelowBinder___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_replaceTempVars(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_throwError___at_Lean_Meta_ProofBelow_mkConstructor___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_withLocalDecl___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___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* l_Lean_Meta_IndPredBelow_proveBrecOn_applyIH(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkBelow___closed__8; +lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__10(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_Meta_IndPredBelow_instInhabitedVariables___closed__1; uint8_t lean_nat_dec_le(lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkBrecOnDecl_mkType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_mkCtorType_mkBelowBinder___spec__3___closed__1; +lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn_applyIH___closed__2; lean_object* l_Lean_throwKernelException___at_Lean_Meta_mkAuxLemma___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_isInductivePredicate___at_Lean_Meta_mkProofBelow___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_mapIdxM_map___at_Lean_Meta_IndPredBelow_mkContext___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Name_append(lean_object*, lean_object*); -lean_object* l_Lean_Meta_forallTelescope___at_Lean_Meta_ProofBelow_mkContext_mkHeader___spec__3___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_checkCount___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkBelow___closed__1; 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_object* l_Lean_Meta_transform_visit_visitLet___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_transform_visit_visitPost___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkCtorType_addMotives___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_withLocalDecl___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___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* l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkCtorType_addMotives___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__10___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_PersistentArray_anyMAux___at_Lean_Meta_IndPredBelow_proveBrecOn_solveByAssumption___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_instInhabitedExpr___closed__1; -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_Meta_ProofBelow_mkContext_addMotives___spec__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_mkMotiveBinder___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_proveBrecOn_intros(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_proveBrecOn_solveByAssumption_match__1(lean_object*); -lean_object* l_Lean_Meta_ProofBelow_proveBrecOn_closeGoal___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +uint8_t l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_mkCtorType_mkBelowBinder___spec__3___lambda__1(lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn_intros(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_IndPredBelow_proveBrecOn_solveByAssumption___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkBelow___closed__2; +lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__11(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_mkCtorType_mkBelowBinder___spec__3___closed__2; +lean_object* l_Lean_throwError___at_Lean_Meta_IndPredBelow_mkCtorType_mkBelowBinder___spec__2___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_isExprMVarAssigned(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_throwError___at_Lean_Meta_ProofBelow_mkCtorType_mkProofBelowBinder___spec__1(lean_object*); -lean_object* l_Lean_Meta_ProofBelow_proveBrecOn_match__2___rarg(lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_modifyBinders(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_ofSubarray___rarg(lean_object*); -lean_object* l_Lean_Meta_ProofBelow_mkBrecOnDecl_mkIH___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_mkContext_addMotives_match__1___rarg(lean_object*, lean_object*); -lean_object* l_Lean_Meta_transform___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkBrecOnDecl_mkType___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_mkBelowBinder(lean_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_IndPredBelow_proveBrecOn_induction(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_mkForallFVars___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_mkContext_mkHeader___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_rebuild(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_instInhabitedName; -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_addMotives(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_mapIdxM_map___at_Lean_Meta_IndPredBelow_proveBrecOn_induction___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_mkCtorType_mkBelowBinder___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkContext___spec__1(size_t, size_t, 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_object* l_Lean_Expr_constName_x3f(lean_object*); -lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_ProofBelow_mkCtorType_mkProofBelowBinder___spec__3___closed__1; extern lean_object* l_Lean_getConstInfoCtor___rarg___lambda__1___closed__2; +lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn_intros_match__2___rarg(lean_object*, lean_object*); +lean_object* l_Array_mapIdxM_map___at_Lean_Meta_IndPredBelow_mkBrecOnDecl_mkType___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkContext_addMotives_match__1___rarg(lean_object*, lean_object*); lean_object* l_List_toArrayAux___rarg(lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_mkContext_motiveType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_inferType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkContext_motiveType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_ST_Prim_Ref_modifyGetUnsafe___rarg___boxed(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_withLocalDecl___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___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* l_Lean_Meta_ProofBelow_proveBrecOn_induction___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_withIncRecDepth___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__13___boxed(lean_object*, lean_object*); lean_object* lean_expr_instantiate_rev(lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_instInhabitedVariables; +lean_object* l_Lean_Meta_transform_visit_visitLet___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn_match__2___rarg(lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn_solveByAssumption_match__1(lean_object*); +lean_object* l_Lean_isInductivePredicate___at_Lean_Meta_IndPredBelow_mkBelow___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_withMVarContext___at_Lean_Meta_substCore___spec__4___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_transform_visit___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__2___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_copyVarName___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_withLocalDecl___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___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* l_Array_anyMUnsafe_any___at_Lean_Meta_IndPredBelow_proveBrecOn_solveByAssumption___spec__5___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_instantiateMVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkContext___spec__1___boxed(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_object* l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__10(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_Std_PersistentArray_anyMAux___at_Lean_Meta_ProofBelow_proveBrecOn_solveByAssumption___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_ProofBelow_proveBrecOn_solveByAssumption___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* l_Lean_Meta_ProofBelow_mkCtorType_checkCount___closed__3; +lean_object* l_Lean_Meta_transform_visit___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__2___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_transform_visit_visitForall___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__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*); uint8_t l_Lean_Expr_binderInfo(lean_object*); -lean_object* l_ReaderT_bind___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__12(lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_checkCount___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_transform_visit_visitLet___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__6___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_mapIdxM_map___at_Lean_Meta_ProofBelow_mkProofBelowDecl___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_withIncRecDepth___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__13___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_throwError___at_Lean_Meta_IndPredBelow_mkCtorType_mkBelowBinder___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_Meta_IndPredBelow_proveBrecOn_applyCtors___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkBrecOnDecl_mkIH___closed__1; extern lean_object* l_Std_HashMap_instInhabitedHashMap___closed__1; -lean_object* l_ReaderT_bind___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__12___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn_solveByAssumption___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_forallMetaTelescope(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_throwError___at_Lean_Meta_ProofBelow_mkConstructor___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_ProofBelow_proveBrecOn_solveByAssumption___spec__4(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_mkContext_mkHeader(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_Meta_ProofBelow_proveBrecOn_applyCtors___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_transform___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn_induction___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkCtorType_addMotives___spec__1(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkCtorType_replaceTempVars___spec__1(lean_object*, size_t, size_t, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkContext_addMotives_match__1(lean_object*); +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_Meta_IndPredBelow_proveBrecOn_applyCtors___spec__4(lean_object*, size_t, size_t, lean_object*); +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_Meta_IndPredBelow_mkContext_addMotives___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_instInhabitedInductiveVal; +lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn_intros_match__1___rarg(lean_object*, lean_object*); extern lean_object* l_Lean_mkOptionalNode___closed__2; -lean_object* l_Lean_Meta_ProofBelow_mkContext(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkBrecOnDecl_mkIH___closed__2; extern lean_object* l_Lean_brecOnSuffix; -lean_object* l_List_mapM___at_Lean_Meta_ProofBelow_mkInductiveType___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_withLocalDecl___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___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* l_Array_mapIdxM_map___at_Lean_Meta_ProofBelow_mkProofBelowDecl___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_mapIdxM_map___at_Lean_Meta_ProofBelow_proveBrecOn_applyCtors___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_Meta_mkProofBelow___spec__2___closed__1; -lean_object* l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_ProofBelow_mkCtorType_addMotives___spec__3___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_findIdx_x3f_loop___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_mkContext_mkIndValConst(lean_object*); lean_object* l_Lean_Meta_mkFreshExprSyntheticOpaqueMVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_ProofBelow_mkCtorType_addMotives___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_withLocalDecls___at_Lean_Meta_ProofBelow_mkCtorType_addMotives___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_mapIdxM_map___at_Lean_Meta_ProofBelow_mkCtorType_addHeaderVars___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_transform___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkContext___spec__2(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn_applyCtors(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_getConstInfoCtor___at_Lean_Meta_IndPredBelow_mkConstructor___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_unsafeCast(lean_object*, lean_object*, lean_object*); lean_object* l_List_lengthAux___rarg(lean_object*, lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_Meta_mkProofBelow___spec__2___closed__2; lean_object* l_Std_HashMapImp_find_x3f___at_Lean_MetavarContext_instantiateExprMVars___spec__1(lean_object*, lean_object*); -lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkContext___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_withLetDecl___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___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* l_List_map___at_Lean_mkConstWithLevelParams___spec__1(lean_object*); -lean_object* l_Std_Range_forIn_loop___at_Lean_Meta_mkProofBelow___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_List_forM___at_Lean_Meta_ProofBelow_proveBrecOn___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkContext_mkHeader___spec__1___boxed(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_object* l_Lean_Meta_withNewBinderInfos___at_Lean_Meta_ProofBelow_mkContext_mkHeader___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_mkContext_motiveName(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkBrecOnDecl_mkIH___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkBrecOnDecl_mkType___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn_solveByAssumption_match__1___rarg(lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_checkCount___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_checkCount_match__3(lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_rebuild___boxed(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_object* l_Lean_Meta_ProofBelow_mkBrecOnDecl_mkIH(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_getConstInfoCtor___at_Lean_Meta_ProofBelow_mkConstructor___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_throwError___at_Lean_Meta_ProofBelow_mkCtorType_mkProofBelowBinder___spec__2___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_mkProofBelow___closed__7; -lean_object* l_Lean_Meta_transform_visit___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkBelow(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_mkCtorType_mkMotiveBinder___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkContext_motiveName___closed__3; +lean_object* l_Array_mapIdxM_map___at_Lean_Meta_IndPredBelow_proveBrecOn_induction___spec__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_throwError___at_Lean_Meta_mkCongrLemma___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_mkConst(lean_object*, lean_object*); -lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkCtorType_replaceTempVars___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_proveBrecOn___closed__1; +lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn_solveByAssumption(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_constName_x21(lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn_closeGoal(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_insertAt___rarg(lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_19973____closed__3; -lean_object* l_Lean_Meta_ProofBelow_proveBrecOn_applyIH_match__1(lean_object*); -lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkContext_mkHeader___spec__1___boxed(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_transform___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__1___closed__1; extern lean_object* l_Array_findSomeM_x3f___rarg___closed__1; -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_copyVarName(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_checkCount___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_mkBrecOnDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_withLocalDecl___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__7___boxed(lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn_applyIH_match__1(lean_object*); +lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkCtorType_addMotives___spec__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Meta_Tactic_Simp_SimpLemmas_0__Lean_Meta_isPerm___spec__1___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_proveBrecOn___closed__2; +lean_object* l_Lean_Meta_withLocalDeclsD___at_Lean_Meta_IndPredBelow_mkCtorType_addHeaderVars___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_addTrace___at_Lean_Meta_addUnificationHint___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_throwError___at_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_1308____spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Meta_mkProofBelow___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_modifyBinders___lambda__1___boxed(lean_object**); -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_checkCount(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkContext___spec__2(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_List_forM___at_Lean_Meta_ProofBelow_proveBrecOn_closeGoal___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_mapIdxM_map___at_Lean_Meta_IndPredBelow_proveBrecOn_applyCtors___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_IndPredBelow_mkInductiveType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_mkCasesOn___at_Lean_Meta_IndPredBelow_mkBelow___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Exception_toMessageData(lean_object*); -lean_object* l_Lean_Meta_transform_visit_visitForall___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___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* l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkCtorType_replaceTempVars___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_withLocalDecl___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___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*); uint8_t lean_nat_dec_lt(lean_object*, lean_object*); -lean_object* l_Lean_Meta_ProofBelow_mkBrecOnDecl_mkIH___closed__2; -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_Meta_ProofBelow_mkContext_addMotives___spec__2(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* _init_l_Lean_Meta_ProofBelow_instInhabitedVariables___closed__1() { +lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn_intros_match__2(lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_Meta_IndPredBelow_mkBelow___spec__2___closed__1; +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_checkCount(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_withLocalDecl___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__7___boxed(lean_object*, lean_object*); +lean_object* l_List_forM___at_Lean_Meta_IndPredBelow_proveBrecOn_closeGoal___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_Range_forIn_loop___at_Lean_Meta_IndPredBelow_mkBelow___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* _init_l_Lean_Meta_IndPredBelow_instInhabitedVariables___closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -440,15 +441,15 @@ lean_ctor_set(x_3, 5, x_2); return x_3; } } -static lean_object* _init_l_Lean_Meta_ProofBelow_instInhabitedVariables() { +static lean_object* _init_l_Lean_Meta_IndPredBelow_instInhabitedVariables() { _start: { lean_object* x_1; -x_1 = l_Lean_Meta_ProofBelow_instInhabitedVariables___closed__1; +x_1 = l_Lean_Meta_IndPredBelow_instInhabitedVariables___closed__1; return x_1; } } -lean_object* l_Lean_Meta_ProofBelow_mkContext_addMotives_match__1___rarg(lean_object* x_1, lean_object* x_2) { +lean_object* l_Lean_Meta_IndPredBelow_mkContext_addMotives_match__1___rarg(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; lean_object* x_4; lean_object* x_5; @@ -461,15 +462,15 @@ x_5 = lean_apply_2(x_2, x_3, x_4); return x_5; } } -lean_object* l_Lean_Meta_ProofBelow_mkContext_addMotives_match__1(lean_object* x_1) { +lean_object* l_Lean_Meta_IndPredBelow_mkContext_addMotives_match__1(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_Meta_ProofBelow_mkContext_addMotives_match__1___rarg), 2, 0); +x_2 = lean_alloc_closure((void*)(l_Lean_Meta_IndPredBelow_mkContext_addMotives_match__1___rarg), 2, 0); return x_2; } } -static lean_object* _init_l_Lean_Meta_ProofBelow_mkContext_motiveName___closed__1() { +static lean_object* _init_l_Lean_Meta_IndPredBelow_mkContext_motiveName___closed__1() { _start: { lean_object* x_1; @@ -477,17 +478,17 @@ x_1 = lean_mk_string("motive"); return x_1; } } -static lean_object* _init_l_Lean_Meta_ProofBelow_mkContext_motiveName___closed__2() { +static lean_object* _init_l_Lean_Meta_IndPredBelow_mkContext_motiveName___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Lean_Meta_ProofBelow_mkContext_motiveName___closed__1; +x_2 = l_Lean_Meta_IndPredBelow_mkContext_motiveName___closed__1; x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Meta_ProofBelow_mkContext_motiveName___closed__3() { +static lean_object* _init_l_Lean_Meta_IndPredBelow_mkContext_motiveName___closed__3() { _start: { lean_object* x_1; @@ -495,7 +496,7 @@ x_1 = lean_mk_string("motive_"); return x_1; } } -lean_object* l_Lean_Meta_ProofBelow_mkContext_motiveName(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +lean_object* l_Lean_Meta_IndPredBelow_mkContext_motiveName(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { lean_object* x_8; lean_object* x_9; uint8_t x_10; @@ -506,7 +507,7 @@ lean_dec(x_8); if (x_10 == 0) { lean_object* x_11; lean_object* x_12; -x_11 = l_Lean_Meta_ProofBelow_mkContext_motiveName___closed__2; +x_11 = l_Lean_Meta_IndPredBelow_mkContext_motiveName___closed__2; x_12 = l___private_Lean_CoreM_0__Lean_Core_mkFreshNameImp(x_11, x_5, x_6, x_7); return x_12; } @@ -515,7 +516,7 @@ else lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; x_13 = lean_nat_add(x_2, x_9); x_14 = l_Nat_repr(x_13); -x_15 = l_Lean_Meta_ProofBelow_mkContext_motiveName___closed__3; +x_15 = l_Lean_Meta_IndPredBelow_mkContext_motiveName___closed__3; x_16 = lean_string_append(x_15, x_14); lean_dec(x_14); x_17 = l_Lean_instInhabitedParserDescr___closed__1; @@ -527,11 +528,11 @@ return x_21; } } } -lean_object* l_Lean_Meta_ProofBelow_mkContext_motiveName___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +lean_object* l_Lean_Meta_IndPredBelow_mkContext_motiveName___boxed(lean_object* x_1, 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_ProofBelow_mkContext_motiveName(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +x_8 = l_Lean_Meta_IndPredBelow_mkContext_motiveName(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); @@ -541,7 +542,7 @@ lean_dec(x_1); return x_8; } } -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_Meta_ProofBelow_mkContext_addMotives___spec__1___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_Meta_IndPredBelow_mkContext_addMotives___spec__1___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { lean_object* x_10; uint8_t x_11; uint8_t x_12; lean_object* x_13; @@ -552,7 +553,7 @@ x_13 = l_Lean_Meta_mkForallFVars(x_10, x_3, x_11, x_12, x_5, x_6, x_7, x_8, x_9) return x_13; } } -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_Meta_ProofBelow_mkContext_addMotives___spec__1___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_Meta_IndPredBelow_mkContext_addMotives___spec__1___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; @@ -576,7 +577,7 @@ lean_inc(x_15); x_16 = lean_ctor_get(x_14, 1); lean_inc(x_16); lean_dec(x_14); -x_17 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_Meta_ProofBelow_mkContext_addMotives___spec__1___lambda__1___boxed), 9, 3); +x_17 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_Meta_IndPredBelow_mkContext_addMotives___spec__1___lambda__1___boxed), 9, 3); lean_closure_set(x_17, 0, x_4); lean_closure_set(x_17, 1, x_1); lean_closure_set(x_17, 2, x_5); @@ -616,7 +617,7 @@ return x_23; } } } -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_Meta_ProofBelow_mkContext_addMotives___spec__1(lean_object* x_1, lean_object* x_2, size_t x_3, size_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_Meta_IndPredBelow_mkContext_addMotives___spec__1(lean_object* x_1, lean_object* x_2, size_t x_3, size_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { uint8_t x_11; @@ -633,7 +634,7 @@ x_16 = lean_ctor_get(x_14, 1); lean_inc(x_16); lean_dec(x_14); lean_inc(x_1); -x_17 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_Meta_ProofBelow_mkContext_addMotives___spec__1___lambda__2), 10, 3); +x_17 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_Meta_IndPredBelow_mkContext_addMotives___spec__1___lambda__2), 10, 3); lean_closure_set(x_17, 0, x_1); lean_closure_set(x_17, 1, x_16); lean_closure_set(x_17, 2, x_15); @@ -698,7 +699,7 @@ return x_26; } } } -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_Meta_ProofBelow_mkContext_addMotives___spec__2(lean_object* x_1, lean_object* x_2, size_t x_3, size_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_Meta_IndPredBelow_mkContext_addMotives___spec__2(lean_object* x_1, lean_object* x_2, size_t x_3, size_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { uint8_t x_11; @@ -715,7 +716,7 @@ x_16 = lean_ctor_get(x_14, 1); lean_inc(x_16); lean_dec(x_14); lean_inc(x_1); -x_17 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_Meta_ProofBelow_mkContext_addMotives___spec__1___lambda__2), 10, 3); +x_17 = lean_alloc_closure((void*)(l_Array_foldrMUnsafe_fold___at_Lean_Meta_IndPredBelow_mkContext_addMotives___spec__1___lambda__2), 10, 3); lean_closure_set(x_17, 0, x_1); lean_closure_set(x_17, 1, x_16); lean_closure_set(x_17, 2, x_15); @@ -780,7 +781,7 @@ return x_26; } } } -lean_object* l_Lean_Meta_ProofBelow_mkContext_addMotives(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +lean_object* l_Lean_Meta_IndPredBelow_mkContext_addMotives(lean_object* x_1, lean_object* x_2, 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; @@ -811,7 +812,7 @@ size_t x_14; size_t x_15; lean_object* x_16; x_14 = lean_usize_of_nat(x_9); lean_dec(x_9); x_15 = 0; -x_16 = l_Array_foldrMUnsafe_fold___at_Lean_Meta_ProofBelow_mkContext_addMotives___spec__1(x_2, x_1, x_14, x_15, x_3, x_4, x_5, x_6, x_7, x_8); +x_16 = l_Array_foldrMUnsafe_fold___at_Lean_Meta_IndPredBelow_mkContext_addMotives___spec__1(x_2, x_1, x_14, x_15, x_3, x_4, x_5, x_6, x_7, x_8); return x_16; } } @@ -840,17 +841,17 @@ size_t x_20; size_t x_21; lean_object* x_22; x_20 = lean_usize_of_nat(x_9); lean_dec(x_9); x_21 = 0; -x_22 = l_Array_foldrMUnsafe_fold___at_Lean_Meta_ProofBelow_mkContext_addMotives___spec__2(x_2, x_1, x_20, x_21, x_3, x_4, x_5, x_6, x_7, x_8); +x_22 = l_Array_foldrMUnsafe_fold___at_Lean_Meta_IndPredBelow_mkContext_addMotives___spec__2(x_2, x_1, x_20, x_21, x_3, x_4, x_5, x_6, x_7, x_8); return x_22; } } } } -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_Meta_ProofBelow_mkContext_addMotives___spec__1___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_Meta_IndPredBelow_mkContext_addMotives___spec__1___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { lean_object* x_10; -x_10 = l_Array_foldrMUnsafe_fold___at_Lean_Meta_ProofBelow_mkContext_addMotives___spec__1___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +x_10 = l_Array_foldrMUnsafe_fold___at_Lean_Meta_IndPredBelow_mkContext_addMotives___spec__1___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); @@ -858,7 +859,7 @@ lean_dec(x_2); return x_10; } } -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_Meta_ProofBelow_mkContext_addMotives___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* l_Array_foldrMUnsafe_fold___at_Lean_Meta_IndPredBelow_mkContext_addMotives___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: { size_t x_11; size_t x_12; lean_object* x_13; @@ -866,12 +867,12 @@ x_11 = lean_unbox_usize(x_3); lean_dec(x_3); x_12 = lean_unbox_usize(x_4); lean_dec(x_4); -x_13 = l_Array_foldrMUnsafe_fold___at_Lean_Meta_ProofBelow_mkContext_addMotives___spec__1(x_1, x_2, x_11, x_12, x_5, x_6, x_7, x_8, x_9, x_10); +x_13 = l_Array_foldrMUnsafe_fold___at_Lean_Meta_IndPredBelow_mkContext_addMotives___spec__1(x_1, x_2, x_11, x_12, x_5, x_6, x_7, x_8, x_9, x_10); lean_dec(x_2); return x_13; } } -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_Meta_ProofBelow_mkContext_addMotives___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_Meta_IndPredBelow_mkContext_addMotives___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { size_t x_11; size_t x_12; lean_object* x_13; @@ -879,21 +880,21 @@ x_11 = lean_unbox_usize(x_3); lean_dec(x_3); x_12 = lean_unbox_usize(x_4); lean_dec(x_4); -x_13 = l_Array_foldrMUnsafe_fold___at_Lean_Meta_ProofBelow_mkContext_addMotives___spec__2(x_1, x_2, x_11, x_12, x_5, x_6, x_7, x_8, x_9, x_10); +x_13 = l_Array_foldrMUnsafe_fold___at_Lean_Meta_IndPredBelow_mkContext_addMotives___spec__2(x_1, x_2, x_11, x_12, x_5, x_6, x_7, x_8, x_9, x_10); lean_dec(x_2); return x_13; } } -lean_object* l_Lean_Meta_ProofBelow_mkContext_addMotives___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +lean_object* l_Lean_Meta_IndPredBelow_mkContext_addMotives___boxed(lean_object* x_1, lean_object* x_2, 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_ProofBelow_mkContext_addMotives(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +x_9 = l_Lean_Meta_IndPredBelow_mkContext_addMotives(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); lean_dec(x_1); return x_9; } } -lean_object* l_Lean_Meta_ProofBelow_mkContext_mkIndValConst(lean_object* x_1) { +lean_object* l_Lean_Meta_IndPredBelow_mkContext_mkIndValConst(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; @@ -910,7 +911,7 @@ x_6 = l_Lean_mkConst(x_3, x_5); return x_6; } } -lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkContext_mkHeader___spec__1(size_t x_1, size_t x_2, lean_object* x_3) { +lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkContext_mkHeader___spec__1(size_t x_1, size_t x_2, lean_object* x_3) { _start: { uint8_t x_4; @@ -945,7 +946,7 @@ goto _start; } } } -lean_object* l_Lean_Meta_withNewBinderInfos___at_Lean_Meta_ProofBelow_mkContext_mkHeader___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* l_Lean_Meta_withNewBinderInfos___at_Lean_Meta_IndPredBelow_mkContext_mkHeader___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) { _start: { lean_object* x_8; @@ -996,15 +997,15 @@ return x_16; } } } -lean_object* l_Lean_Meta_withNewBinderInfos___at_Lean_Meta_ProofBelow_mkContext_mkHeader___spec__2(lean_object* x_1) { +lean_object* l_Lean_Meta_withNewBinderInfos___at_Lean_Meta_IndPredBelow_mkContext_mkHeader___spec__2(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_Meta_withNewBinderInfos___at_Lean_Meta_ProofBelow_mkContext_mkHeader___spec__2___rarg___boxed), 7, 0); +x_2 = lean_alloc_closure((void*)(l_Lean_Meta_withNewBinderInfos___at_Lean_Meta_IndPredBelow_mkContext_mkHeader___spec__2___rarg___boxed), 7, 0); return x_2; } } -lean_object* l_Lean_Meta_forallTelescope___at_Lean_Meta_ProofBelow_mkContext_mkHeader___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* l_Lean_Meta_forallTelescope___at_Lean_Meta_IndPredBelow_mkContext_mkHeader___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) { _start: { lean_object* x_8; uint8_t x_9; lean_object* x_10; @@ -1057,19 +1058,19 @@ return x_18; } } } -lean_object* l_Lean_Meta_forallTelescope___at_Lean_Meta_ProofBelow_mkContext_mkHeader___spec__3(lean_object* x_1) { +lean_object* l_Lean_Meta_forallTelescope___at_Lean_Meta_IndPredBelow_mkContext_mkHeader___spec__3(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_Meta_forallTelescope___at_Lean_Meta_ProofBelow_mkContext_mkHeader___spec__3___rarg), 7, 0); +x_2 = lean_alloc_closure((void*)(l_Lean_Meta_forallTelescope___at_Lean_Meta_IndPredBelow_mkContext_mkHeader___spec__3___rarg), 7, 0); return x_2; } } -lean_object* l_Lean_Meta_ProofBelow_mkContext_mkHeader___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +lean_object* l_Lean_Meta_IndPredBelow_mkContext_mkHeader___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; size_t x_15; size_t 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; lean_object* x_23; lean_object* x_24; lean_object* x_25; -x_9 = l_Lean_Meta_ProofBelow_mkContext_mkIndValConst(x_1); +x_9 = l_Lean_Meta_IndPredBelow_mkContext_mkIndValConst(x_1); x_10 = l_Lean_mkAppN(x_9, x_2); x_11 = l_Lean_Meta_mkArrow(x_10, x_3, x_4, x_5, x_6, x_7, x_8); x_12 = lean_ctor_get(x_11, 0); @@ -1083,7 +1084,7 @@ lean_dec(x_14); x_16 = 0; lean_inc(x_2); x_17 = x_2; -x_18 = l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkContext_mkHeader___spec__1(x_15, x_16, x_17); +x_18 = l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkContext_mkHeader___spec__1(x_15, x_16, x_17); x_19 = x_18; x_20 = 0; x_21 = 1; @@ -1094,12 +1095,12 @@ lean_closure_set(x_24, 0, x_2); lean_closure_set(x_24, 1, x_12); lean_closure_set(x_24, 2, x_22); lean_closure_set(x_24, 3, x_23); -x_25 = l_Lean_Meta_withNewBinderInfos___at_Lean_Meta_ProofBelow_mkContext_mkHeader___spec__2___rarg(x_19, x_24, x_4, x_5, x_6, x_7, x_13); +x_25 = l_Lean_Meta_withNewBinderInfos___at_Lean_Meta_IndPredBelow_mkContext_mkHeader___spec__2___rarg(x_19, x_24, x_4, x_5, x_6, x_7, x_13); lean_dec(x_19); return x_25; } } -lean_object* l_Lean_Meta_ProofBelow_mkContext_mkHeader(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +lean_object* l_Lean_Meta_IndPredBelow_mkContext_mkHeader(lean_object* x_1, lean_object* x_2, 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; @@ -1108,13 +1109,13 @@ lean_inc(x_9); x_10 = lean_ctor_get(x_9, 2); lean_inc(x_10); lean_dec(x_9); -x_11 = lean_alloc_closure((void*)(l_Lean_Meta_ProofBelow_mkContext_mkHeader___lambda__1), 8, 1); +x_11 = lean_alloc_closure((void*)(l_Lean_Meta_IndPredBelow_mkContext_mkHeader___lambda__1), 8, 1); lean_closure_set(x_11, 0, x_3); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -x_12 = l_Lean_Meta_forallTelescope___at_Lean_Meta_ProofBelow_mkContext_mkHeader___spec__3___rarg(x_10, x_11, x_4, x_5, x_6, x_7, x_8); +x_12 = l_Lean_Meta_forallTelescope___at_Lean_Meta_IndPredBelow_mkContext_mkHeader___spec__3___rarg(x_10, x_11, x_4, x_5, x_6, x_7, x_8); if (lean_obj_tag(x_12) == 0) { lean_object* x_13; lean_object* x_14; lean_object* x_15; @@ -1123,7 +1124,7 @@ lean_inc(x_13); x_14 = lean_ctor_get(x_12, 1); lean_inc(x_14); lean_dec(x_12); -x_15 = l_Lean_Meta_ProofBelow_mkContext_addMotives(x_1, x_2, x_13, x_4, x_5, x_6, x_7, x_14); +x_15 = l_Lean_Meta_IndPredBelow_mkContext_addMotives(x_1, x_2, x_13, x_4, x_5, x_6, x_7, x_14); return x_15; } else @@ -1155,7 +1156,7 @@ return x_19; } } } -lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkContext_mkHeader___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkContext_mkHeader___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { size_t x_4; size_t x_5; lean_object* x_6; @@ -1163,33 +1164,33 @@ x_4 = lean_unbox_usize(x_1); lean_dec(x_1); x_5 = lean_unbox_usize(x_2); lean_dec(x_2); -x_6 = l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkContext_mkHeader___spec__1(x_4, x_5, x_3); +x_6 = l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkContext_mkHeader___spec__1(x_4, x_5, x_3); return x_6; } } -lean_object* l_Lean_Meta_withNewBinderInfos___at_Lean_Meta_ProofBelow_mkContext_mkHeader___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* l_Lean_Meta_withNewBinderInfos___at_Lean_Meta_IndPredBelow_mkContext_mkHeader___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) { _start: { lean_object* x_8; -x_8 = l_Lean_Meta_withNewBinderInfos___at_Lean_Meta_ProofBelow_mkContext_mkHeader___spec__2___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +x_8 = l_Lean_Meta_withNewBinderInfos___at_Lean_Meta_IndPredBelow_mkContext_mkHeader___spec__2___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7); lean_dec(x_1); return x_8; } } -lean_object* l_Lean_Meta_ProofBelow_mkContext_mkHeader___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +lean_object* l_Lean_Meta_IndPredBelow_mkContext_mkHeader___boxed(lean_object* x_1, lean_object* x_2, 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_ProofBelow_mkContext_mkHeader(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +x_9 = l_Lean_Meta_IndPredBelow_mkContext_mkHeader(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); lean_dec(x_1); return x_9; } } -lean_object* l_Lean_Meta_ProofBelow_mkContext_motiveType___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +lean_object* l_Lean_Meta_IndPredBelow_mkContext_motiveType___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; uint8_t x_15; uint8_t x_16; lean_object* x_17; -x_9 = l_Lean_Meta_ProofBelow_mkContext_mkIndValConst(x_1); +x_9 = l_Lean_Meta_IndPredBelow_mkContext_mkIndValConst(x_1); x_10 = l_Lean_mkAppN(x_9, x_2); x_11 = l_Lean_Expr_getAppArgs___closed__1; x_12 = l_Lean_Meta_mkArrow(x_10, x_11, x_4, x_5, x_6, x_7, x_8); @@ -1204,7 +1205,7 @@ x_17 = l_Lean_Meta_mkForallFVars(x_2, x_13, x_15, x_16, x_4, x_5, x_6, x_7, x_14 return x_17; } } -lean_object* l_Lean_Meta_ProofBelow_mkContext_motiveType(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +lean_object* l_Lean_Meta_IndPredBelow_mkContext_motiveType(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; @@ -1213,17 +1214,17 @@ lean_inc(x_7); x_8 = lean_ctor_get(x_7, 2); lean_inc(x_8); lean_dec(x_7); -x_9 = lean_alloc_closure((void*)(l_Lean_Meta_ProofBelow_mkContext_motiveType___lambda__1___boxed), 8, 1); +x_9 = lean_alloc_closure((void*)(l_Lean_Meta_IndPredBelow_mkContext_motiveType___lambda__1___boxed), 8, 1); lean_closure_set(x_9, 0, x_1); x_10 = l_Lean_Meta_forallTelescope___at___private_Lean_Meta_InferType_0__Lean_Meta_inferForallType___spec__2___rarg(x_8, x_9, x_2, x_3, x_4, x_5, x_6); return x_10; } } -lean_object* l_Lean_Meta_ProofBelow_mkContext_motiveType___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +lean_object* l_Lean_Meta_IndPredBelow_mkContext_motiveType___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { lean_object* x_9; -x_9 = l_Lean_Meta_ProofBelow_mkContext_motiveType___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +x_9 = l_Lean_Meta_IndPredBelow_mkContext_motiveType___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); @@ -1231,7 +1232,7 @@ lean_dec(x_3); return x_9; } } -lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkContext___spec__1(size_t x_1, size_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkContext___spec__1(size_t x_1, size_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { uint8_t x_9; @@ -1296,7 +1297,7 @@ return x_27; } } } -lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkContext___spec__2(size_t x_1, size_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkContext___spec__2(size_t x_1, size_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { uint8_t x_9; @@ -1325,7 +1326,7 @@ lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -x_16 = l_Lean_Meta_ProofBelow_mkContext_motiveType(x_15, x_4, x_5, x_6, x_7, x_8); +x_16 = l_Lean_Meta_IndPredBelow_mkContext_motiveType(x_15, x_4, x_5, x_6, x_7, x_8); if (lean_obj_tag(x_16) == 0) { lean_object* x_17; lean_object* x_18; size_t x_19; size_t x_20; lean_object* x_21; lean_object* x_22; @@ -1373,7 +1374,7 @@ return x_27; } } } -lean_object* l_Array_mapIdxM_map___at_Lean_Meta_ProofBelow_mkContext___spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +lean_object* l_Array_mapIdxM_map___at_Lean_Meta_IndPredBelow_mkContext___spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { lean_object* x_12; uint8_t x_13; @@ -1386,7 +1387,7 @@ x_14 = lean_unsigned_to_nat(1u); x_15 = lean_nat_sub(x_3, x_14); lean_dec(x_3); x_16 = lean_array_fget(x_2, x_4); -x_17 = l_Lean_Meta_ProofBelow_mkContext_motiveName(x_1, x_4, x_7, x_8, x_9, x_10, x_11); +x_17 = l_Lean_Meta_IndPredBelow_mkContext_motiveName(x_1, x_4, x_7, x_8, x_9, x_10, x_11); x_18 = lean_ctor_get(x_17, 0); lean_inc(x_18); x_19 = lean_ctor_get(x_17, 1); @@ -1417,7 +1418,7 @@ return x_24; } } } -lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkContext___spec__4(lean_object* x_1, lean_object* x_2, size_t x_3, size_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkContext___spec__4(lean_object* x_1, lean_object* x_2, size_t x_3, size_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { lean_object* x_11; uint8_t x_12; @@ -1450,7 +1451,7 @@ lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); -x_19 = l_Lean_Meta_ProofBelow_mkContext_mkHeader(x_2, x_11, x_18, x_6, x_7, x_8, x_9, x_10); +x_19 = l_Lean_Meta_IndPredBelow_mkContext_mkHeader(x_2, x_11, x_18, x_6, x_7, x_8, x_9, x_10); if (lean_obj_tag(x_19) == 0) { lean_object* x_20; lean_object* x_21; size_t x_22; size_t x_23; lean_object* x_24; lean_object* x_25; @@ -1499,48 +1500,56 @@ return x_30; } } } -static lean_object* _init_l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkContext___spec__5___closed__1() { +static lean_object* _init_l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkContext___spec__5___closed__1() { _start: { lean_object* x_1; -x_1 = lean_mk_string("ProofBelow"); +x_1 = lean_mk_string("below"); return x_1; } } -lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkContext___spec__5(size_t x_1, size_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +static lean_object* _init_l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkContext___spec__5___closed__2() { _start: { -uint8_t x_9; -x_9 = x_2 < x_1; -if (x_9 == 0) +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkContext___spec__5___closed__1; +x_3 = lean_name_mk_string(x_1, x_2); +return x_3; +} +} +lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkContext___spec__5(size_t x_1, size_t x_2, lean_object* x_3) { +_start: { -lean_object* x_10; lean_object* x_11; -x_10 = x_3; -x_11 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_11, 0, x_10); -lean_ctor_set(x_11, 1, x_8); -return x_11; +uint8_t x_4; +x_4 = x_2 < x_1; +if (x_4 == 0) +{ +lean_object* x_5; +x_5 = x_3; +return x_5; } else { -lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; size_t x_18; size_t x_19; lean_object* x_20; lean_object* x_21; -x_12 = lean_array_uget(x_3, x_2); -x_13 = lean_unsigned_to_nat(0u); -x_14 = lean_array_uset(x_3, x_2, x_13); -x_15 = x_12; -x_16 = l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkContext___spec__5___closed__1; -x_17 = l_Lean_Name_appendAfter(x_15, x_16); -x_18 = 1; -x_19 = x_2 + x_18; -x_20 = x_17; -x_21 = lean_array_uset(x_14, x_2, x_20); -x_2 = x_19; -x_3 = x_21; +lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; size_t x_12; size_t x_13; lean_object* x_14; lean_object* x_15; +x_6 = lean_array_uget(x_3, x_2); +x_7 = lean_unsigned_to_nat(0u); +x_8 = lean_array_uset(x_3, x_2, x_7); +x_9 = x_6; +x_10 = l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkContext___spec__5___closed__2; +x_11 = l_Lean_Name_append(x_9, x_10); +lean_dec(x_9); +x_12 = 1; +x_13 = x_2 + x_12; +x_14 = x_11; +x_15 = lean_array_uset(x_8, x_2, x_14); +x_2 = x_13; +x_3 = x_15; goto _start; } } } -static lean_object* _init_l_Lean_Meta_ProofBelow_mkContext___boxed__const__1() { +static lean_object* _init_l_Lean_Meta_IndPredBelow_mkContext___boxed__const__1() { _start: { size_t x_1; lean_object* x_2; @@ -1549,14 +1558,14 @@ x_2 = lean_box_usize(x_1); return x_2; } } -lean_object* l_Lean_Meta_ProofBelow_mkContext(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +lean_object* l_Lean_Meta_IndPredBelow_mkContext(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { lean_object* x_7; x_7 = l_Lean_getConstInfoInduct___at___private_Lean_Meta_RecursorInfo_0__Lean_Meta_mkRecursorInfoForKernelRec___spec__1(x_1, x_2, x_3, x_4, x_5, x_6); if (lean_obj_tag(x_7) == 0) { -lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; size_t x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; +lean_object* x_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; size_t x_15; size_t 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_8 = lean_ctor_get(x_7, 0); lean_inc(x_8); x_9 = lean_ctor_get(x_7, 1); @@ -1571,281 +1580,235 @@ x_13 = l_List_toArrayAux___rarg(x_10, x_12); x_14 = lean_array_get_size(x_13); x_15 = lean_usize_of_nat(x_14); lean_dec(x_14); -x_16 = x_13; -x_17 = lean_box_usize(x_15); -x_18 = l_Lean_Meta_ProofBelow_mkContext___boxed__const__1; -lean_inc(x_16); -x_19 = lean_alloc_closure((void*)(l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkContext___spec__1___boxed), 8, 3); -lean_closure_set(x_19, 0, x_17); -lean_closure_set(x_19, 1, x_18); -lean_closure_set(x_19, 2, x_16); -x_20 = x_19; +x_16 = 0; +x_17 = x_13; +x_18 = lean_box_usize(x_15); +x_19 = l_Lean_Meta_IndPredBelow_mkContext___boxed__const__1; +lean_inc(x_17); +x_20 = lean_alloc_closure((void*)(l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkContext___spec__1___boxed), 8, 3); +lean_closure_set(x_20, 0, x_18); +lean_closure_set(x_20, 1, x_19); +lean_closure_set(x_20, 2, x_17); +x_21 = x_20; lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); lean_inc(x_2); -x_21 = lean_apply_5(x_20, x_2, x_3, x_4, x_5, x_9); -if (lean_obj_tag(x_21) == 0) +x_22 = lean_apply_5(x_21, x_2, x_3, x_4, x_5, x_9); +if (lean_obj_tag(x_22) == 0) { -lean_object* x_22; lean_object* x_23; lean_object* x_24; size_t x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; -x_22 = lean_ctor_get(x_21, 0); -lean_inc(x_22); -x_23 = lean_ctor_get(x_21, 1); +lean_object* x_23; lean_object* x_24; lean_object* x_25; size_t x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; +x_23 = lean_ctor_get(x_22, 0); lean_inc(x_23); -lean_dec(x_21); -x_24 = lean_array_get_size(x_22); -x_25 = lean_usize_of_nat(x_24); -lean_dec(x_24); -lean_inc(x_22); -x_26 = x_22; -x_27 = lean_box_usize(x_25); -x_28 = l_Lean_Meta_ProofBelow_mkContext___boxed__const__1; -lean_inc(x_26); -x_29 = lean_alloc_closure((void*)(l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkContext___spec__2___boxed), 8, 3); -lean_closure_set(x_29, 0, x_27); -lean_closure_set(x_29, 1, x_28); -lean_closure_set(x_29, 2, x_26); -x_30 = x_29; +x_24 = lean_ctor_get(x_22, 1); +lean_inc(x_24); +lean_dec(x_22); +x_25 = lean_array_get_size(x_23); +x_26 = lean_usize_of_nat(x_25); +lean_dec(x_25); +lean_inc(x_23); +x_27 = x_23; +x_28 = lean_box_usize(x_26); +x_29 = l_Lean_Meta_IndPredBelow_mkContext___boxed__const__1; +lean_inc(x_27); +x_30 = lean_alloc_closure((void*)(l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkContext___spec__2___boxed), 8, 3); +lean_closure_set(x_30, 0, x_28); +lean_closure_set(x_30, 1, x_29); +lean_closure_set(x_30, 2, x_27); +x_31 = x_30; lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); lean_inc(x_2); -x_31 = lean_apply_5(x_30, x_2, x_3, x_4, x_5, x_23); -if (lean_obj_tag(x_31) == 0) +x_32 = lean_apply_5(x_31, x_2, x_3, x_4, x_5, x_24); +if (lean_obj_tag(x_32) == 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; lean_object* x_43; lean_object* x_44; lean_object* x_45; -x_32 = lean_ctor_get(x_31, 0); -lean_inc(x_32); -x_33 = lean_ctor_get(x_31, 1); +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; +x_33 = lean_ctor_get(x_32, 0); lean_inc(x_33); -lean_dec(x_31); -x_34 = lean_array_get_size(x_32); -x_35 = lean_mk_empty_array_with_capacity(x_34); -x_36 = lean_unsigned_to_nat(0u); -x_37 = l_Array_mapIdxM_map___at_Lean_Meta_ProofBelow_mkContext___spec__3(x_32, x_32, x_34, x_36, lean_box(0), x_35, x_2, x_3, x_4, x_5, x_33); +x_34 = lean_ctor_get(x_32, 1); +lean_inc(x_34); lean_dec(x_32); -x_38 = lean_ctor_get(x_37, 0); -lean_inc(x_38); -x_39 = lean_ctor_get(x_37, 1); +x_35 = lean_array_get_size(x_33); +x_36 = lean_mk_empty_array_with_capacity(x_35); +x_37 = lean_unsigned_to_nat(0u); +x_38 = l_Array_mapIdxM_map___at_Lean_Meta_IndPredBelow_mkContext___spec__3(x_33, x_33, x_35, x_37, lean_box(0), x_36, x_2, x_3, x_4, x_5, x_34); +lean_dec(x_33); +x_39 = lean_ctor_get(x_38, 0); lean_inc(x_39); -lean_dec(x_37); -x_40 = lean_ctor_get(x_8, 1); +x_40 = lean_ctor_get(x_38, 1); lean_inc(x_40); -x_41 = lean_box_usize(x_25); -x_42 = l_Lean_Meta_ProofBelow_mkContext___boxed__const__1; -lean_inc(x_38); -x_43 = lean_alloc_closure((void*)(l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkContext___spec__4___boxed), 10, 5); -lean_closure_set(x_43, 0, x_8); -lean_closure_set(x_43, 1, x_38); -lean_closure_set(x_43, 2, x_41); -lean_closure_set(x_43, 3, x_42); -lean_closure_set(x_43, 4, x_26); -x_44 = x_43; -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -x_45 = lean_apply_5(x_44, x_2, x_3, x_4, x_5, x_39); -if (lean_obj_tag(x_45) == 0) +lean_dec(x_38); +x_41 = lean_ctor_get(x_8, 1); +lean_inc(x_41); +x_42 = lean_box_usize(x_26); +x_43 = l_Lean_Meta_IndPredBelow_mkContext___boxed__const__1; +lean_inc(x_39); +x_44 = lean_alloc_closure((void*)(l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkContext___spec__4___boxed), 10, 5); +lean_closure_set(x_44, 0, x_8); +lean_closure_set(x_44, 1, x_39); +lean_closure_set(x_44, 2, x_42); +lean_closure_set(x_44, 3, x_43); +lean_closure_set(x_44, 4, x_27); +x_45 = x_44; +x_46 = lean_apply_5(x_45, x_2, x_3, x_4, x_5, x_40); +if (lean_obj_tag(x_46) == 0) { -lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; -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_box_usize(x_15); -x_49 = l_Lean_Meta_ProofBelow_mkContext___boxed__const__1; -x_50 = lean_alloc_closure((void*)(l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkContext___spec__5___boxed), 8, 3); -lean_closure_set(x_50, 0, x_48); -lean_closure_set(x_50, 1, x_49); -lean_closure_set(x_50, 2, x_16); -x_51 = x_50; -x_52 = lean_apply_5(x_51, x_2, x_3, x_4, x_5, x_47); -if (lean_obj_tag(x_52) == 0) +uint8_t x_47; +x_47 = !lean_is_exclusive(x_46); +if (x_47 == 0) { -uint8_t x_53; -x_53 = !lean_is_exclusive(x_52); -if (x_53 == 0) -{ -lean_object* x_54; lean_object* x_55; -x_54 = lean_ctor_get(x_52, 0); -x_55 = lean_alloc_ctor(0, 5, 0); -lean_ctor_set(x_55, 0, x_38); -lean_ctor_set(x_55, 1, x_22); -lean_ctor_set(x_55, 2, x_54); -lean_ctor_set(x_55, 3, x_46); -lean_ctor_set(x_55, 4, x_40); -lean_ctor_set(x_52, 0, x_55); -return x_52; +lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; +x_48 = lean_ctor_get(x_46, 0); +x_49 = l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkContext___spec__5(x_15, x_16, x_17); +x_50 = x_49; +x_51 = lean_alloc_ctor(0, 5, 0); +lean_ctor_set(x_51, 0, x_39); +lean_ctor_set(x_51, 1, x_23); +lean_ctor_set(x_51, 2, x_50); +lean_ctor_set(x_51, 3, x_48); +lean_ctor_set(x_51, 4, x_41); +lean_ctor_set(x_46, 0, x_51); +return x_46; } else { -lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; -x_56 = lean_ctor_get(x_52, 0); -x_57 = lean_ctor_get(x_52, 1); -lean_inc(x_57); -lean_inc(x_56); -lean_dec(x_52); -x_58 = lean_alloc_ctor(0, 5, 0); -lean_ctor_set(x_58, 0, x_38); -lean_ctor_set(x_58, 1, x_22); -lean_ctor_set(x_58, 2, x_56); -lean_ctor_set(x_58, 3, x_46); -lean_ctor_set(x_58, 4, x_40); -x_59 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_59, 0, x_58); -lean_ctor_set(x_59, 1, x_57); -return x_59; -} -} -else -{ -uint8_t x_60; +lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; +x_52 = lean_ctor_get(x_46, 0); +x_53 = lean_ctor_get(x_46, 1); +lean_inc(x_53); +lean_inc(x_52); lean_dec(x_46); -lean_dec(x_40); -lean_dec(x_38); -lean_dec(x_22); -x_60 = !lean_is_exclusive(x_52); -if (x_60 == 0) -{ -return x_52; +x_54 = l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkContext___spec__5(x_15, x_16, x_17); +x_55 = x_54; +x_56 = lean_alloc_ctor(0, 5, 0); +lean_ctor_set(x_56, 0, x_39); +lean_ctor_set(x_56, 1, x_23); +lean_ctor_set(x_56, 2, x_55); +lean_ctor_set(x_56, 3, x_52); +lean_ctor_set(x_56, 4, x_41); +x_57 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_57, 0, x_56); +lean_ctor_set(x_57, 1, x_53); +return x_57; +} } else { -lean_object* x_61; lean_object* x_62; lean_object* x_63; -x_61 = lean_ctor_get(x_52, 0); -x_62 = lean_ctor_get(x_52, 1); -lean_inc(x_62); -lean_inc(x_61); -lean_dec(x_52); -x_63 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_63, 0, x_61); -lean_ctor_set(x_63, 1, x_62); -return x_63; +uint8_t x_58; +lean_dec(x_41); +lean_dec(x_39); +lean_dec(x_23); +lean_dec(x_17); +x_58 = !lean_is_exclusive(x_46); +if (x_58 == 0) +{ +return x_46; +} +else +{ +lean_object* x_59; lean_object* x_60; lean_object* x_61; +x_59 = lean_ctor_get(x_46, 0); +x_60 = lean_ctor_get(x_46, 1); +lean_inc(x_60); +lean_inc(x_59); +lean_dec(x_46); +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_64; -lean_dec(x_40); -lean_dec(x_38); -lean_dec(x_22); -lean_dec(x_16); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_64 = !lean_is_exclusive(x_45); -if (x_64 == 0) -{ -return x_45; -} -else -{ -lean_object* x_65; lean_object* x_66; lean_object* x_67; -x_65 = lean_ctor_get(x_45, 0); -x_66 = lean_ctor_get(x_45, 1); -lean_inc(x_66); -lean_inc(x_65); -lean_dec(x_45); -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_68; -lean_dec(x_26); -lean_dec(x_22); -lean_dec(x_16); +uint8_t x_62; +lean_dec(x_27); +lean_dec(x_23); +lean_dec(x_17); lean_dec(x_8); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_68 = !lean_is_exclusive(x_31); -if (x_68 == 0) +x_62 = !lean_is_exclusive(x_32); +if (x_62 == 0) { -return x_31; +return x_32; } else { -lean_object* x_69; lean_object* x_70; lean_object* x_71; -x_69 = lean_ctor_get(x_31, 0); -x_70 = lean_ctor_get(x_31, 1); -lean_inc(x_70); -lean_inc(x_69); -lean_dec(x_31); -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; +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_72; -lean_dec(x_16); +uint8_t x_66; +lean_dec(x_17); lean_dec(x_8); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_72 = !lean_is_exclusive(x_21); -if (x_72 == 0) +x_66 = !lean_is_exclusive(x_22); +if (x_66 == 0) { -return x_21; +return x_22; } else { -lean_object* x_73; lean_object* x_74; lean_object* x_75; -x_73 = lean_ctor_get(x_21, 0); -x_74 = lean_ctor_get(x_21, 1); -lean_inc(x_74); -lean_inc(x_73); -lean_dec(x_21); -x_75 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_75, 0, x_73); -lean_ctor_set(x_75, 1, x_74); -return x_75; +lean_object* x_67; lean_object* x_68; lean_object* x_69; +x_67 = lean_ctor_get(x_22, 0); +x_68 = lean_ctor_get(x_22, 1); +lean_inc(x_68); +lean_inc(x_67); +lean_dec(x_22); +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_76; +uint8_t x_70; lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_76 = !lean_is_exclusive(x_7); -if (x_76 == 0) +x_70 = !lean_is_exclusive(x_7); +if (x_70 == 0) { return x_7; } else { -lean_object* x_77; lean_object* x_78; lean_object* x_79; -x_77 = lean_ctor_get(x_7, 0); -x_78 = lean_ctor_get(x_7, 1); -lean_inc(x_78); -lean_inc(x_77); +lean_object* x_71; lean_object* x_72; lean_object* x_73; +x_71 = lean_ctor_get(x_7, 0); +x_72 = lean_ctor_get(x_7, 1); +lean_inc(x_72); +lean_inc(x_71); lean_dec(x_7); -x_79 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_79, 0, x_77); -lean_ctor_set(x_79, 1, x_78); -return x_79; +x_73 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_73, 0, x_71); +lean_ctor_set(x_73, 1, x_72); +return x_73; } } } } -lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkContext___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* l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkContext___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { size_t x_9; size_t x_10; lean_object* x_11; @@ -1853,7 +1816,7 @@ x_9 = lean_unbox_usize(x_1); lean_dec(x_1); x_10 = lean_unbox_usize(x_2); lean_dec(x_2); -x_11 = l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkContext___spec__1(x_9, x_10, x_3, x_4, x_5, x_6, x_7, x_8); +x_11 = l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkContext___spec__1(x_9, x_10, x_3, x_4, x_5, x_6, x_7, x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); @@ -1861,7 +1824,7 @@ lean_dec(x_4); return x_11; } } -lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkContext___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkContext___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { size_t x_9; size_t x_10; lean_object* x_11; @@ -1869,15 +1832,15 @@ x_9 = lean_unbox_usize(x_1); lean_dec(x_1); x_10 = lean_unbox_usize(x_2); lean_dec(x_2); -x_11 = l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkContext___spec__2(x_9, x_10, x_3, x_4, x_5, x_6, x_7, x_8); +x_11 = l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkContext___spec__2(x_9, x_10, x_3, x_4, x_5, x_6, x_7, x_8); return x_11; } } -lean_object* l_Array_mapIdxM_map___at_Lean_Meta_ProofBelow_mkContext___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* l_Array_mapIdxM_map___at_Lean_Meta_IndPredBelow_mkContext___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) { _start: { lean_object* x_12; -x_12 = l_Array_mapIdxM_map___at_Lean_Meta_ProofBelow_mkContext___spec__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 = l_Array_mapIdxM_map___at_Lean_Meta_IndPredBelow_mkContext___spec__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_10); lean_dec(x_9); lean_dec(x_8); @@ -1887,7 +1850,7 @@ lean_dec(x_1); return x_12; } } -lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkContext___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* l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkContext___spec__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { size_t x_11; size_t x_12; lean_object* x_13; @@ -1895,28 +1858,24 @@ x_11 = lean_unbox_usize(x_3); lean_dec(x_3); x_12 = lean_unbox_usize(x_4); lean_dec(x_4); -x_13 = l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkContext___spec__4(x_1, x_2, x_11, x_12, x_5, x_6, x_7, x_8, x_9, x_10); +x_13 = l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkContext___spec__4(x_1, x_2, x_11, x_12, x_5, x_6, x_7, x_8, x_9, x_10); lean_dec(x_2); return x_13; } } -lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkContext___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* l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkContext___spec__5___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { -size_t x_9; size_t x_10; lean_object* x_11; -x_9 = lean_unbox_usize(x_1); +size_t x_4; size_t x_5; lean_object* x_6; +x_4 = lean_unbox_usize(x_1); lean_dec(x_1); -x_10 = lean_unbox_usize(x_2); +x_5 = lean_unbox_usize(x_2); lean_dec(x_2); -x_11 = l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkContext___spec__5(x_9, x_10, 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); -return x_11; +x_6 = l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkContext___spec__5(x_4, x_5, x_3); +return x_6; } } -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_checkCount_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_checkCount_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { if (lean_obj_tag(x_1) == 0) @@ -1938,15 +1897,15 @@ return x_6; } } } -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_checkCount_match__1(lean_object* x_1) { +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_checkCount_match__1(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_Meta_ProofBelow_mkCtorType_checkCount_match__1___rarg), 3, 0); +x_2 = lean_alloc_closure((void*)(l_Lean_Meta_IndPredBelow_mkCtorType_checkCount_match__1___rarg), 3, 0); return x_2; } } -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_checkCount_match__2___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_checkCount_match__2___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { if (lean_obj_tag(x_1) == 0) @@ -1968,15 +1927,15 @@ return x_6; } } } -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_checkCount_match__2(lean_object* x_1) { +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_checkCount_match__2(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_Meta_ProofBelow_mkCtorType_checkCount_match__2___rarg), 3, 0); +x_2 = lean_alloc_closure((void*)(l_Lean_Meta_IndPredBelow_mkCtorType_checkCount_match__2___rarg), 3, 0); return x_2; } } -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_checkCount_match__3___rarg(lean_object* x_1, lean_object* x_2) { +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_checkCount_match__3___rarg(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; lean_object* x_4; lean_object* x_5; @@ -1989,15 +1948,15 @@ x_5 = lean_apply_2(x_2, x_3, x_4); return x_5; } } -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_checkCount_match__3(lean_object* x_1) { +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_checkCount_match__3(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_Meta_ProofBelow_mkCtorType_checkCount_match__3___rarg), 2, 0); +x_2 = lean_alloc_closure((void*)(l_Lean_Meta_IndPredBelow_mkCtorType_checkCount_match__3___rarg), 2, 0); return x_2; } } -lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkCtorType_replaceTempVars___spec__1(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4) { +lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkCtorType_replaceTempVars___spec__1(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4) { _start: { uint8_t x_5; @@ -2028,7 +1987,7 @@ goto _start; } } } -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_replaceTempVars(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_replaceTempVars(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; size_t x_14; size_t x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; @@ -2054,14 +2013,14 @@ x_14 = lean_usize_of_nat(x_13); lean_dec(x_13); x_15 = 0; x_16 = x_12; -x_17 = l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkCtorType_replaceTempVars___spec__1(x_10, x_14, x_15, x_16); +x_17 = l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkCtorType_replaceTempVars___spec__1(x_10, x_14, x_15, x_16); x_18 = x_17; x_19 = l_Lean_Expr_replaceFVars(x_3, x_11, x_18); lean_dec(x_18); return x_19; } } -lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkCtorType_replaceTempVars___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkCtorType_replaceTempVars___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { size_t x_5; size_t x_6; lean_object* x_7; @@ -2069,21 +2028,21 @@ x_5 = lean_unbox_usize(x_2); lean_dec(x_2); x_6 = lean_unbox_usize(x_3); lean_dec(x_3); -x_7 = l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkCtorType_replaceTempVars___spec__1(x_1, x_5, x_6, x_4); +x_7 = l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkCtorType_replaceTempVars___spec__1(x_1, x_5, x_6, x_4); return x_7; } } -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_replaceTempVars___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_replaceTempVars___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { lean_object* x_4; -x_4 = l_Lean_Meta_ProofBelow_mkCtorType_replaceTempVars(x_1, x_2, x_3); +x_4 = l_Lean_Meta_IndPredBelow_mkCtorType_replaceTempVars(x_1, x_2, x_3); lean_dec(x_3); lean_dec(x_2); return x_4; } } -lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_ProofBelow_mkCtorType_rebuild___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_mkCtorType_rebuild___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { _start: { if (lean_obj_tag(x_5) == 5) @@ -2173,7 +2132,7 @@ if (x_51 == 0) { lean_object* x_52; lean_object* x_53; x_52 = lean_ctor_get(x_50, 0); -x_53 = l_Lean_Meta_ProofBelow_mkCtorType_replaceTempVars(x_1, x_4, x_52); +x_53 = l_Lean_Meta_IndPredBelow_mkCtorType_replaceTempVars(x_1, x_4, x_52); lean_dec(x_52); lean_dec(x_4); lean_ctor_set(x_50, 0, x_53); @@ -2187,7 +2146,7 @@ x_55 = lean_ctor_get(x_50, 1); lean_inc(x_55); lean_inc(x_54); lean_dec(x_50); -x_56 = l_Lean_Meta_ProofBelow_mkCtorType_replaceTempVars(x_1, x_4, x_54); +x_56 = l_Lean_Meta_IndPredBelow_mkCtorType_replaceTempVars(x_1, x_4, x_54); lean_dec(x_54); lean_dec(x_4); x_57 = lean_alloc_ctor(0, 2, 0); @@ -2223,7 +2182,7 @@ return x_61; } } } -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_rebuild(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_rebuild(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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; @@ -2237,15 +2196,15 @@ x_14 = lean_mk_array(x_12, x_13); x_15 = lean_unsigned_to_nat(1u); x_16 = lean_nat_sub(x_12, x_15); lean_dec(x_12); -x_17 = l_Lean_Expr_withAppAux___at_Lean_Meta_ProofBelow_mkCtorType_rebuild___spec__1(x_1, x_2, x_3, x_4, x_10, x_14, x_16, x_5, x_6, x_7, x_8, x_9); +x_17 = l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_mkCtorType_rebuild___spec__1(x_1, x_2, x_3, x_4, x_10, x_14, x_16, x_5, x_6, x_7, x_8, x_9); return x_17; } } -lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_ProofBelow_mkCtorType_rebuild___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* l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_mkCtorType_rebuild___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) { _start: { lean_object* x_13; -x_13 = l_Lean_Expr_withAppAux___at_Lean_Meta_ProofBelow_mkCtorType_rebuild___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +x_13 = l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_mkCtorType_rebuild___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); @@ -2253,11 +2212,11 @@ lean_dec(x_2); return x_13; } } -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_rebuild___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_rebuild___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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_ProofBelow_mkCtorType_rebuild(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +x_10 = l_Lean_Meta_IndPredBelow_mkCtorType_rebuild(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); @@ -2265,7 +2224,7 @@ lean_dec(x_2); return x_10; } } -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_copyVarName(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_copyVarName(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { lean_object* x_7; @@ -2307,18 +2266,18 @@ return x_15; } } } -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_copyVarName___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_copyVarName___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { lean_object* x_7; -x_7 = l_Lean_Meta_ProofBelow_mkCtorType_copyVarName(x_1, x_2, x_3, x_4, x_5, x_6); +x_7 = l_Lean_Meta_IndPredBelow_mkCtorType_copyVarName(x_1, x_2, x_3, x_4, x_5, x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); return x_7; } } -lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_ProofBelow_mkCtorType_mkMotiveBinder___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) { +lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_mkCtorType_mkMotiveBinder___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) { _start: { if (lean_obj_tag(x_8) == 5) @@ -2376,7 +2335,7 @@ lean_inc(x_38); lean_dec(x_36); x_39 = l_Lean_Expr_fvarId_x21(x_4); lean_inc(x_11); -x_40 = l_Lean_Meta_ProofBelow_mkCtorType_copyVarName(x_39, x_11, x_12, x_13, x_14, x_38); +x_40 = l_Lean_Meta_IndPredBelow_mkCtorType_copyVarName(x_39, x_11, x_12, x_13, x_14, x_38); if (lean_obj_tag(x_40) == 0) { lean_object* x_41; lean_object* x_42; uint8_t x_43; lean_object* x_44; @@ -2451,7 +2410,7 @@ return x_52; } } } -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_mkMotiveBinder___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* l_Lean_Meta_IndPredBelow_mkCtorType_mkMotiveBinder___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; lean_object* x_18; lean_object* x_19; @@ -2463,15 +2422,15 @@ x_16 = lean_mk_array(x_14, x_15); x_17 = lean_unsigned_to_nat(1u); x_18 = lean_nat_sub(x_14, x_17); lean_dec(x_14); -x_19 = l_Lean_Expr_withAppAux___at_Lean_Meta_ProofBelow_mkCtorType_mkMotiveBinder___spec__1(x_1, x_2, x_3, x_4, lean_box(0), x_5, x_6, x_7, x_16, x_18, x_8, x_9, x_10, x_11, x_12); +x_19 = l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_mkCtorType_mkMotiveBinder___spec__1(x_1, x_2, x_3, x_4, lean_box(0), x_5, x_6, x_7, x_16, x_18, x_8, x_9, x_10, x_11, x_12); return x_19; } } -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_mkMotiveBinder(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_mkMotiveBinder(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, 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_ProofBelow_mkCtorType_mkMotiveBinder___lambda__1___boxed), 12, 5); +x_13 = lean_alloc_closure((void*)(l_Lean_Meta_IndPredBelow_mkCtorType_mkMotiveBinder___lambda__1___boxed), 12, 5); lean_closure_set(x_13, 0, x_1); lean_closure_set(x_13, 1, x_2); lean_closure_set(x_13, 2, x_3); @@ -2481,27 +2440,27 @@ x_14 = l_Lean_Meta_forallTelescope___at___private_Lean_Meta_InferType_0__Lean_Me return x_14; } } -lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_ProofBelow_mkCtorType_mkMotiveBinder___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) { +lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_mkCtorType_mkMotiveBinder___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: { lean_object* x_16; -x_16 = l_Lean_Expr_withAppAux___at_Lean_Meta_ProofBelow_mkCtorType_mkMotiveBinder___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15); +x_16 = l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_mkCtorType_mkMotiveBinder___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15); lean_dec(x_3); lean_dec(x_2); return x_16; } } -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_mkMotiveBinder___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* l_Lean_Meta_IndPredBelow_mkCtorType_mkMotiveBinder___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { _start: { lean_object* x_13; -x_13 = l_Lean_Meta_ProofBelow_mkCtorType_mkMotiveBinder___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +x_13 = l_Lean_Meta_IndPredBelow_mkCtorType_mkMotiveBinder___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_3); lean_dec(x_2); return x_13; } } -lean_object* l_Lean_throwError___at_Lean_Meta_ProofBelow_mkCtorType_mkProofBelowBinder___spec__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +lean_object* l_Lean_throwError___at_Lean_Meta_IndPredBelow_mkCtorType_mkBelowBinder___spec__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { lean_object* x_7; lean_object* x_8; uint8_t x_9; @@ -2539,15 +2498,15 @@ return x_15; } } } -lean_object* l_Lean_throwError___at_Lean_Meta_ProofBelow_mkCtorType_mkProofBelowBinder___spec__1(lean_object* x_1) { +lean_object* l_Lean_throwError___at_Lean_Meta_IndPredBelow_mkCtorType_mkBelowBinder___spec__1(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_throwError___at_Lean_Meta_ProofBelow_mkCtorType_mkProofBelowBinder___spec__1___rarg___boxed), 6, 0); +x_2 = lean_alloc_closure((void*)(l_Lean_throwError___at_Lean_Meta_IndPredBelow_mkCtorType_mkBelowBinder___spec__1___rarg___boxed), 6, 0); return x_2; } } -lean_object* l_Lean_throwError___at_Lean_Meta_ProofBelow_mkCtorType_mkProofBelowBinder___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* l_Lean_throwError___at_Lean_Meta_IndPredBelow_mkCtorType_mkBelowBinder___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) { _start: { lean_object* x_7; lean_object* x_8; uint8_t x_9; @@ -2585,15 +2544,15 @@ return x_15; } } } -lean_object* l_Lean_throwError___at_Lean_Meta_ProofBelow_mkCtorType_mkProofBelowBinder___spec__2(lean_object* x_1) { +lean_object* l_Lean_throwError___at_Lean_Meta_IndPredBelow_mkCtorType_mkBelowBinder___spec__2(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_throwError___at_Lean_Meta_ProofBelow_mkCtorType_mkProofBelowBinder___spec__2___rarg___boxed), 6, 0); +x_2 = lean_alloc_closure((void*)(l_Lean_throwError___at_Lean_Meta_IndPredBelow_mkCtorType_mkBelowBinder___spec__2___rarg___boxed), 6, 0); return x_2; } } -uint8_t l_Lean_Expr_withAppAux___at_Lean_Meta_ProofBelow_mkCtorType_mkProofBelowBinder___spec__3___lambda__1(lean_object* x_1, lean_object* x_2) { +uint8_t l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_mkCtorType_mkBelowBinder___spec__3___lambda__1(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; lean_object* x_4; uint8_t x_5; @@ -2603,7 +2562,7 @@ x_5 = lean_name_eq(x_4, x_1); return x_5; } } -static lean_object* _init_l_Lean_Expr_withAppAux___at_Lean_Meta_ProofBelow_mkCtorType_mkProofBelowBinder___spec__3___closed__1() { +static lean_object* _init_l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_mkCtorType_mkBelowBinder___spec__3___closed__1() { _start: { lean_object* x_1; @@ -2611,16 +2570,16 @@ x_1 = lean_mk_string("only trivial inductive applications supported in premises: return x_1; } } -static lean_object* _init_l_Lean_Expr_withAppAux___at_Lean_Meta_ProofBelow_mkCtorType_mkProofBelowBinder___spec__3___closed__2() { +static lean_object* _init_l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_mkCtorType_mkBelowBinder___spec__3___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Expr_withAppAux___at_Lean_Meta_ProofBelow_mkCtorType_mkProofBelowBinder___spec__3___closed__1; +x_1 = l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_mkCtorType_mkBelowBinder___spec__3___closed__1; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_ProofBelow_mkCtorType_mkProofBelowBinder___spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) { +lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_mkCtorType_mkBelowBinder___spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) { _start: { if (lean_obj_tag(x_8) == 5) @@ -2657,7 +2616,7 @@ lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); x_23 = l_Lean_indentExpr(x_7); -x_24 = l_Lean_Expr_withAppAux___at_Lean_Meta_ProofBelow_mkCtorType_mkProofBelowBinder___spec__3___closed__2; +x_24 = l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_mkCtorType_mkBelowBinder___spec__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); @@ -2665,7 +2624,7 @@ x_26 = l_Lean_KernelException_toMessageData___closed__15; 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_Lean_Meta_ProofBelow_mkCtorType_mkProofBelowBinder___spec__1___rarg(x_27, x_11, x_12, x_13, x_14, x_15); +x_28 = l_Lean_throwError___at_Lean_Meta_IndPredBelow_mkCtorType_mkBelowBinder___spec__1___rarg(x_27, x_11, x_12, x_13, x_14, x_15); lean_dec(x_14); lean_dec(x_13); lean_dec(x_12); @@ -2680,7 +2639,7 @@ lean_inc(x_29); lean_dec(x_22); x_30 = lean_ctor_get(x_1, 1); lean_inc(x_30); -x_31 = lean_alloc_closure((void*)(l_Lean_Expr_withAppAux___at_Lean_Meta_ProofBelow_mkCtorType_mkProofBelowBinder___spec__3___lambda__1___boxed), 2, 1); +x_31 = lean_alloc_closure((void*)(l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_mkCtorType_mkBelowBinder___spec__3___lambda__1___boxed), 2, 1); lean_closure_set(x_31, 0, x_29); x_32 = lean_array_get_size(x_30); x_33 = lean_unsigned_to_nat(0u); @@ -2696,7 +2655,7 @@ lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); x_35 = l_Lean_indentExpr(x_7); -x_36 = l_Lean_Expr_withAppAux___at_Lean_Meta_ProofBelow_mkCtorType_mkProofBelowBinder___spec__3___closed__2; +x_36 = l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_mkCtorType_mkBelowBinder___spec__3___closed__2; x_37 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_37, 0, x_36); lean_ctor_set(x_37, 1, x_35); @@ -2704,7 +2663,7 @@ x_38 = l_Lean_KernelException_toMessageData___closed__15; x_39 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_39, 0, x_37); lean_ctor_set(x_39, 1, x_38); -x_40 = l_Lean_throwError___at_Lean_Meta_ProofBelow_mkCtorType_mkProofBelowBinder___spec__2___rarg(x_39, x_11, x_12, x_13, x_14, x_15); +x_40 = l_Lean_throwError___at_Lean_Meta_IndPredBelow_mkCtorType_mkBelowBinder___spec__2___rarg(x_39, x_11, x_12, x_13, x_14, x_15); lean_dec(x_14); lean_dec(x_13); lean_dec(x_12); @@ -2761,7 +2720,7 @@ lean_inc(x_62); lean_dec(x_60); x_63 = l_Lean_Expr_fvarId_x21(x_3); lean_inc(x_11); -x_64 = l_Lean_Meta_ProofBelow_mkCtorType_copyVarName(x_63, x_11, x_12, x_13, x_14, x_62); +x_64 = l_Lean_Meta_IndPredBelow_mkCtorType_copyVarName(x_63, x_11, x_12, x_13, x_14, x_62); if (lean_obj_tag(x_64) == 0) { lean_object* x_65; lean_object* x_66; uint8_t x_67; lean_object* x_68; lean_object* x_69; @@ -2841,7 +2800,7 @@ return x_77; } } } -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_mkProofBelowBinder___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_mkBelowBinder___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; @@ -2854,15 +2813,15 @@ x_16 = lean_unsigned_to_nat(1u); x_17 = lean_nat_sub(x_13, x_16); lean_dec(x_13); lean_inc(x_6); -x_18 = l_Lean_Expr_withAppAux___at_Lean_Meta_ProofBelow_mkCtorType_mkProofBelowBinder___spec__3(x_1, x_2, x_3, lean_box(0), x_4, x_5, x_6, x_6, x_15, x_17, x_7, x_8, x_9, x_10, x_11); +x_18 = l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_mkCtorType_mkBelowBinder___spec__3(x_1, x_2, x_3, lean_box(0), x_4, x_5, x_6, x_6, x_15, x_17, x_7, x_8, x_9, x_10, x_11); return x_18; } } -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_mkProofBelowBinder(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_mkBelowBinder(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, 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_ProofBelow_mkCtorType_mkProofBelowBinder___lambda__1), 11, 4); +x_12 = lean_alloc_closure((void*)(l_Lean_Meta_IndPredBelow_mkCtorType_mkBelowBinder___lambda__1), 11, 4); lean_closure_set(x_12, 0, x_1); lean_closure_set(x_12, 1, x_2); lean_closure_set(x_12, 2, x_3); @@ -2871,11 +2830,11 @@ x_13 = l_Lean_Meta_forallTelescope___at___private_Lean_Meta_InferType_0__Lean_Me return x_13; } } -lean_object* l_Lean_throwError___at_Lean_Meta_ProofBelow_mkCtorType_mkProofBelowBinder___spec__1___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +lean_object* l_Lean_throwError___at_Lean_Meta_IndPredBelow_mkCtorType_mkBelowBinder___spec__1___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { lean_object* x_7; -x_7 = l_Lean_throwError___at_Lean_Meta_ProofBelow_mkCtorType_mkProofBelowBinder___spec__1___rarg(x_1, x_2, x_3, x_4, x_5, x_6); +x_7 = l_Lean_throwError___at_Lean_Meta_IndPredBelow_mkCtorType_mkBelowBinder___spec__1___rarg(x_1, x_2, x_3, x_4, x_5, x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); @@ -2883,11 +2842,11 @@ lean_dec(x_2); return x_7; } } -lean_object* l_Lean_throwError___at_Lean_Meta_ProofBelow_mkCtorType_mkProofBelowBinder___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* l_Lean_throwError___at_Lean_Meta_IndPredBelow_mkCtorType_mkBelowBinder___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) { _start: { lean_object* x_7; -x_7 = l_Lean_throwError___at_Lean_Meta_ProofBelow_mkCtorType_mkProofBelowBinder___spec__2___rarg(x_1, x_2, x_3, x_4, x_5, x_6); +x_7 = l_Lean_throwError___at_Lean_Meta_IndPredBelow_mkCtorType_mkBelowBinder___spec__2___rarg(x_1, x_2, x_3, x_4, x_5, x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); @@ -2895,18 +2854,18 @@ lean_dec(x_2); return x_7; } } -lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_ProofBelow_mkCtorType_mkProofBelowBinder___spec__3___lambda__1___boxed(lean_object* x_1, lean_object* x_2) { +lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_mkCtorType_mkBelowBinder___spec__3___lambda__1___boxed(lean_object* x_1, lean_object* x_2) { _start: { uint8_t x_3; lean_object* x_4; -x_3 = l_Lean_Expr_withAppAux___at_Lean_Meta_ProofBelow_mkCtorType_mkProofBelowBinder___spec__3___lambda__1(x_1, x_2); +x_3 = l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_mkCtorType_mkBelowBinder___spec__3___lambda__1(x_1, x_2); lean_dec(x_2); lean_dec(x_1); x_4 = lean_box(x_3); return x_4; } } -lean_object* l_Lean_Meta_transform_visit_visitPost___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +lean_object* l_Lean_Meta_transform_visit_visitPost___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { _start: { lean_object* x_13; @@ -2971,7 +2930,7 @@ lean_dec(x_13); x_22 = lean_ctor_get(x_14, 0); lean_inc(x_22); lean_dec(x_14); -x_23 = l_Lean_Meta_transform_visit___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__2(x_1, x_2, x_3, x_4, x_22, x_6, x_7, x_8, x_9, x_10, x_11, x_21); +x_23 = l_Lean_Meta_transform_visit___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__2(x_1, x_2, x_3, x_4, x_22, x_6, x_7, x_8, x_9, x_10, x_11, x_21); return x_23; } } @@ -3009,7 +2968,7 @@ return x_27; } } } -lean_object* l_Lean_Meta_withLocalDecl___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___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* l_Lean_Meta_withLocalDecl___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___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) { _start: { lean_object* x_10; @@ -3017,11 +2976,11 @@ 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_object* l_Lean_Meta_withLocalDecl___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___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* l_Lean_Meta_withLocalDecl___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___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) { _start: { lean_object* x_12; lean_object* x_13; -x_12 = lean_alloc_closure((void*)(l_Lean_Meta_withLocalDecl___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__7___rarg___lambda__1), 9, 3); +x_12 = lean_alloc_closure((void*)(l_Lean_Meta_withLocalDecl___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__7___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); @@ -3072,24 +3031,24 @@ return x_21; } } } -lean_object* l_Lean_Meta_withLocalDecl___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__7(lean_object* x_1, lean_object* x_2) { +lean_object* l_Lean_Meta_withLocalDecl___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___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_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__7___rarg___boxed), 11, 0); +x_3 = lean_alloc_closure((void*)(l_Lean_Meta_withLocalDecl___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__7___rarg___boxed), 11, 0); return x_3; } } -lean_object* l_Lean_Meta_transform_visit_visitLambda___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___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) { +lean_object* l_Lean_Meta_transform_visit_visitLambda___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___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; x_15 = lean_array_push(x_1, x_7); -x_16 = l_Lean_Meta_transform_visit_visitLambda___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__4(x_2, x_3, x_4, x_5, x_15, x_6, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +x_16 = l_Lean_Meta_transform_visit_visitLambda___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__4(x_2, x_3, x_4, x_5, x_15, x_6, x_8, x_9, x_10, x_11, x_12, x_13, x_14); return x_16; } } -lean_object* l_Lean_Meta_transform_visit_visitLambda___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___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* l_Lean_Meta_transform_visit_visitLambda___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___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) { _start: { if (lean_obj_tag(x_6) == 6) @@ -3115,7 +3074,7 @@ lean_inc(x_4); lean_inc(x_3); lean_inc(x_2); lean_inc(x_1); -x_19 = l_Lean_Meta_transform_visit___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__2(x_1, x_2, x_3, x_4, x_18, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +x_19 = l_Lean_Meta_transform_visit___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__2(x_1, x_2, x_3, x_4, x_18, x_7, x_8, x_9, x_10, x_11, x_12, x_13); if (lean_obj_tag(x_19) == 0) { lean_object* x_20; lean_object* x_21; uint8_t x_22; lean_object* x_23; lean_object* x_24; @@ -3125,14 +3084,14 @@ x_21 = lean_ctor_get(x_19, 1); lean_inc(x_21); lean_dec(x_19); x_22 = (uint8_t)((x_17 << 24) >> 61); -x_23 = lean_alloc_closure((void*)(l_Lean_Meta_transform_visit_visitLambda___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__4___lambda__1), 14, 6); +x_23 = lean_alloc_closure((void*)(l_Lean_Meta_transform_visit_visitLambda___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__4___lambda__1), 14, 6); lean_closure_set(x_23, 0, x_5); 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_4); lean_closure_set(x_23, 5, x_16); -x_24 = l_Lean_Meta_withLocalDecl___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__7___rarg(x_14, x_22, x_20, x_23, x_7, x_8, x_9, x_10, x_11, x_12, x_21); +x_24 = l_Lean_Meta_withLocalDecl___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__7___rarg(x_14, x_22, x_20, x_23, x_7, x_8, x_9, x_10, x_11, x_12, x_21); return x_24; } else @@ -3186,7 +3145,7 @@ lean_inc(x_4); lean_inc(x_3); lean_inc(x_2); lean_inc(x_1); -x_30 = l_Lean_Meta_transform_visit___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__2(x_1, x_2, x_3, x_4, x_29, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +x_30 = l_Lean_Meta_transform_visit___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__2(x_1, x_2, x_3, x_4, x_29, x_7, x_8, x_9, x_10, x_11, x_12, x_13); if (lean_obj_tag(x_30) == 0) { lean_object* x_31; lean_object* x_32; uint8_t x_33; uint8_t x_34; lean_object* x_35; @@ -3207,7 +3166,7 @@ lean_inc(x_36); x_37 = lean_ctor_get(x_35, 1); lean_inc(x_37); lean_dec(x_35); -x_38 = l_Lean_Meta_transform_visit_visitPost___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__3(x_1, x_2, x_3, x_4, x_36, x_7, x_8, x_9, x_10, x_11, x_12, x_37); +x_38 = l_Lean_Meta_transform_visit_visitPost___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__3(x_1, x_2, x_3, x_4, x_36, x_7, x_8, x_9, x_10, x_11, x_12, x_37); return x_38; } else @@ -3279,11 +3238,11 @@ return x_46; } } } -lean_object* l_Lean_Meta_withLocalDecl___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___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* l_Lean_Meta_withLocalDecl___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___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) { _start: { lean_object* x_12; lean_object* x_13; -x_12 = lean_alloc_closure((void*)(l_Lean_Meta_withLocalDecl___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__7___rarg___lambda__1), 9, 3); +x_12 = lean_alloc_closure((void*)(l_Lean_Meta_withLocalDecl___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__7___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); @@ -3334,24 +3293,24 @@ return x_21; } } } -lean_object* l_Lean_Meta_withLocalDecl___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__8(lean_object* x_1, lean_object* x_2) { +lean_object* l_Lean_Meta_withLocalDecl___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___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_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__8___rarg___boxed), 11, 0); +x_3 = lean_alloc_closure((void*)(l_Lean_Meta_withLocalDecl___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__8___rarg___boxed), 11, 0); return x_3; } } -lean_object* l_Lean_Meta_transform_visit_visitForall___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___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* l_Lean_Meta_transform_visit_visitForall___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___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) { _start: { lean_object* x_15; lean_object* x_16; x_15 = lean_array_push(x_1, x_7); -x_16 = l_Lean_Meta_transform_visit_visitForall___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__5(x_2, x_3, x_4, x_5, x_15, x_6, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +x_16 = l_Lean_Meta_transform_visit_visitForall___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__5(x_2, x_3, x_4, x_5, x_15, x_6, x_8, x_9, x_10, x_11, x_12, x_13, x_14); return x_16; } } -lean_object* l_Lean_Meta_transform_visit_visitForall___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__5(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +lean_object* l_Lean_Meta_transform_visit_visitForall___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__5(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { _start: { if (lean_obj_tag(x_6) == 7) @@ -3377,7 +3336,7 @@ lean_inc(x_4); lean_inc(x_3); lean_inc(x_2); lean_inc(x_1); -x_19 = l_Lean_Meta_transform_visit___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__2(x_1, x_2, x_3, x_4, x_18, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +x_19 = l_Lean_Meta_transform_visit___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__2(x_1, x_2, x_3, x_4, x_18, x_7, x_8, x_9, x_10, x_11, x_12, x_13); if (lean_obj_tag(x_19) == 0) { lean_object* x_20; lean_object* x_21; uint8_t x_22; lean_object* x_23; lean_object* x_24; @@ -3387,14 +3346,14 @@ x_21 = lean_ctor_get(x_19, 1); lean_inc(x_21); lean_dec(x_19); x_22 = (uint8_t)((x_17 << 24) >> 61); -x_23 = lean_alloc_closure((void*)(l_Lean_Meta_transform_visit_visitForall___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__5___lambda__1), 14, 6); +x_23 = lean_alloc_closure((void*)(l_Lean_Meta_transform_visit_visitForall___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__5___lambda__1), 14, 6); lean_closure_set(x_23, 0, x_5); 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_4); lean_closure_set(x_23, 5, x_16); -x_24 = l_Lean_Meta_withLocalDecl___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__8___rarg(x_14, x_22, x_20, x_23, x_7, x_8, x_9, x_10, x_11, x_12, x_21); +x_24 = l_Lean_Meta_withLocalDecl___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__8___rarg(x_14, x_22, x_20, x_23, x_7, x_8, x_9, x_10, x_11, x_12, x_21); return x_24; } else @@ -3448,7 +3407,7 @@ lean_inc(x_4); lean_inc(x_3); lean_inc(x_2); lean_inc(x_1); -x_30 = l_Lean_Meta_transform_visit___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__2(x_1, x_2, x_3, x_4, x_29, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +x_30 = l_Lean_Meta_transform_visit___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__2(x_1, x_2, x_3, x_4, x_29, x_7, x_8, x_9, x_10, x_11, x_12, x_13); if (lean_obj_tag(x_30) == 0) { lean_object* x_31; lean_object* x_32; uint8_t x_33; uint8_t x_34; lean_object* x_35; @@ -3469,7 +3428,7 @@ lean_inc(x_36); x_37 = lean_ctor_get(x_35, 1); lean_inc(x_37); lean_dec(x_35); -x_38 = l_Lean_Meta_transform_visit_visitPost___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__3(x_1, x_2, x_3, x_4, x_36, x_7, x_8, x_9, x_10, x_11, x_12, x_37); +x_38 = l_Lean_Meta_transform_visit_visitPost___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__3(x_1, x_2, x_3, x_4, x_36, x_7, x_8, x_9, x_10, x_11, x_12, x_37); return x_38; } else @@ -3541,11 +3500,11 @@ return x_46; } } } -lean_object* l_Lean_Meta_withLetDecl___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___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* l_Lean_Meta_withLetDecl___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___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) { _start: { lean_object* x_12; lean_object* x_13; -x_12 = lean_alloc_closure((void*)(l_Lean_Meta_withLocalDecl___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__7___rarg___lambda__1), 9, 3); +x_12 = lean_alloc_closure((void*)(l_Lean_Meta_withLocalDecl___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__7___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); @@ -3596,24 +3555,24 @@ return x_21; } } } -lean_object* l_Lean_Meta_withLetDecl___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__9(lean_object* x_1, lean_object* x_2) { +lean_object* l_Lean_Meta_withLetDecl___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___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_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__9___rarg), 11, 0); +x_3 = lean_alloc_closure((void*)(l_Lean_Meta_withLetDecl___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__9___rarg), 11, 0); return x_3; } } -lean_object* l_Lean_Meta_transform_visit_visitLet___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__6___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +lean_object* l_Lean_Meta_transform_visit_visitLet___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__6___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { _start: { lean_object* x_15; lean_object* x_16; x_15 = lean_array_push(x_1, x_7); -x_16 = l_Lean_Meta_transform_visit_visitLet___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__6(x_2, x_3, x_4, x_5, x_15, x_6, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +x_16 = l_Lean_Meta_transform_visit_visitLet___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__6(x_2, x_3, x_4, x_5, x_15, x_6, x_8, x_9, x_10, x_11, x_12, x_13, x_14); return x_16; } } -lean_object* l_Lean_Meta_transform_visit_visitLet___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__6(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +lean_object* l_Lean_Meta_transform_visit_visitLet___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__6(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { _start: { if (lean_obj_tag(x_6) == 8) @@ -3640,7 +3599,7 @@ lean_inc(x_4); lean_inc(x_3); lean_inc(x_2); lean_inc(x_1); -x_19 = l_Lean_Meta_transform_visit___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__2(x_1, x_2, x_3, x_4, x_18, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +x_19 = l_Lean_Meta_transform_visit___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__2(x_1, x_2, x_3, x_4, x_18, x_7, x_8, x_9, x_10, x_11, x_12, x_13); if (lean_obj_tag(x_19) == 0) { lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; @@ -3661,7 +3620,7 @@ lean_inc(x_4); lean_inc(x_3); lean_inc(x_2); lean_inc(x_1); -x_23 = l_Lean_Meta_transform_visit___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__2(x_1, x_2, x_3, x_4, x_22, x_7, x_8, x_9, x_10, x_11, x_12, x_21); +x_23 = l_Lean_Meta_transform_visit___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__2(x_1, x_2, x_3, x_4, x_22, x_7, x_8, x_9, x_10, x_11, x_12, x_21); if (lean_obj_tag(x_23) == 0) { lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; @@ -3670,14 +3629,14 @@ lean_inc(x_24); x_25 = lean_ctor_get(x_23, 1); lean_inc(x_25); lean_dec(x_23); -x_26 = lean_alloc_closure((void*)(l_Lean_Meta_transform_visit_visitLet___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__6___lambda__1), 14, 6); +x_26 = lean_alloc_closure((void*)(l_Lean_Meta_transform_visit_visitLet___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__6___lambda__1), 14, 6); lean_closure_set(x_26, 0, x_5); lean_closure_set(x_26, 1, x_1); lean_closure_set(x_26, 2, x_2); lean_closure_set(x_26, 3, x_3); lean_closure_set(x_26, 4, x_4); lean_closure_set(x_26, 5, x_17); -x_27 = l_Lean_Meta_withLetDecl___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__9___rarg(x_14, x_20, x_24, x_26, x_7, x_8, x_9, x_10, x_11, x_12, x_25); +x_27 = l_Lean_Meta_withLetDecl___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__9___rarg(x_14, x_20, x_24, x_26, x_7, x_8, x_9, x_10, x_11, x_12, x_25); return x_27; } else @@ -3769,7 +3728,7 @@ lean_inc(x_4); lean_inc(x_3); lean_inc(x_2); lean_inc(x_1); -x_37 = l_Lean_Meta_transform_visit___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__2(x_1, x_2, x_3, x_4, x_36, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +x_37 = l_Lean_Meta_transform_visit___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__2(x_1, x_2, x_3, x_4, x_36, x_7, x_8, x_9, x_10, x_11, x_12, x_13); if (lean_obj_tag(x_37) == 0) { lean_object* x_38; lean_object* x_39; uint8_t x_40; uint8_t x_41; lean_object* x_42; @@ -3790,7 +3749,7 @@ lean_inc(x_43); x_44 = lean_ctor_get(x_42, 1); lean_inc(x_44); lean_dec(x_42); -x_45 = l_Lean_Meta_transform_visit_visitPost___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__3(x_1, x_2, x_3, x_4, x_43, x_7, x_8, x_9, x_10, x_11, x_12, x_44); +x_45 = l_Lean_Meta_transform_visit_visitPost___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__3(x_1, x_2, x_3, x_4, x_43, x_7, x_8, x_9, x_10, x_11, x_12, x_44); return x_45; } else @@ -3862,7 +3821,7 @@ return x_53; } } } -lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__10(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* l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__10(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; @@ -3903,7 +3862,7 @@ lean_inc(x_4); lean_inc(x_3); lean_inc(x_2); lean_inc(x_1); -x_22 = l_Lean_Meta_transform_visit___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__2(x_1, x_2, x_3, x_4, x_21, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +x_22 = l_Lean_Meta_transform_visit___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__2(x_1, x_2, x_3, x_4, x_21, x_8, x_9, x_10, x_11, x_12, x_13, x_14); 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; lean_object* x_28; @@ -3957,7 +3916,7 @@ return x_33; } } } -static lean_object* _init_l_Lean_Expr_withAppAux___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__11___boxed__const__1() { +static lean_object* _init_l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__11___boxed__const__1() { _start: { size_t x_1; lean_object* x_2; @@ -3966,7 +3925,7 @@ x_2 = lean_box_usize(x_1); return x_2; } } -lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__11(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__11(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { _start: { if (lean_obj_tag(x_5) == 5) @@ -4000,7 +3959,7 @@ lean_inc(x_4); lean_inc(x_3); lean_inc(x_2); lean_inc(x_1); -x_21 = l_Lean_Meta_transform_visit___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__2(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_21 = l_Lean_Meta_transform_visit___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__2(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; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; @@ -4014,12 +3973,12 @@ x_25 = lean_usize_of_nat(x_24); lean_dec(x_24); x_26 = x_6; x_27 = lean_box_usize(x_25); -x_28 = l_Lean_Expr_withAppAux___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__11___boxed__const__1; +x_28 = l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__11___boxed__const__1; lean_inc(x_4); lean_inc(x_3); lean_inc(x_2); lean_inc(x_1); -x_29 = lean_alloc_closure((void*)(l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__10___boxed), 14, 7); +x_29 = lean_alloc_closure((void*)(l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__10___boxed), 14, 7); lean_closure_set(x_29, 0, x_1); lean_closure_set(x_29, 1, x_2); lean_closure_set(x_29, 2, x_3); @@ -4045,7 +4004,7 @@ lean_inc(x_33); lean_dec(x_31); x_34 = l_Lean_mkAppN(x_22, x_32); lean_dec(x_32); -x_35 = l_Lean_Meta_transform_visit_visitPost___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__3(x_1, x_2, x_3, x_4, x_34, x_8, x_9, x_10, x_11, x_12, x_13, x_33); +x_35 = l_Lean_Meta_transform_visit_visitPost___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__3(x_1, x_2, x_3, x_4, x_34, x_8, x_9, x_10, x_11, x_12, x_13, x_33); return x_35; } else @@ -4118,7 +4077,7 @@ return x_43; } } } -lean_object* l_ReaderT_bind___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__12___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* l_ReaderT_bind___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__12___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; @@ -4171,15 +4130,15 @@ return x_17; } } } -lean_object* l_ReaderT_bind___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__12(lean_object* x_1, lean_object* x_2) { +lean_object* l_ReaderT_bind___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__12(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; -x_3 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__12___rarg), 9, 0); +x_3 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__12___rarg), 9, 0); return x_3; } } -lean_object* l_Lean_Meta_withIncRecDepth___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__13___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* l_Lean_Meta_withIncRecDepth___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__13___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; lean_object* x_12; uint8_t x_13; @@ -4227,7 +4186,7 @@ return x_24; } } } -lean_object* l_Lean_Meta_withIncRecDepth___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__13___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +lean_object* l_Lean_Meta_withIncRecDepth___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__13___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; @@ -4241,7 +4200,7 @@ if (x_11 == 0) { lean_object* x_12; lean_object* x_13; x_12 = lean_box(0); -x_13 = l_Lean_Meta_withIncRecDepth___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__13___rarg___lambda__1(x_9, x_1, x_2, x_3, x_12, x_4, x_5, x_6, x_7, x_8); +x_13 = l_Lean_Meta_withIncRecDepth___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__13___rarg___lambda__1(x_9, x_1, x_2, x_3, x_12, x_4, x_5, x_6, x_7, x_8); lean_dec(x_9); if (lean_obj_tag(x_13) == 0) { @@ -4322,15 +4281,15 @@ return x_27; } } } -lean_object* l_Lean_Meta_withIncRecDepth___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__13(lean_object* x_1, lean_object* x_2) { +lean_object* l_Lean_Meta_withIncRecDepth___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__13(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; -x_3 = lean_alloc_closure((void*)(l_Lean_Meta_withIncRecDepth___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__13___rarg), 8, 0); +x_3 = lean_alloc_closure((void*)(l_Lean_Meta_withIncRecDepth___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__13___rarg), 8, 0); return x_3; } } -lean_object* l_Lean_Meta_transform_visit___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__2___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +lean_object* l_Lean_Meta_transform_visit___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__2___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { _start: { if (lean_obj_tag(x_5) == 0) @@ -4372,28 +4331,28 @@ x_19 = lean_mk_array(x_17, x_18); x_20 = lean_unsigned_to_nat(1u); x_21 = lean_nat_sub(x_17, x_20); lean_dec(x_17); -x_22 = l_Lean_Expr_withAppAux___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__11(x_1, x_2, x_3, x_4, x_15, x_19, x_21, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +x_22 = l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__11(x_1, x_2, x_3, x_4, x_15, x_19, x_21, x_6, x_7, x_8, x_9, x_10, x_11, x_12); return x_22; } case 6: { lean_object* x_23; lean_object* x_24; x_23 = l_Array_empty___closed__1; -x_24 = l_Lean_Meta_transform_visit_visitLambda___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__4(x_1, x_2, x_3, x_4, x_23, x_15, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +x_24 = l_Lean_Meta_transform_visit_visitLambda___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__4(x_1, x_2, x_3, x_4, x_23, x_15, x_6, x_7, x_8, x_9, x_10, x_11, x_12); return x_24; } case 7: { lean_object* x_25; lean_object* x_26; x_25 = l_Array_empty___closed__1; -x_26 = l_Lean_Meta_transform_visit_visitForall___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__5(x_1, x_2, x_3, x_4, x_25, x_15, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +x_26 = l_Lean_Meta_transform_visit_visitForall___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__5(x_1, x_2, x_3, x_4, x_25, x_15, x_6, x_7, x_8, x_9, x_10, x_11, x_12); return x_26; } case 8: { lean_object* x_27; lean_object* x_28; x_27 = l_Array_empty___closed__1; -x_28 = l_Lean_Meta_transform_visit_visitLet___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__6(x_1, x_2, x_3, x_4, x_27, x_15, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +x_28 = l_Lean_Meta_transform_visit_visitLet___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__6(x_1, x_2, x_3, x_4, x_27, x_15, x_6, x_7, x_8, x_9, x_10, x_11, x_12); return x_28; } case 10: @@ -4416,7 +4375,7 @@ lean_inc(x_4); lean_inc(x_3); lean_inc(x_2); lean_inc(x_1); -x_32 = l_Lean_Meta_transform_visit___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__2(x_1, x_2, x_3, x_4, x_31, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +x_32 = l_Lean_Meta_transform_visit___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__2(x_1, x_2, x_3, x_4, x_31, x_6, x_7, x_8, x_9, x_10, x_11, x_12); if (lean_obj_tag(x_32) == 0) { lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; @@ -4426,7 +4385,7 @@ x_34 = lean_ctor_get(x_32, 1); lean_inc(x_34); lean_dec(x_32); x_35 = lean_expr_update_mdata(x_15, x_33); -x_36 = l_Lean_Meta_transform_visit_visitPost___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__3(x_1, x_2, x_3, x_4, x_35, x_6, x_7, x_8, x_9, x_10, x_11, x_34); +x_36 = l_Lean_Meta_transform_visit_visitPost___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__3(x_1, x_2, x_3, x_4, x_35, x_6, x_7, x_8, x_9, x_10, x_11, x_34); return x_36; } else @@ -4485,7 +4444,7 @@ lean_inc(x_4); lean_inc(x_3); lean_inc(x_2); lean_inc(x_1); -x_44 = l_Lean_Meta_transform_visit___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__2(x_1, x_2, x_3, x_4, x_42, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +x_44 = l_Lean_Meta_transform_visit___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__2(x_1, x_2, x_3, x_4, x_42, x_6, x_7, x_8, x_9, x_10, x_11, x_12); if (lean_obj_tag(x_44) == 0) { lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; @@ -4499,7 +4458,7 @@ lean_ctor_set(x_47, 0, x_41); lean_ctor_set(x_47, 1, x_42); lean_ctor_set_uint64(x_47, sizeof(void*)*2, x_43); x_48 = lean_expr_update_mdata(x_47, x_45); -x_49 = l_Lean_Meta_transform_visit_visitPost___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__3(x_1, x_2, x_3, x_4, x_48, x_6, x_7, x_8, x_9, x_10, x_11, x_46); +x_49 = l_Lean_Meta_transform_visit_visitPost___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__3(x_1, x_2, x_3, x_4, x_48, x_6, x_7, x_8, x_9, x_10, x_11, x_46); return x_49; } else @@ -4561,7 +4520,7 @@ lean_inc(x_4); lean_inc(x_3); lean_inc(x_2); lean_inc(x_1); -x_58 = l_Lean_Meta_transform_visit___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__2(x_1, x_2, x_3, x_4, x_57, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +x_58 = l_Lean_Meta_transform_visit___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__2(x_1, x_2, x_3, x_4, x_57, x_6, x_7, x_8, x_9, x_10, x_11, x_12); if (lean_obj_tag(x_58) == 0) { lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; @@ -4571,7 +4530,7 @@ x_60 = lean_ctor_get(x_58, 1); lean_inc(x_60); lean_dec(x_58); x_61 = lean_expr_update_proj(x_15, x_59); -x_62 = l_Lean_Meta_transform_visit_visitPost___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__3(x_1, x_2, x_3, x_4, x_61, x_6, x_7, x_8, x_9, x_10, x_11, x_60); +x_62 = l_Lean_Meta_transform_visit_visitPost___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__3(x_1, x_2, x_3, x_4, x_61, x_6, x_7, x_8, x_9, x_10, x_11, x_60); return x_62; } else @@ -4633,7 +4592,7 @@ lean_inc(x_4); lean_inc(x_3); lean_inc(x_2); lean_inc(x_1); -x_71 = l_Lean_Meta_transform_visit___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__2(x_1, x_2, x_3, x_4, x_69, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +x_71 = l_Lean_Meta_transform_visit___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__2(x_1, x_2, x_3, x_4, x_69, x_6, x_7, x_8, x_9, x_10, x_11, x_12); if (lean_obj_tag(x_71) == 0) { lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; @@ -4648,7 +4607,7 @@ lean_ctor_set(x_74, 1, x_68); lean_ctor_set(x_74, 2, x_69); lean_ctor_set_uint64(x_74, sizeof(void*)*3, x_70); x_75 = lean_expr_update_proj(x_74, x_72); -x_76 = l_Lean_Meta_transform_visit_visitPost___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__3(x_1, x_2, x_3, x_4, x_75, x_6, x_7, x_8, x_9, x_10, x_11, x_73); +x_76 = l_Lean_Meta_transform_visit_visitPost___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__3(x_1, x_2, x_3, x_4, x_75, x_6, x_7, x_8, x_9, x_10, x_11, x_73); return x_76; } else @@ -4693,14 +4652,14 @@ return x_80; default: { lean_object* x_81; -x_81 = l_Lean_Meta_transform_visit_visitPost___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__3(x_1, x_2, x_3, x_4, x_15, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +x_81 = l_Lean_Meta_transform_visit_visitPost___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__3(x_1, x_2, x_3, x_4, x_15, x_6, x_7, x_8, x_9, x_10, x_11, x_12); return x_81; } } } } } -lean_object* l_Lean_Meta_transform_visit___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___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* l_Lean_Meta_transform_visit___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___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) { _start: { lean_object* x_13; lean_object* x_14; @@ -4737,12 +4696,12 @@ x_19 = lean_apply_1(x_1, x_5); x_20 = lean_alloc_closure((void*)(l_StateRefT_x27_lift___rarg___boxed), 2, 1); lean_closure_set(x_20, 0, x_19); lean_inc(x_4); -x_21 = lean_alloc_closure((void*)(l_Lean_Meta_transform_visit___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__2___lambda__1), 12, 4); +x_21 = lean_alloc_closure((void*)(l_Lean_Meta_transform_visit___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__2___lambda__1), 12, 4); lean_closure_set(x_21, 0, x_1); lean_closure_set(x_21, 1, x_2); lean_closure_set(x_21, 2, x_3); lean_closure_set(x_21, 3, x_4); -x_22 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__12___rarg), 9, 2); +x_22 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__12___rarg), 9, 2); lean_closure_set(x_22, 0, x_20); lean_closure_set(x_22, 1, x_21); lean_inc(x_11); @@ -4751,7 +4710,7 @@ lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); -x_23 = l_Lean_Meta_withIncRecDepth___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__13___rarg(x_22, x_6, x_7, x_8, x_9, x_10, x_11, x_17); +x_23 = l_Lean_Meta_withIncRecDepth___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__13___rarg(x_22, x_6, x_7, x_8, x_9, x_10, x_11, x_17); if (lean_obj_tag(x_23) == 0) { lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; @@ -4887,12 +4846,12 @@ x_45 = lean_apply_1(x_1, x_5); x_46 = lean_alloc_closure((void*)(l_StateRefT_x27_lift___rarg___boxed), 2, 1); lean_closure_set(x_46, 0, x_45); lean_inc(x_4); -x_47 = lean_alloc_closure((void*)(l_Lean_Meta_transform_visit___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__2___lambda__1), 12, 4); +x_47 = lean_alloc_closure((void*)(l_Lean_Meta_transform_visit___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__2___lambda__1), 12, 4); lean_closure_set(x_47, 0, x_1); lean_closure_set(x_47, 1, x_2); lean_closure_set(x_47, 2, x_3); lean_closure_set(x_47, 3, x_4); -x_48 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__12___rarg), 9, 2); +x_48 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__12___rarg), 9, 2); lean_closure_set(x_48, 0, x_46); lean_closure_set(x_48, 1, x_47); lean_inc(x_11); @@ -4901,7 +4860,7 @@ lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); -x_49 = l_Lean_Meta_withIncRecDepth___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__13___rarg(x_48, x_6, x_7, x_8, x_9, x_10, x_11, x_43); +x_49 = l_Lean_Meta_withIncRecDepth___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__13___rarg(x_48, x_6, x_7, x_8, x_9, x_10, x_11, x_43); if (lean_obj_tag(x_49) == 0) { lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; @@ -5058,7 +5017,7 @@ return x_71; } } } -lean_object* l_Lean_Meta_transform___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__1___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +lean_object* l_Lean_Meta_transform___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__1___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { lean_object* x_9; lean_object* x_10; lean_object* x_11; uint8_t x_12; @@ -5087,15 +5046,15 @@ return x_15; } } } -static lean_object* _init_l_Lean_Meta_transform___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__1___closed__1() { +static lean_object* _init_l_Lean_Meta_transform___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__1___closed__1() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Meta_transform___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__1___lambda__1___boxed), 8, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Meta_transform___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__1___lambda__1___boxed), 8, 0); return x_1; } } -lean_object* l_Lean_Meta_transform___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +lean_object* l_Lean_Meta_transform___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; @@ -5111,10 +5070,10 @@ lean_inc(x_15); x_16 = lean_ctor_get(x_14, 1); lean_inc(x_16); lean_dec(x_14); -x_17 = l_Lean_Meta_transform___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__1___closed__1; +x_17 = l_Lean_Meta_transform___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__1___closed__1; lean_inc(x_8); lean_inc(x_15); -x_18 = l_Lean_Meta_transform_visit___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__2(x_2, x_3, x_10, x_17, x_1, x_15, x_4, x_5, x_6, x_7, x_8, x_16); +x_18 = l_Lean_Meta_transform_visit___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__2(x_2, x_3, x_10, x_17, x_1, x_15, x_4, x_5, x_6, x_7, x_8, x_16); 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; @@ -5177,7 +5136,7 @@ return x_31; } } } -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_checkCount___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_checkCount___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { lean_object* x_9; lean_object* x_10; @@ -5189,7 +5148,7 @@ lean_ctor_set(x_10, 1, x_8); return x_10; } } -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_checkCount___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_checkCount___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { lean_object* x_9; @@ -5198,7 +5157,7 @@ if (lean_obj_tag(x_9) == 0) { lean_object* x_10; lean_object* x_11; x_10 = lean_box(0); -x_11 = l_Lean_Meta_ProofBelow_mkCtorType_checkCount___lambda__1(x_2, x_10, x_3, x_4, x_5, x_6, x_7, x_8); +x_11 = l_Lean_Meta_IndPredBelow_mkCtorType_checkCount___lambda__1(x_2, x_10, x_3, x_4, x_5, x_6, x_7, x_8); return x_11; } else @@ -5208,7 +5167,7 @@ x_12 = lean_ctor_get(x_9, 0); lean_inc(x_12); lean_dec(x_9); x_13 = lean_ctor_get(x_1, 1); -x_14 = lean_alloc_closure((void*)(l_Lean_Expr_withAppAux___at_Lean_Meta_ProofBelow_mkCtorType_mkProofBelowBinder___spec__3___lambda__1___boxed), 2, 1); +x_14 = lean_alloc_closure((void*)(l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_mkCtorType_mkBelowBinder___spec__3___lambda__1___boxed), 2, 1); lean_closure_set(x_14, 0, x_12); x_15 = lean_array_get_size(x_13); x_16 = lean_unsigned_to_nat(0u); @@ -5217,7 +5176,7 @@ if (lean_obj_tag(x_17) == 0) { lean_object* x_18; lean_object* x_19; x_18 = lean_box(0); -x_19 = l_Lean_Meta_ProofBelow_mkCtorType_checkCount___lambda__1(x_2, x_18, x_3, x_4, x_5, x_6, x_7, x_8); +x_19 = l_Lean_Meta_IndPredBelow_mkCtorType_checkCount___lambda__1(x_2, x_18, x_3, x_4, x_5, x_6, x_7, x_8); return x_19; } else @@ -5247,14 +5206,14 @@ lean_inc(x_30); x_31 = lean_ctor_get(x_29, 1); lean_inc(x_31); lean_dec(x_29); -x_32 = l_Lean_Meta_ProofBelow_mkCtorType_checkCount___lambda__1(x_2, x_30, x_3, x_4, x_5, x_6, x_7, x_31); +x_32 = l_Lean_Meta_IndPredBelow_mkCtorType_checkCount___lambda__1(x_2, x_30, x_3, x_4, x_5, x_6, x_7, x_31); lean_dec(x_30); return x_32; } } } } -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_checkCount___lambda__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_checkCount___lambda__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { lean_object* x_8; lean_object* x_9; @@ -5266,7 +5225,7 @@ lean_ctor_set(x_9, 1, x_7); return x_9; } } -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_checkCount___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* l_Lean_Meta_IndPredBelow_mkCtorType_checkCount___lambda__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { lean_object* x_8; uint8_t x_9; lean_object* x_10; lean_object* x_11; @@ -5279,15 +5238,15 @@ lean_ctor_set(x_11, 1, x_7); return x_11; } } -static lean_object* _init_l_Lean_Meta_ProofBelow_mkCtorType_checkCount___closed__1() { +static lean_object* _init_l_Lean_Meta_IndPredBelow_mkCtorType_checkCount___closed__1() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Meta_ProofBelow_mkCtorType_checkCount___lambda__3___boxed), 7, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Meta_IndPredBelow_mkCtorType_checkCount___lambda__3___boxed), 7, 0); return x_1; } } -static lean_object* _init_l_Lean_Meta_ProofBelow_mkCtorType_checkCount___closed__2() { +static lean_object* _init_l_Lean_Meta_IndPredBelow_mkCtorType_checkCount___closed__2() { _start: { lean_object* x_1; @@ -5295,20 +5254,20 @@ x_1 = lean_mk_string("only arrows are allowed as premises. Multiple recursive oc return x_1; } } -static lean_object* _init_l_Lean_Meta_ProofBelow_mkCtorType_checkCount___closed__3() { +static lean_object* _init_l_Lean_Meta_IndPredBelow_mkCtorType_checkCount___closed__3() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Meta_ProofBelow_mkCtorType_checkCount___closed__2; +x_1 = l_Lean_Meta_IndPredBelow_mkCtorType_checkCount___closed__2; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_checkCount(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_checkCount(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; -x_8 = lean_alloc_closure((void*)(l_Lean_Meta_ProofBelow_mkCtorType_checkCount___lambda__2___boxed), 8, 1); +x_8 = lean_alloc_closure((void*)(l_Lean_Meta_IndPredBelow_mkCtorType_checkCount___lambda__2___boxed), 8, 1); lean_closure_set(x_8, 0, x_1); x_9 = lean_st_ref_get(x_6, x_7); x_10 = lean_ctor_get(x_9, 1); @@ -5321,14 +5280,14 @@ lean_inc(x_13); x_14 = lean_ctor_get(x_12, 1); lean_inc(x_14); lean_dec(x_12); -x_15 = l_Lean_Meta_ProofBelow_mkCtorType_checkCount___closed__1; +x_15 = l_Lean_Meta_IndPredBelow_mkCtorType_checkCount___closed__1; lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); lean_inc(x_13); lean_inc(x_2); -x_16 = l_Lean_Meta_transform___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__1(x_2, x_8, x_15, x_13, x_3, x_4, x_5, x_6, x_14); +x_16 = l_Lean_Meta_transform___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__1(x_2, x_8, x_15, x_13, x_3, x_4, x_5, x_6, 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; lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; @@ -5353,7 +5312,7 @@ if (x_24 == 0) lean_object* x_25; lean_object* x_26; lean_dec(x_2); x_25 = lean_box(0); -x_26 = l_Lean_Meta_ProofBelow_mkCtorType_checkCount___lambda__4(x_21, x_25, x_3, x_4, x_5, x_6, x_22); +x_26 = l_Lean_Meta_IndPredBelow_mkCtorType_checkCount___lambda__4(x_21, x_25, x_3, x_4, x_5, x_6, x_22); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); @@ -5366,7 +5325,7 @@ 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; uint8_t x_33; lean_dec(x_21); x_27 = l_Lean_indentExpr(x_2); -x_28 = l_Lean_Meta_ProofBelow_mkCtorType_checkCount___closed__3; +x_28 = l_Lean_Meta_IndPredBelow_mkCtorType_checkCount___closed__3; x_29 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_29, 0, x_28); lean_ctor_set(x_29, 1, x_27); @@ -5429,54 +5388,54 @@ return x_40; } } } -lean_object* l_Lean_Meta_withLocalDecl___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___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* l_Lean_Meta_withLocalDecl___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___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) { _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_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__7___rarg(x_1, x_12, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +x_13 = l_Lean_Meta_withLocalDecl___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__7___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_object* l_Lean_Meta_withLocalDecl___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__7___boxed(lean_object* x_1, lean_object* x_2) { +lean_object* l_Lean_Meta_withLocalDecl___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__7___boxed(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; -x_3 = l_Lean_Meta_withLocalDecl___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__7(x_1, x_2); +x_3 = l_Lean_Meta_withLocalDecl___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__7(x_1, x_2); lean_dec(x_1); return x_3; } } -lean_object* l_Lean_Meta_withLocalDecl___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___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* l_Lean_Meta_withLocalDecl___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___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) { _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_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__8___rarg(x_1, x_12, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +x_13 = l_Lean_Meta_withLocalDecl___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__8___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_object* l_Lean_Meta_withLocalDecl___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__8___boxed(lean_object* x_1, lean_object* x_2) { +lean_object* l_Lean_Meta_withLocalDecl___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__8___boxed(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; -x_3 = l_Lean_Meta_withLocalDecl___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__8(x_1, x_2); +x_3 = l_Lean_Meta_withLocalDecl___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__8(x_1, x_2); lean_dec(x_1); return x_3; } } -lean_object* l_Lean_Meta_withLetDecl___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__9___boxed(lean_object* x_1, lean_object* x_2) { +lean_object* l_Lean_Meta_withLetDecl___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__9___boxed(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; -x_3 = l_Lean_Meta_withLetDecl___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__9(x_1, x_2); +x_3 = l_Lean_Meta_withLetDecl___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__9(x_1, x_2); lean_dec(x_1); return x_3; } } -lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__10___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__10___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, 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; @@ -5484,34 +5443,34 @@ 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_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__10(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); +x_17 = l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__10(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_object* l_Lean_Meta_withIncRecDepth___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__13___rarg___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +lean_object* l_Lean_Meta_withIncRecDepth___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__13___rarg___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { lean_object* x_11; -x_11 = l_Lean_Meta_withIncRecDepth___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__13___rarg___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_11 = l_Lean_Meta_withIncRecDepth___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__13___rarg___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); lean_dec(x_5); lean_dec(x_1); return x_11; } } -lean_object* l_Lean_Meta_withIncRecDepth___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__13___boxed(lean_object* x_1, lean_object* x_2) { +lean_object* l_Lean_Meta_withIncRecDepth___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__13___boxed(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; -x_3 = l_Lean_Meta_withIncRecDepth___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__13(x_1, x_2); +x_3 = l_Lean_Meta_withIncRecDepth___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__13(x_1, x_2); lean_dec(x_1); return x_3; } } -lean_object* l_Lean_Meta_transform___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__1___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +lean_object* l_Lean_Meta_transform___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__1___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { lean_object* x_9; -x_9 = l_Lean_Meta_transform___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__1___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +x_9 = l_Lean_Meta_transform___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__1___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); @@ -5520,11 +5479,11 @@ lean_dec(x_3); return x_9; } } -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_checkCount___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_checkCount___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { lean_object* x_9; -x_9 = l_Lean_Meta_ProofBelow_mkCtorType_checkCount___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +x_9 = l_Lean_Meta_IndPredBelow_mkCtorType_checkCount___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); @@ -5534,11 +5493,11 @@ lean_dec(x_2); return x_9; } } -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_checkCount___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_checkCount___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { lean_object* x_9; -x_9 = l_Lean_Meta_ProofBelow_mkCtorType_checkCount___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +x_9 = l_Lean_Meta_IndPredBelow_mkCtorType_checkCount___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); @@ -5548,11 +5507,11 @@ lean_dec(x_1); return x_9; } } -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_checkCount___lambda__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_checkCount___lambda__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { lean_object* x_8; -x_8 = l_Lean_Meta_ProofBelow_mkCtorType_checkCount___lambda__3(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +x_8 = l_Lean_Meta_IndPredBelow_mkCtorType_checkCount___lambda__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); @@ -5561,11 +5520,11 @@ lean_dec(x_2); return x_8; } } -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_checkCount___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* l_Lean_Meta_IndPredBelow_mkCtorType_checkCount___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) { _start: { lean_object* x_8; -x_8 = l_Lean_Meta_ProofBelow_mkCtorType_checkCount___lambda__4(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +x_8 = l_Lean_Meta_IndPredBelow_mkCtorType_checkCount___lambda__4(x_1, x_2, x_3, x_4, x_5, x_6, x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); @@ -5575,7 +5534,7 @@ lean_dec(x_1); return x_8; } } -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_modifyBinders___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, lean_object* x_16, lean_object* x_17, lean_object* x_18) { +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_modifyBinders___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, lean_object* x_16, lean_object* x_17, lean_object* x_18) { _start: { 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; @@ -5594,17 +5553,17 @@ lean_ctor_set(x_24, 4, x_7); lean_ctor_set(x_24, 5, x_8); x_25 = lean_unsigned_to_nat(1u); x_26 = lean_nat_add(x_9, x_25); -x_27 = l_Lean_Meta_ProofBelow_mkCtorType_modifyBinders(x_10, x_11, x_12, x_24, x_26, x_14, x_15, x_16, x_17, x_18); +x_27 = l_Lean_Meta_IndPredBelow_mkCtorType_modifyBinders(x_10, x_11, x_12, x_24, x_26, x_14, x_15, x_16, x_17, x_18); return x_27; } } -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_modifyBinders___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, lean_object* x_18, lean_object* x_19, lean_object* x_20) { +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_modifyBinders___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, lean_object* x_18, lean_object* x_19, lean_object* x_20) { _start: { lean_object* x_21; lean_object* x_22; lean_inc(x_9); lean_inc(x_1); -x_21 = lean_alloc_closure((void*)(l_Lean_Meta_ProofBelow_mkCtorType_modifyBinders___lambda__1___boxed), 18, 12); +x_21 = lean_alloc_closure((void*)(l_Lean_Meta_IndPredBelow_mkCtorType_modifyBinders___lambda__1___boxed), 18, 12); lean_closure_set(x_21, 0, x_1); lean_closure_set(x_21, 1, x_15); lean_closure_set(x_21, 2, x_2); @@ -5617,11 +5576,11 @@ lean_closure_set(x_21, 8, x_8); lean_closure_set(x_21, 9, x_9); lean_closure_set(x_21, 10, x_10); lean_closure_set(x_21, 11, x_11); -x_22 = l_Lean_Meta_ProofBelow_mkCtorType_mkMotiveBinder(x_9, x_12, x_14, x_1, x_13, lean_box(0), x_21, x_16, x_17, x_18, x_19, x_20); +x_22 = l_Lean_Meta_IndPredBelow_mkCtorType_mkMotiveBinder(x_9, x_12, x_14, x_1, x_13, lean_box(0), x_21, x_16, x_17, x_18, x_19, x_20); return x_22; } } -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_modifyBinders(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_modifyBinders(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, 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; uint8_t x_18; @@ -5650,7 +5609,7 @@ lean_dec(x_13); lean_dec(x_12); lean_dec(x_11); lean_dec(x_5); -x_19 = l_Lean_Meta_ProofBelow_mkCtorType_rebuild(x_1, x_2, x_3, x_4, x_6, x_7, x_8, x_9, x_10); +x_19 = l_Lean_Meta_IndPredBelow_mkCtorType_rebuild(x_1, x_2, x_3, x_4, x_6, x_7, x_8, x_9, x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); @@ -5682,7 +5641,7 @@ lean_inc(x_7); lean_inc(x_6); lean_inc(x_23); lean_inc(x_1); -x_25 = l_Lean_Meta_ProofBelow_mkCtorType_checkCount(x_1, x_23, x_6, x_7, x_8, x_9, x_24); +x_25 = l_Lean_Meta_IndPredBelow_mkCtorType_checkCount(x_1, x_23, x_6, x_7, x_8, x_9, x_24); if (lean_obj_tag(x_25) == 0) { lean_object* x_26; uint8_t x_27; @@ -5756,7 +5715,7 @@ lean_inc(x_23); lean_inc(x_4); lean_inc(x_1); lean_inc(x_21); -x_47 = lean_alloc_closure((void*)(l_Lean_Meta_ProofBelow_mkCtorType_modifyBinders___lambda__2___boxed), 20, 13); +x_47 = lean_alloc_closure((void*)(l_Lean_Meta_IndPredBelow_mkCtorType_modifyBinders___lambda__2___boxed), 20, 13); lean_closure_set(x_47, 0, x_21); lean_closure_set(x_47, 1, x_11); lean_closure_set(x_47, 2, x_12); @@ -5770,7 +5729,7 @@ lean_closure_set(x_47, 9, x_2); lean_closure_set(x_47, 10, x_3); lean_closure_set(x_47, 11, x_4); lean_closure_set(x_47, 12, x_23); -x_48 = l_Lean_Meta_ProofBelow_mkCtorType_mkProofBelowBinder(x_1, x_4, x_21, x_23, lean_box(0), x_47, x_6, x_7, x_8, x_9, x_46); +x_48 = l_Lean_Meta_IndPredBelow_mkCtorType_mkBelowBinder(x_1, x_4, x_21, x_23, lean_box(0), x_47, x_6, x_7, x_8, x_9, x_46); return x_48; } } @@ -5855,7 +5814,7 @@ return x_56; } } } -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_modifyBinders___lambda__1___boxed(lean_object** _args) { +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_modifyBinders___lambda__1___boxed(lean_object** _args) { lean_object* x_1 = _args[0]; lean_object* x_2 = _args[1]; lean_object* x_3 = _args[2]; @@ -5877,12 +5836,12 @@ lean_object* x_18 = _args[17]; _start: { lean_object* x_19; -x_19 = l_Lean_Meta_ProofBelow_mkCtorType_modifyBinders___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, x_16, x_17, x_18); +x_19 = l_Lean_Meta_IndPredBelow_mkCtorType_modifyBinders___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, x_16, x_17, x_18); lean_dec(x_9); return x_19; } } -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_modifyBinders___lambda__2___boxed(lean_object** _args) { +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_modifyBinders___lambda__2___boxed(lean_object** _args) { lean_object* x_1 = _args[0]; lean_object* x_2 = _args[1]; lean_object* x_3 = _args[2]; @@ -5906,11 +5865,11 @@ lean_object* x_20 = _args[19]; _start: { lean_object* x_21; -x_21 = l_Lean_Meta_ProofBelow_mkCtorType_modifyBinders___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, x_18, x_19, x_20); +x_21 = l_Lean_Meta_IndPredBelow_mkCtorType_modifyBinders___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, x_18, x_19, x_20); return x_21; } } -lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkCtorType_addMotives___spec__1___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkCtorType_addMotives___spec__1___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { lean_object* x_9; lean_object* x_10; lean_object* x_11; @@ -5920,7 +5879,7 @@ x_11 = l___private_Lean_Meta_Basic_0__Lean_Meta_instantiateForallAux(x_9, x_10, return x_11; } } -lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkCtorType_addMotives___spec__1(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkCtorType_addMotives___spec__1(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { uint8_t x_10; @@ -5949,7 +5908,7 @@ lean_object* x_18; lean_object* x_19; lean_object* x_20; uint8_t x_21; lean_obje x_18 = lean_ctor_get(x_16, 0); x_19 = lean_ctor_get(x_16, 1); lean_inc(x_1); -x_20 = lean_alloc_closure((void*)(l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkCtorType_addMotives___spec__1___lambda__1___boxed), 8, 2); +x_20 = lean_alloc_closure((void*)(l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkCtorType_addMotives___spec__1___lambda__1___boxed), 8, 2); lean_closure_set(x_20, 0, x_1); lean_closure_set(x_20, 1, x_19); x_21 = 1; @@ -5976,7 +5935,7 @@ lean_inc(x_30); lean_inc(x_29); lean_dec(x_16); lean_inc(x_1); -x_31 = lean_alloc_closure((void*)(l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkCtorType_addMotives___spec__1___lambda__1___boxed), 8, 2); +x_31 = lean_alloc_closure((void*)(l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkCtorType_addMotives___spec__1___lambda__1___boxed), 8, 2); lean_closure_set(x_31, 0, x_1); lean_closure_set(x_31, 1, x_30); x_32 = 1; @@ -5998,16 +5957,16 @@ goto _start; } } } -lean_object* l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_ProofBelow_mkCtorType_addMotives___spec__3___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +lean_object* l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_IndPredBelow_mkCtorType_addMotives___spec__3___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { lean_object* x_10; lean_object* x_11; x_10 = lean_array_push(x_1, x_4); -x_11 = l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_ProofBelow_mkCtorType_addMotives___spec__3(x_2, x_3, x_10, x_5, x_6, x_7, x_8, x_9); +x_11 = l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_IndPredBelow_mkCtorType_addMotives___spec__3(x_2, x_3, x_10, x_5, x_6, x_7, x_8, x_9); return x_11; } } -static lean_object* _init_l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_ProofBelow_mkCtorType_addMotives___spec__3___closed__1() { +static lean_object* _init_l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_IndPredBelow_mkCtorType_addMotives___spec__3___closed__1() { _start: { lean_object* x_1; lean_object* x_2; @@ -6017,22 +5976,22 @@ lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_ProofBelow_mkCtorType_addMotives___spec__3___closed__2() { +static lean_object* _init_l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_IndPredBelow_mkCtorType_addMotives___spec__3___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_ProofBelow_mkCtorType_addMotives___spec__3___closed__1; +x_1 = l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_IndPredBelow_mkCtorType_addMotives___spec__3___closed__1; x_2 = lean_alloc_closure((void*)(l_instInhabitedDepArrow___rarg), 2, 1); lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_ProofBelow_mkCtorType_addMotives___spec__3___closed__3() { +static lean_object* _init_l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_IndPredBelow_mkCtorType_addMotives___spec__3___closed__3() { _start: { uint8_t x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; x_1 = l_Lean_instInhabitedBinderInfo; -x_2 = l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_ProofBelow_mkCtorType_addMotives___spec__3___closed__2; +x_2 = l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_IndPredBelow_mkCtorType_addMotives___spec__3___closed__2; x_3 = lean_box(x_1); x_4 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_4, 0, x_3); @@ -6040,19 +5999,19 @@ lean_ctor_set(x_4, 1, x_2); return x_4; } } -static lean_object* _init_l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_ProofBelow_mkCtorType_addMotives___spec__3___closed__4() { +static lean_object* _init_l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_IndPredBelow_mkCtorType_addMotives___spec__3___closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_instInhabitedName; -x_2 = l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_ProofBelow_mkCtorType_addMotives___spec__3___closed__3; +x_2 = l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_IndPredBelow_mkCtorType_addMotives___spec__3___closed__3; x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); return x_3; } } -lean_object* l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_ProofBelow_mkCtorType_addMotives___spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +lean_object* l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_IndPredBelow_mkCtorType_addMotives___spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { lean_object* x_9; lean_object* x_10; uint8_t x_11; @@ -6071,7 +6030,7 @@ return x_12; else { 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 = l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_ProofBelow_mkCtorType_addMotives___spec__3___closed__4; +x_13 = l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_IndPredBelow_mkCtorType_addMotives___spec__3___closed__4; x_14 = lean_array_get(x_13, x_2, x_9); lean_dec(x_9); x_15 = lean_ctor_get(x_14, 1); @@ -6098,7 +6057,7 @@ lean_inc(x_20); x_21 = lean_ctor_get(x_19, 1); lean_inc(x_21); lean_dec(x_19); -x_22 = lean_alloc_closure((void*)(l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_ProofBelow_mkCtorType_addMotives___spec__3___lambda__1), 9, 3); +x_22 = lean_alloc_closure((void*)(l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_IndPredBelow_mkCtorType_addMotives___spec__3___lambda__1), 9, 3); lean_closure_set(x_22, 0, x_3); lean_closure_set(x_22, 1, x_1); lean_closure_set(x_22, 2, x_2); @@ -6141,16 +6100,16 @@ return x_28; } } } -lean_object* l_Lean_Meta_withLocalDecls___at_Lean_Meta_ProofBelow_mkCtorType_addMotives___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +lean_object* l_Lean_Meta_withLocalDecls___at_Lean_Meta_IndPredBelow_mkCtorType_addMotives___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; x_8 = l_Array_empty___closed__1; -x_9 = l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_ProofBelow_mkCtorType_addMotives___spec__3(x_2, x_1, x_8, x_3, x_4, x_5, x_6, x_7); +x_9 = l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_IndPredBelow_mkCtorType_addMotives___spec__3(x_2, x_1, x_8, x_3, x_4, x_5, x_6, x_7); return x_9; } } -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_addMotives___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* l_Lean_Meta_IndPredBelow_mkCtorType_addMotives___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: { uint8_t x_11; @@ -6165,7 +6124,7 @@ x_14 = l_Array_append___rarg(x_12, x_5); lean_ctor_set(x_1, 4, x_5); lean_ctor_set(x_1, 0, x_14); x_15 = lean_unsigned_to_nat(0u); -x_16 = l_Lean_Meta_ProofBelow_mkCtorType_modifyBinders(x_2, x_3, x_4, x_1, x_15, x_6, x_7, x_8, x_9, x_10); +x_16 = l_Lean_Meta_IndPredBelow_mkCtorType_modifyBinders(x_2, x_3, x_4, x_1, x_15, x_6, x_7, x_8, x_9, x_10); return x_16; } else @@ -6191,12 +6150,12 @@ lean_ctor_set(x_23, 3, x_20); lean_ctor_set(x_23, 4, x_5); lean_ctor_set(x_23, 5, x_21); x_24 = lean_unsigned_to_nat(0u); -x_25 = l_Lean_Meta_ProofBelow_mkCtorType_modifyBinders(x_2, x_3, x_4, x_23, x_24, x_6, x_7, x_8, x_9, x_10); +x_25 = l_Lean_Meta_IndPredBelow_mkCtorType_modifyBinders(x_2, x_3, x_4, x_23, x_24, x_6, x_7, x_8, x_9, x_10); return x_25; } } } -static lean_object* _init_l_Lean_Meta_ProofBelow_mkCtorType_addMotives___boxed__const__1() { +static lean_object* _init_l_Lean_Meta_IndPredBelow_mkCtorType_addMotives___boxed__const__1() { _start: { size_t x_1; lean_object* x_2; @@ -6205,7 +6164,7 @@ x_2 = lean_box_usize(x_1); return x_2; } } -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_addMotives(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_addMotives(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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; size_t 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; @@ -6216,9 +6175,9 @@ x_12 = lean_usize_of_nat(x_11); lean_dec(x_11); x_13 = x_10; x_14 = lean_box_usize(x_12); -x_15 = l_Lean_Meta_ProofBelow_mkCtorType_addMotives___boxed__const__1; +x_15 = l_Lean_Meta_IndPredBelow_mkCtorType_addMotives___boxed__const__1; lean_inc(x_4); -x_16 = lean_alloc_closure((void*)(l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkCtorType_addMotives___spec__1___boxed), 9, 4); +x_16 = lean_alloc_closure((void*)(l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkCtorType_addMotives___spec__1___boxed), 9, 4); lean_closure_set(x_16, 0, x_4); lean_closure_set(x_16, 1, x_14); lean_closure_set(x_16, 2, x_15); @@ -6237,12 +6196,12 @@ lean_inc(x_19); x_20 = lean_ctor_get(x_18, 1); lean_inc(x_20); lean_dec(x_18); -x_21 = lean_alloc_closure((void*)(l_Lean_Meta_ProofBelow_mkCtorType_addMotives___lambda__1), 10, 4); +x_21 = lean_alloc_closure((void*)(l_Lean_Meta_IndPredBelow_mkCtorType_addMotives___lambda__1), 10, 4); lean_closure_set(x_21, 0, x_4); lean_closure_set(x_21, 1, x_1); lean_closure_set(x_21, 2, x_2); lean_closure_set(x_21, 3, x_3); -x_22 = l_Lean_Meta_withLocalDecls___at_Lean_Meta_ProofBelow_mkCtorType_addMotives___spec__2(x_19, x_21, x_5, x_6, x_7, x_8, x_20); +x_22 = l_Lean_Meta_withLocalDecls___at_Lean_Meta_IndPredBelow_mkCtorType_addMotives___spec__2(x_19, x_21, x_5, x_6, x_7, x_8, x_20); return x_22; } else @@ -6277,17 +6236,17 @@ return x_26; } } } -lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkCtorType_addMotives___spec__1___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkCtorType_addMotives___spec__1___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { lean_object* x_9; -x_9 = l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkCtorType_addMotives___spec__1___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +x_9 = l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkCtorType_addMotives___spec__1___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); lean_dec(x_3); lean_dec(x_1); return x_9; } } -lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkCtorType_addMotives___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkCtorType_addMotives___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: { size_t x_10; size_t x_11; lean_object* x_12; @@ -6295,7 +6254,7 @@ x_10 = lean_unbox_usize(x_2); lean_dec(x_2); x_11 = lean_unbox_usize(x_3); lean_dec(x_3); -x_12 = l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkCtorType_addMotives___spec__1(x_1, x_10, x_11, x_4, x_5, x_6, x_7, x_8, x_9); +x_12 = l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkCtorType_addMotives___spec__1(x_1, x_10, x_11, x_4, x_5, x_6, x_7, x_8, x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); @@ -6303,7 +6262,7 @@ lean_dec(x_5); return x_12; } } -lean_object* l_Array_mapIdxM_map___at_Lean_Meta_ProofBelow_mkCtorType_addHeaderVars___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +lean_object* l_Array_mapIdxM_map___at_Lean_Meta_IndPredBelow_mkCtorType_addHeaderVars___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { lean_object* x_12; uint8_t x_13; @@ -6345,7 +6304,7 @@ return x_25; } } } -lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkCtorType_addHeaderVars___spec__3(size_t x_1, size_t x_2, lean_object* x_3) { +lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkCtorType_addHeaderVars___spec__3(size_t x_1, size_t x_2, lean_object* x_3) { _start: { uint8_t x_4; @@ -6407,7 +6366,7 @@ goto _start; } } } -lean_object* l_Lean_Meta_withLocalDeclsD___at_Lean_Meta_ProofBelow_mkCtorType_addHeaderVars___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +lean_object* l_Lean_Meta_withLocalDeclsD___at_Lean_Meta_IndPredBelow_mkCtorType_addHeaderVars___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; size_t x_9; size_t x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; @@ -6416,13 +6375,13 @@ x_9 = lean_usize_of_nat(x_8); lean_dec(x_8); x_10 = 0; x_11 = x_1; -x_12 = l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkCtorType_addHeaderVars___spec__3(x_9, x_10, x_11); +x_12 = l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkCtorType_addHeaderVars___spec__3(x_9, x_10, x_11); x_13 = x_12; -x_14 = l_Lean_Meta_withLocalDecls___at_Lean_Meta_ProofBelow_mkCtorType_addMotives___spec__2(x_13, x_2, x_3, x_4, x_5, x_6, x_7); +x_14 = l_Lean_Meta_withLocalDecls___at_Lean_Meta_IndPredBelow_mkCtorType_addMotives___spec__2(x_13, x_2, x_3, x_4, x_5, x_6, x_7); return x_14; } } -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_addHeaderVars___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* l_Lean_Meta_IndPredBelow_mkCtorType_addHeaderVars___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: { uint8_t x_11; @@ -6433,7 +6392,7 @@ lean_object* x_12; lean_object* x_13; x_12 = lean_ctor_get(x_1, 1); lean_dec(x_12); lean_ctor_set(x_1, 1, x_5); -x_13 = l_Lean_Meta_ProofBelow_mkCtorType_addMotives(x_2, x_3, x_4, x_1, x_6, x_7, x_8, x_9, x_10); +x_13 = l_Lean_Meta_IndPredBelow_mkCtorType_addMotives(x_2, x_3, x_4, x_1, x_6, x_7, x_8, x_9, x_10); return x_13; } else @@ -6457,12 +6416,12 @@ lean_ctor_set(x_19, 2, x_15); lean_ctor_set(x_19, 3, x_16); lean_ctor_set(x_19, 4, x_17); lean_ctor_set(x_19, 5, x_18); -x_20 = l_Lean_Meta_ProofBelow_mkCtorType_addMotives(x_2, x_3, x_4, x_19, x_6, x_7, x_8, x_9, x_10); +x_20 = l_Lean_Meta_IndPredBelow_mkCtorType_addMotives(x_2, x_3, x_4, x_19, x_6, x_7, x_8, x_9, x_10); return x_20; } } } -lean_object* l_Lean_Meta_ProofBelow_mkCtorType_addHeaderVars(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_addHeaderVars(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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; @@ -6471,27 +6430,27 @@ lean_inc(x_10); x_11 = lean_array_get_size(x_10); x_12 = lean_mk_empty_array_with_capacity(x_11); x_13 = lean_unsigned_to_nat(0u); -x_14 = l_Array_mapIdxM_map___at_Lean_Meta_ProofBelow_mkCtorType_addHeaderVars___spec__1(x_1, x_10, x_11, x_13, lean_box(0), x_12, x_5, x_6, x_7, x_8, x_9); +x_14 = l_Array_mapIdxM_map___at_Lean_Meta_IndPredBelow_mkCtorType_addHeaderVars___spec__1(x_1, x_10, x_11, x_13, lean_box(0), x_12, x_5, x_6, x_7, x_8, x_9); lean_dec(x_10); x_15 = lean_ctor_get(x_14, 0); lean_inc(x_15); x_16 = lean_ctor_get(x_14, 1); lean_inc(x_16); lean_dec(x_14); -x_17 = lean_alloc_closure((void*)(l_Lean_Meta_ProofBelow_mkCtorType_addHeaderVars___lambda__1), 10, 4); +x_17 = lean_alloc_closure((void*)(l_Lean_Meta_IndPredBelow_mkCtorType_addHeaderVars___lambda__1), 10, 4); lean_closure_set(x_17, 0, x_4); lean_closure_set(x_17, 1, x_1); lean_closure_set(x_17, 2, x_2); lean_closure_set(x_17, 3, x_3); -x_18 = l_Lean_Meta_withLocalDeclsD___at_Lean_Meta_ProofBelow_mkCtorType_addHeaderVars___spec__2(x_15, x_17, x_5, x_6, x_7, x_8, x_16); +x_18 = l_Lean_Meta_withLocalDeclsD___at_Lean_Meta_IndPredBelow_mkCtorType_addHeaderVars___spec__2(x_15, x_17, x_5, x_6, x_7, x_8, x_16); return x_18; } } -lean_object* l_Array_mapIdxM_map___at_Lean_Meta_ProofBelow_mkCtorType_addHeaderVars___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* l_Array_mapIdxM_map___at_Lean_Meta_IndPredBelow_mkCtorType_addHeaderVars___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) { _start: { lean_object* x_12; -x_12 = l_Array_mapIdxM_map___at_Lean_Meta_ProofBelow_mkCtorType_addHeaderVars___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +x_12 = l_Array_mapIdxM_map___at_Lean_Meta_IndPredBelow_mkCtorType_addHeaderVars___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); @@ -6501,7 +6460,7 @@ lean_dec(x_1); return x_12; } } -lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkCtorType_addHeaderVars___spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkCtorType_addHeaderVars___spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { size_t x_4; size_t x_5; lean_object* x_6; @@ -6509,11 +6468,11 @@ x_4 = lean_unbox_usize(x_1); lean_dec(x_1); x_5 = lean_unbox_usize(x_2); lean_dec(x_2); -x_6 = l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkCtorType_addHeaderVars___spec__3(x_4, x_5, x_3); +x_6 = l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkCtorType_addHeaderVars___spec__3(x_4, x_5, x_3); return x_6; } } -lean_object* l_Lean_Meta_ProofBelow_mkCtorType___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* l_Lean_Meta_IndPredBelow_mkCtorType___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; @@ -6538,11 +6497,11 @@ lean_ctor_set(x_19, 2, x_14); lean_ctor_set(x_19, 3, x_17); lean_ctor_set(x_19, 4, x_18); lean_ctor_set(x_19, 5, x_5); -x_20 = l_Lean_Meta_ProofBelow_mkCtorType_addHeaderVars(x_1, x_2, x_3, x_19, x_6, x_7, x_8, x_9, x_10); +x_20 = l_Lean_Meta_IndPredBelow_mkCtorType_addHeaderVars(x_1, x_2, x_3, x_19, x_6, x_7, x_8, x_9, x_10); return x_20; } } -lean_object* l_Lean_Meta_ProofBelow_mkCtorType(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +lean_object* l_Lean_Meta_IndPredBelow_mkCtorType(lean_object* x_1, lean_object* x_2, 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; @@ -6551,7 +6510,7 @@ lean_inc(x_9); x_10 = lean_ctor_get(x_9, 2); lean_inc(x_10); lean_dec(x_9); -x_11 = lean_alloc_closure((void*)(l_Lean_Meta_ProofBelow_mkCtorType___lambda__1), 10, 3); +x_11 = lean_alloc_closure((void*)(l_Lean_Meta_IndPredBelow_mkCtorType___lambda__1), 10, 3); lean_closure_set(x_11, 0, x_1); lean_closure_set(x_11, 1, x_2); lean_closure_set(x_11, 2, x_3); @@ -6559,7 +6518,7 @@ x_12 = l_Lean_Meta_forallTelescope___at___private_Lean_Meta_InferType_0__Lean_Me return x_12; } } -lean_object* l_Lean_throwError___at_Lean_Meta_ProofBelow_mkConstructor___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +lean_object* l_Lean_throwError___at_Lean_Meta_IndPredBelow_mkConstructor___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { lean_object* x_7; lean_object* x_8; uint8_t x_9; @@ -6597,7 +6556,7 @@ return x_15; } } } -lean_object* l_Lean_getConstInfoCtor___at_Lean_Meta_ProofBelow_mkConstructor___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +lean_object* l_Lean_getConstInfoCtor___at_Lean_Meta_IndPredBelow_mkConstructor___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { lean_object* x_7; @@ -6658,7 +6617,7 @@ x_21 = l_Lean_getConstInfoCtor___rarg___lambda__1___closed__2; 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_throwError___at_Lean_Meta_ProofBelow_mkConstructor___spec__2(x_22, x_2, x_3, x_4, x_5, x_15); +x_23 = l_Lean_throwError___at_Lean_Meta_IndPredBelow_mkConstructor___spec__2(x_22, x_2, x_3, x_4, x_5, x_15); return x_23; } } @@ -6687,12 +6646,12 @@ return x_27; } } } -lean_object* l_Lean_Meta_ProofBelow_mkConstructor(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +lean_object* l_Lean_Meta_IndPredBelow_mkConstructor(lean_object* x_1, lean_object* x_2, 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_inc(x_3); -x_9 = l_Lean_getConstInfoCtor___at_Lean_Meta_ProofBelow_mkConstructor___spec__1(x_3, x_4, x_5, x_6, x_7, x_8); +x_9 = l_Lean_getConstInfoCtor___at_Lean_Meta_IndPredBelow_mkConstructor___spec__1(x_3, x_4, x_5, x_6, x_7, x_8); if (lean_obj_tag(x_9) == 0) { lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; @@ -6707,7 +6666,7 @@ x_13 = l_Lean_instInhabitedName; x_14 = lean_array_get(x_13, x_12, x_2); lean_dec(x_12); x_15 = l_Lean_Name_updatePrefix(x_3, x_14); -x_16 = l_Lean_Meta_ProofBelow_mkCtorType(x_1, x_2, x_10, x_4, x_5, x_6, x_7, x_11); +x_16 = l_Lean_Meta_IndPredBelow_mkCtorType(x_1, x_2, x_10, x_4, x_5, x_6, x_7, x_11); if (lean_obj_tag(x_16) == 0) { uint8_t x_17; @@ -6794,11 +6753,11 @@ return x_31; } } } -lean_object* l_Lean_throwError___at_Lean_Meta_ProofBelow_mkConstructor___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +lean_object* l_Lean_throwError___at_Lean_Meta_IndPredBelow_mkConstructor___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { lean_object* x_7; -x_7 = l_Lean_throwError___at_Lean_Meta_ProofBelow_mkConstructor___spec__2(x_1, x_2, x_3, x_4, x_5, x_6); +x_7 = l_Lean_throwError___at_Lean_Meta_IndPredBelow_mkConstructor___spec__2(x_1, x_2, x_3, x_4, x_5, x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); @@ -6806,11 +6765,11 @@ lean_dec(x_2); return x_7; } } -lean_object* l_Lean_getConstInfoCtor___at_Lean_Meta_ProofBelow_mkConstructor___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +lean_object* l_Lean_getConstInfoCtor___at_Lean_Meta_IndPredBelow_mkConstructor___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { lean_object* x_7; -x_7 = l_Lean_getConstInfoCtor___at_Lean_Meta_ProofBelow_mkConstructor___spec__1(x_1, x_2, x_3, x_4, x_5, x_6); +x_7 = l_Lean_getConstInfoCtor___at_Lean_Meta_IndPredBelow_mkConstructor___spec__1(x_1, x_2, x_3, x_4, x_5, x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); @@ -6818,7 +6777,7 @@ lean_dec(x_2); return x_7; } } -lean_object* l_List_mapM___at_Lean_Meta_ProofBelow_mkInductiveType___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* l_List_mapM___at_Lean_Meta_IndPredBelow_mkInductiveType___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { if (lean_obj_tag(x_3) == 0) @@ -6851,7 +6810,7 @@ lean_inc(x_5); lean_inc(x_4); lean_inc(x_2); lean_inc(x_1); -x_14 = l_Lean_Meta_ProofBelow_mkConstructor(x_1, x_2, x_12, x_4, x_5, x_6, x_7, x_8); +x_14 = l_Lean_Meta_IndPredBelow_mkConstructor(x_1, x_2, x_12, x_4, x_5, x_6, x_7, x_8); if (lean_obj_tag(x_14) == 0) { lean_object* x_15; lean_object* x_16; lean_object* x_17; @@ -6860,7 +6819,7 @@ lean_inc(x_15); x_16 = lean_ctor_get(x_14, 1); lean_inc(x_16); lean_dec(x_14); -x_17 = l_List_mapM___at_Lean_Meta_ProofBelow_mkInductiveType___spec__1(x_1, x_2, x_13, x_4, x_5, x_6, x_7, x_16); +x_17 = l_List_mapM___at_Lean_Meta_IndPredBelow_mkInductiveType___spec__1(x_1, x_2, x_13, x_4, x_5, x_6, x_7, x_16); if (lean_obj_tag(x_17) == 0) { uint8_t x_18; @@ -6960,7 +6919,7 @@ lean_inc(x_5); lean_inc(x_4); lean_inc(x_2); lean_inc(x_1); -x_33 = l_Lean_Meta_ProofBelow_mkConstructor(x_1, x_2, x_31, x_4, x_5, x_6, x_7, x_8); +x_33 = l_Lean_Meta_IndPredBelow_mkConstructor(x_1, x_2, x_31, x_4, x_5, x_6, x_7, x_8); if (lean_obj_tag(x_33) == 0) { lean_object* x_34; lean_object* x_35; lean_object* x_36; @@ -6969,7 +6928,7 @@ lean_inc(x_34); x_35 = lean_ctor_get(x_33, 1); lean_inc(x_35); lean_dec(x_33); -x_36 = l_List_mapM___at_Lean_Meta_ProofBelow_mkInductiveType___spec__1(x_1, x_2, x_32, x_4, x_5, x_6, x_7, x_35); +x_36 = l_List_mapM___at_Lean_Meta_IndPredBelow_mkInductiveType___spec__1(x_1, x_2, x_32, x_4, x_5, x_6, x_7, x_35); if (lean_obj_tag(x_36) == 0) { lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; @@ -7058,7 +7017,7 @@ return x_49; } } } -lean_object* l_Lean_Meta_ProofBelow_mkInductiveType(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +lean_object* l_Lean_Meta_IndPredBelow_mkInductiveType(lean_object* x_1, lean_object* x_2, 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; @@ -7067,7 +7026,7 @@ lean_inc(x_9); lean_dec(x_3); lean_inc(x_2); lean_inc(x_1); -x_10 = l_List_mapM___at_Lean_Meta_ProofBelow_mkInductiveType___spec__1(x_1, x_2, x_9, x_4, x_5, x_6, x_7, x_8); +x_10 = l_List_mapM___at_Lean_Meta_IndPredBelow_mkInductiveType___spec__1(x_1, x_2, x_9, x_4, x_5, x_6, x_7, x_8); if (lean_obj_tag(x_10) == 0) { uint8_t x_11; @@ -7151,7 +7110,7 @@ return x_33; } } } -lean_object* l_Array_mapIdxM_map___at_Lean_Meta_ProofBelow_mkProofBelowDecl___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +lean_object* l_Array_mapIdxM_map___at_Lean_Meta_IndPredBelow_mkBelowDecl___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { lean_object* x_12; uint8_t x_13; @@ -7170,7 +7129,7 @@ lean_inc(x_8); lean_inc(x_7); lean_inc(x_4); lean_inc(x_1); -x_17 = l_Lean_Meta_ProofBelow_mkInductiveType(x_1, x_4, x_16, x_7, x_8, x_9, x_10, x_11); +x_17 = l_Lean_Meta_IndPredBelow_mkInductiveType(x_1, x_4, x_16, x_7, x_8, x_9, x_10, x_11); if (lean_obj_tag(x_17) == 0) { lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; @@ -7237,7 +7196,7 @@ return x_27; } } } -lean_object* l_Lean_Meta_ProofBelow_mkProofBelowDecl(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +lean_object* l_Lean_Meta_IndPredBelow_mkBelowDecl(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; @@ -7254,7 +7213,7 @@ lean_dec(x_11); x_13 = lean_array_get_size(x_7); x_14 = lean_mk_empty_array_with_capacity(x_13); lean_inc(x_1); -x_15 = l_Array_mapIdxM_map___at_Lean_Meta_ProofBelow_mkProofBelowDecl___spec__1(x_1, x_7, x_13, x_9, lean_box(0), x_14, x_2, x_3, x_4, x_5, x_6); +x_15 = l_Array_mapIdxM_map___at_Lean_Meta_IndPredBelow_mkBelowDecl___spec__1(x_1, x_7, x_13, x_9, lean_box(0), x_14, x_2, x_3, x_4, x_5, x_6); lean_dec(x_7); if (lean_obj_tag(x_15) == 0) { @@ -7344,16 +7303,16 @@ return x_38; } } } -lean_object* l_Array_mapIdxM_map___at_Lean_Meta_ProofBelow_mkProofBelowDecl___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* l_Array_mapIdxM_map___at_Lean_Meta_IndPredBelow_mkBelowDecl___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) { _start: { lean_object* x_12; -x_12 = l_Array_mapIdxM_map___at_Lean_Meta_ProofBelow_mkProofBelowDecl___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +x_12 = l_Array_mapIdxM_map___at_Lean_Meta_IndPredBelow_mkBelowDecl___spec__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_2); return x_12; } } -lean_object* l_Lean_Meta_ProofBelow_proveBrecOn_intros_match__1___rarg(lean_object* x_1, lean_object* x_2) { +lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn_intros_match__1___rarg(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; lean_object* x_4; lean_object* x_5; @@ -7366,15 +7325,15 @@ x_5 = lean_apply_2(x_2, x_3, x_4); return x_5; } } -lean_object* l_Lean_Meta_ProofBelow_proveBrecOn_intros_match__1(lean_object* x_1) { +lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn_intros_match__1(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_Meta_ProofBelow_proveBrecOn_intros_match__1___rarg), 2, 0); +x_2 = lean_alloc_closure((void*)(l_Lean_Meta_IndPredBelow_proveBrecOn_intros_match__1___rarg), 2, 0); return x_2; } } -lean_object* l_Lean_Meta_ProofBelow_proveBrecOn_intros_match__2___rarg(lean_object* x_1, lean_object* x_2) { +lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn_intros_match__2___rarg(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; lean_object* x_4; lean_object* x_5; @@ -7387,15 +7346,15 @@ x_5 = lean_apply_2(x_2, x_3, x_4); return x_5; } } -lean_object* l_Lean_Meta_ProofBelow_proveBrecOn_intros_match__2(lean_object* x_1) { +lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn_intros_match__2(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_Meta_ProofBelow_proveBrecOn_intros_match__2___rarg), 2, 0); +x_2 = lean_alloc_closure((void*)(l_Lean_Meta_IndPredBelow_proveBrecOn_intros_match__2___rarg), 2, 0); return x_2; } } -lean_object* l_Lean_Meta_ProofBelow_proveBrecOn_applyIH_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn_applyIH_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { if (lean_obj_tag(x_1) == 0) @@ -7418,15 +7377,15 @@ return x_7; } } } -lean_object* l_Lean_Meta_ProofBelow_proveBrecOn_applyIH_match__1(lean_object* x_1) { +lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn_applyIH_match__1(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_Meta_ProofBelow_proveBrecOn_applyIH_match__1___rarg), 3, 0); +x_2 = lean_alloc_closure((void*)(l_Lean_Meta_IndPredBelow_proveBrecOn_applyIH_match__1___rarg), 3, 0); return x_2; } } -lean_object* l_Lean_Meta_ProofBelow_proveBrecOn_solveByAssumption_match__1___rarg(lean_object* x_1, lean_object* x_2) { +lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn_solveByAssumption_match__1___rarg(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; @@ -7444,15 +7403,15 @@ x_7 = lean_apply_3(x_2, x_4, x_5, x_6); return x_7; } } -lean_object* l_Lean_Meta_ProofBelow_proveBrecOn_solveByAssumption_match__1(lean_object* x_1) { +lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn_solveByAssumption_match__1(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_Meta_ProofBelow_proveBrecOn_solveByAssumption_match__1___rarg), 2, 0); +x_2 = lean_alloc_closure((void*)(l_Lean_Meta_IndPredBelow_proveBrecOn_solveByAssumption_match__1___rarg), 2, 0); return x_2; } } -lean_object* l_Lean_Meta_ProofBelow_proveBrecOn_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { if (lean_obj_tag(x_1) == 0) @@ -7488,15 +7447,15 @@ return x_8; } } } -lean_object* l_Lean_Meta_ProofBelow_proveBrecOn_match__1(lean_object* x_1) { +lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn_match__1(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_Meta_ProofBelow_proveBrecOn_match__1___rarg), 3, 0); +x_2 = lean_alloc_closure((void*)(l_Lean_Meta_IndPredBelow_proveBrecOn_match__1___rarg), 3, 0); return x_2; } } -lean_object* l_Lean_Meta_ProofBelow_proveBrecOn_match__2___rarg(lean_object* x_1, lean_object* x_2) { +lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn_match__2___rarg(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; lean_object* x_4; lean_object* x_5; @@ -7509,15 +7468,15 @@ x_5 = lean_apply_2(x_2, x_3, x_4); return x_5; } } -lean_object* l_Lean_Meta_ProofBelow_proveBrecOn_match__2(lean_object* x_1) { +lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn_match__2(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_Meta_ProofBelow_proveBrecOn_match__2___rarg), 2, 0); +x_2 = lean_alloc_closure((void*)(l_Lean_Meta_IndPredBelow_proveBrecOn_match__2___rarg), 2, 0); return x_2; } } -lean_object* l_Lean_Meta_ProofBelow_proveBrecOn_intros(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn_intros(lean_object* x_1, lean_object* x_2, 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; uint8_t x_12; lean_object* x_13; @@ -7836,16 +7795,16 @@ return x_74; } } } -lean_object* l_Lean_Meta_ProofBelow_proveBrecOn_intros___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn_intros___boxed(lean_object* x_1, lean_object* x_2, 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_ProofBelow_proveBrecOn_intros(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +x_9 = l_Lean_Meta_IndPredBelow_proveBrecOn_intros(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); lean_dec(x_1); return x_9; } } -lean_object* l_Lean_throwError___at_Lean_Meta_ProofBelow_proveBrecOn_applyIH___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +lean_object* l_Lean_throwError___at_Lean_Meta_IndPredBelow_proveBrecOn_applyIH___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { lean_object* x_7; lean_object* x_8; uint8_t x_9; @@ -7883,7 +7842,7 @@ return x_15; } } } -lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_ProofBelow_proveBrecOn_applyIH___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_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_IndPredBelow_proveBrecOn_applyIH___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_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { uint8_t x_12; @@ -7979,7 +7938,7 @@ goto _start; } } } -static lean_object* _init_l_Lean_Meta_ProofBelow_proveBrecOn_applyIH___closed__1() { +static lean_object* _init_l_Lean_Meta_IndPredBelow_proveBrecOn_applyIH___closed__1() { _start: { lean_object* x_1; @@ -7987,16 +7946,16 @@ x_1 = lean_mk_string("cannot apply induction hypothesis: "); return x_1; } } -static lean_object* _init_l_Lean_Meta_ProofBelow_proveBrecOn_applyIH___closed__2() { +static lean_object* _init_l_Lean_Meta_IndPredBelow_proveBrecOn_applyIH___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Meta_ProofBelow_proveBrecOn_applyIH___closed__1; +x_1 = l_Lean_Meta_IndPredBelow_proveBrecOn_applyIH___closed__1; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -lean_object* l_Lean_Meta_ProofBelow_proveBrecOn_applyIH(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn_applyIH(lean_object* x_1, 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_19; lean_object* x_20; lean_object* x_21; size_t x_22; size_t x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; @@ -8012,7 +7971,7 @@ lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); lean_inc(x_1); -x_25 = l_Array_forInUnsafe_loop___at_Lean_Meta_ProofBelow_proveBrecOn_applyIH___spec__2(x_1, x_24, x_19, x_22, x_23, x_24, x_3, x_4, x_5, x_6, x_7); +x_25 = l_Array_forInUnsafe_loop___at_Lean_Meta_IndPredBelow_proveBrecOn_applyIH___spec__2(x_1, x_24, x_19, x_22, x_23, x_24, x_3, x_4, x_5, x_6, x_7); x_26 = lean_ctor_get(x_25, 0); lean_inc(x_26); x_27 = lean_ctor_get(x_26, 0); @@ -8061,7 +8020,7 @@ if (lean_obj_tag(x_8) == 0) lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; x_10 = lean_alloc_ctor(5, 1, 0); lean_ctor_set(x_10, 0, x_1); -x_11 = l_Lean_Meta_ProofBelow_proveBrecOn_applyIH___closed__2; +x_11 = l_Lean_Meta_IndPredBelow_proveBrecOn_applyIH___closed__2; x_12 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_12, 0, x_11); lean_ctor_set(x_12, 1, x_10); @@ -8069,7 +8028,7 @@ x_13 = l_Lean_KernelException_toMessageData___closed__15; x_14 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_14, 0, x_12); lean_ctor_set(x_14, 1, x_13); -x_15 = l_Lean_throwError___at_Lean_Meta_ProofBelow_proveBrecOn_applyIH___spec__1(x_14, x_3, x_4, x_5, x_6, x_9); +x_15 = l_Lean_throwError___at_Lean_Meta_IndPredBelow_proveBrecOn_applyIH___spec__1(x_14, x_3, x_4, x_5, x_6, x_9); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); @@ -8095,11 +8054,11 @@ return x_17; } } } -lean_object* l_Lean_throwError___at_Lean_Meta_ProofBelow_proveBrecOn_applyIH___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +lean_object* l_Lean_throwError___at_Lean_Meta_IndPredBelow_proveBrecOn_applyIH___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { lean_object* x_7; -x_7 = l_Lean_throwError___at_Lean_Meta_ProofBelow_proveBrecOn_applyIH___spec__1(x_1, x_2, x_3, x_4, x_5, x_6); +x_7 = l_Lean_throwError___at_Lean_Meta_IndPredBelow_proveBrecOn_applyIH___spec__1(x_1, x_2, x_3, x_4, x_5, x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); @@ -8107,7 +8066,7 @@ lean_dec(x_2); return x_7; } } -lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_ProofBelow_proveBrecOn_applyIH___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_IndPredBelow_proveBrecOn_applyIH___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { size_t x_12; size_t x_13; lean_object* x_14; @@ -8115,21 +8074,21 @@ x_12 = lean_unbox_usize(x_4); lean_dec(x_4); x_13 = lean_unbox_usize(x_5); lean_dec(x_5); -x_14 = l_Array_forInUnsafe_loop___at_Lean_Meta_ProofBelow_proveBrecOn_applyIH___spec__2(x_1, x_2, x_3, x_12, x_13, x_6, x_7, x_8, x_9, x_10, x_11); +x_14 = l_Array_forInUnsafe_loop___at_Lean_Meta_IndPredBelow_proveBrecOn_applyIH___spec__2(x_1, x_2, x_3, x_12, x_13, x_6, x_7, x_8, x_9, x_10, x_11); lean_dec(x_3); return x_14; } } -lean_object* l_Lean_Meta_ProofBelow_proveBrecOn_applyIH___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn_applyIH___boxed(lean_object* x_1, 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_ProofBelow_proveBrecOn_applyIH(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +x_8 = l_Lean_Meta_IndPredBelow_proveBrecOn_applyIH(x_1, x_2, x_3, x_4, x_5, x_6, x_7); lean_dec(x_2); return x_8; } } -lean_object* l_Array_mapIdxM_map___at_Lean_Meta_ProofBelow_proveBrecOn_induction___spec__1___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +lean_object* l_Array_mapIdxM_map___at_Lean_Meta_IndPredBelow_proveBrecOn_induction___spec__1___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, 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; uint8_t x_20; uint8_t x_21; lean_object* x_22; @@ -8147,7 +8106,7 @@ x_22 = l_Lean_Meta_mkLambdaFVars(x_6, x_19, x_20, x_21, x_8, x_9, x_10, x_11, x_ return x_22; } } -lean_object* l_Array_mapIdxM_map___at_Lean_Meta_ProofBelow_proveBrecOn_induction___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +lean_object* l_Array_mapIdxM_map___at_Lean_Meta_IndPredBelow_proveBrecOn_induction___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { _start: { lean_object* x_15; uint8_t x_16; @@ -8181,7 +8140,7 @@ lean_inc(x_2); lean_inc(x_4); lean_inc(x_7); lean_inc(x_1); -x_24 = lean_alloc_closure((void*)(l_Array_mapIdxM_map___at_Lean_Meta_ProofBelow_proveBrecOn_induction___spec__1___lambda__1___boxed), 12, 5); +x_24 = lean_alloc_closure((void*)(l_Array_mapIdxM_map___at_Lean_Meta_IndPredBelow_proveBrecOn_induction___spec__1___lambda__1___boxed), 12, 5); lean_closure_set(x_24, 0, x_1); lean_closure_set(x_24, 1, x_7); lean_closure_set(x_24, 2, x_4); @@ -8191,7 +8150,7 @@ lean_inc(x_13); lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); -x_25 = l_Lean_Meta_forallTelescope___at_Lean_Meta_ProofBelow_mkContext_mkHeader___spec__3___rarg(x_22, x_24, x_10, x_11, x_12, x_13, x_23); +x_25 = l_Lean_Meta_forallTelescope___at_Lean_Meta_IndPredBelow_mkContext_mkHeader___spec__3___rarg(x_22, x_24, x_10, x_11, x_12, x_13, x_23); if (lean_obj_tag(x_25) == 0) { lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; @@ -8298,7 +8257,7 @@ return x_39; } } } -lean_object* l_Lean_Meta_ProofBelow_proveBrecOn_induction___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* l_Lean_Meta_IndPredBelow_proveBrecOn_induction___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { lean_object* x_11; lean_object* x_12; lean_object* x_13; uint8_t x_14; lean_object* x_15; lean_object* x_16; @@ -8334,7 +8293,7 @@ return x_24; } } } -lean_object* l_Lean_Meta_ProofBelow_proveBrecOn_induction(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn_induction(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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; size_t x_12; size_t x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; size_t x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; @@ -8373,7 +8332,7 @@ lean_inc(x_6); lean_inc(x_5); lean_inc(x_25); lean_inc(x_16); -x_30 = l_Array_mapIdxM_map___at_Lean_Meta_ProofBelow_proveBrecOn_induction___spec__1(x_1, x_16, x_22, x_25, x_26, x_27, x_29, lean_box(0), x_28, x_5, x_6, x_7, x_8, x_9); +x_30 = l_Array_mapIdxM_map___at_Lean_Meta_IndPredBelow_proveBrecOn_induction___spec__1(x_1, x_16, x_22, x_25, x_26, x_27, x_29, lean_box(0), x_28, x_5, x_6, x_7, x_8, x_9); lean_dec(x_26); if (lean_obj_tag(x_30) == 0) { @@ -8391,7 +8350,7 @@ x_35 = lean_name_mk_string(x_33, x_34); x_36 = lean_alloc_closure((void*)(l_Lean_getConstInfo___at_Lean_Meta_mkConstWithFreshMVarLevels___spec__1___boxed), 6, 1); lean_closure_set(x_36, 0, x_35); lean_inc(x_3); -x_37 = lean_alloc_closure((void*)(l_Lean_Meta_ProofBelow_proveBrecOn_induction___lambda__1___boxed), 10, 4); +x_37 = lean_alloc_closure((void*)(l_Lean_Meta_IndPredBelow_proveBrecOn_induction___lambda__1___boxed), 10, 4); lean_closure_set(x_37, 0, x_25); lean_closure_set(x_37, 1, x_16); lean_closure_set(x_37, 2, x_31); @@ -8434,11 +8393,11 @@ return x_43; } } } -lean_object* l_Array_mapIdxM_map___at_Lean_Meta_ProofBelow_proveBrecOn_induction___spec__1___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +lean_object* l_Array_mapIdxM_map___at_Lean_Meta_IndPredBelow_proveBrecOn_induction___spec__1___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { _start: { lean_object* x_13; -x_13 = l_Array_mapIdxM_map___at_Lean_Meta_ProofBelow_proveBrecOn_induction___spec__1___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +x_13 = l_Array_mapIdxM_map___at_Lean_Meta_IndPredBelow_proveBrecOn_induction___spec__1___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); @@ -8449,26 +8408,26 @@ lean_dec(x_1); return x_13; } } -lean_object* l_Array_mapIdxM_map___at_Lean_Meta_ProofBelow_proveBrecOn_induction___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* l_Array_mapIdxM_map___at_Lean_Meta_IndPredBelow_proveBrecOn_induction___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: { lean_object* x_15; -x_15 = l_Array_mapIdxM_map___at_Lean_Meta_ProofBelow_proveBrecOn_induction___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +x_15 = l_Array_mapIdxM_map___at_Lean_Meta_IndPredBelow_proveBrecOn_induction___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14); lean_dec(x_5); return x_15; } } -lean_object* l_Lean_Meta_ProofBelow_proveBrecOn_induction___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* l_Lean_Meta_IndPredBelow_proveBrecOn_induction___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { lean_object* x_11; -x_11 = l_Lean_Meta_ProofBelow_proveBrecOn_induction___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_11 = l_Lean_Meta_IndPredBelow_proveBrecOn_induction___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); lean_dec(x_5); lean_dec(x_3); return x_11; } } -lean_object* l_Lean_Meta_ProofBelow_proveBrecOn_introNPRec(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn_introNPRec(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { lean_object* x_7; @@ -8653,7 +8612,7 @@ return x_39; } } } -lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_ProofBelow_proveBrecOn_applyCtors___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_proveBrecOn_applyCtors___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: { if (lean_obj_tag(x_3) == 5) @@ -8693,7 +8652,7 @@ return x_23; } } } -lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_ProofBelow_proveBrecOn_applyCtors___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_proveBrecOn_applyCtors___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { if (lean_obj_tag(x_2) == 5) @@ -8727,13 +8686,13 @@ 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); -x_23 = l_Lean_Expr_withAppAux___at_Lean_Meta_ProofBelow_proveBrecOn_applyCtors___spec__1(x_1, x_2, x_16, x_20, x_22, x_5, x_6, x_7, x_8, x_9); +x_23 = l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_proveBrecOn_applyCtors___spec__1(x_1, x_2, x_16, x_20, x_22, x_5, x_6, x_7, x_8, x_9); lean_dec(x_2); return x_23; } } } -lean_object* l_Array_mapIdxM_map___at_Lean_Meta_ProofBelow_proveBrecOn_applyCtors___spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +lean_object* l_Array_mapIdxM_map___at_Lean_Meta_IndPredBelow_proveBrecOn_applyCtors___spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { lean_object* x_12; uint8_t x_13; @@ -8750,7 +8709,7 @@ lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); -x_17 = l_Lean_Meta_ProofBelow_proveBrecOn_introNPRec(x_16, x_7, x_8, x_9, x_10, x_11); +x_17 = l_Lean_Meta_IndPredBelow_proveBrecOn_introNPRec(x_16, x_7, x_8, x_9, x_10, x_11); if (lean_obj_tag(x_17) == 0) { lean_object* x_18; lean_object* x_19; lean_object* x_20; @@ -8779,7 +8738,7 @@ lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); -x_27 = l_Lean_Expr_withAppAux___at_Lean_Meta_ProofBelow_proveBrecOn_applyCtors___spec__2(x_18, x_21, x_25, x_26, x_7, x_8, x_9, x_10, x_22); +x_27 = l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_proveBrecOn_applyCtors___spec__2(x_18, x_21, x_25, x_26, x_7, x_8, x_9, x_10, x_22); if (lean_obj_tag(x_27) == 0) { lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; @@ -8905,7 +8864,7 @@ return x_45; } } } -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_Meta_ProofBelow_proveBrecOn_applyCtors___spec__4(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4) { +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_Meta_IndPredBelow_proveBrecOn_applyCtors___spec__4(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4) { _start: { uint8_t x_5; @@ -8927,7 +8886,7 @@ return x_4; } } } -lean_object* l_Lean_Meta_ProofBelow_proveBrecOn_applyCtors(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn_applyCtors(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; @@ -8939,7 +8898,7 @@ x_9 = l_List_toArrayAux___rarg(x_1, x_8); x_10 = lean_array_get_size(x_9); x_11 = lean_mk_empty_array_with_capacity(x_10); x_12 = lean_unsigned_to_nat(0u); -x_13 = l_Array_mapIdxM_map___at_Lean_Meta_ProofBelow_proveBrecOn_applyCtors___spec__3(x_1, x_9, x_10, x_12, lean_box(0), x_11, x_2, x_3, x_4, x_5, x_6); +x_13 = l_Array_mapIdxM_map___at_Lean_Meta_IndPredBelow_proveBrecOn_applyCtors___spec__3(x_1, x_9, x_10, x_12, lean_box(0), x_11, x_2, x_3, x_4, x_5, x_6); lean_dec(x_9); lean_dec(x_1); if (lean_obj_tag(x_13) == 0) @@ -8966,7 +8925,7 @@ size_t x_19; size_t x_20; lean_object* x_21; x_19 = lean_usize_of_nat(x_17); lean_dec(x_17); x_20 = 0; -x_21 = l_Array_foldrMUnsafe_fold___at_Lean_Meta_ProofBelow_proveBrecOn_applyCtors___spec__4(x_15, x_19, x_20, x_16); +x_21 = l_Array_foldrMUnsafe_fold___at_Lean_Meta_IndPredBelow_proveBrecOn_applyCtors___spec__4(x_15, x_19, x_20, x_16); lean_dec(x_15); lean_ctor_set(x_13, 0, x_21); return x_13; @@ -8999,7 +8958,7 @@ size_t x_28; size_t x_29; lean_object* x_30; lean_object* x_31; x_28 = lean_usize_of_nat(x_25); lean_dec(x_25); x_29 = 0; -x_30 = l_Array_foldrMUnsafe_fold___at_Lean_Meta_ProofBelow_proveBrecOn_applyCtors___spec__4(x_22, x_28, x_29, x_24); +x_30 = l_Array_foldrMUnsafe_fold___at_Lean_Meta_IndPredBelow_proveBrecOn_applyCtors___spec__4(x_22, x_28, x_29, x_24); lean_dec(x_22); x_31 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_31, 0, x_30); @@ -9032,26 +8991,26 @@ return x_35; } } } -lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_ProofBelow_proveBrecOn_applyCtors___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* l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_proveBrecOn_applyCtors___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { lean_object* x_11; -x_11 = l_Lean_Expr_withAppAux___at_Lean_Meta_ProofBelow_proveBrecOn_applyCtors___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_11 = l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_proveBrecOn_applyCtors___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_2); return x_11; } } -lean_object* l_Array_mapIdxM_map___at_Lean_Meta_ProofBelow_proveBrecOn_applyCtors___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* l_Array_mapIdxM_map___at_Lean_Meta_IndPredBelow_proveBrecOn_applyCtors___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) { _start: { lean_object* x_12; -x_12 = l_Array_mapIdxM_map___at_Lean_Meta_ProofBelow_proveBrecOn_applyCtors___spec__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 = l_Array_mapIdxM_map___at_Lean_Meta_IndPredBelow_proveBrecOn_applyCtors___spec__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_2); lean_dec(x_1); return x_12; } } -lean_object* l_Array_foldrMUnsafe_fold___at_Lean_Meta_ProofBelow_proveBrecOn_applyCtors___spec__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +lean_object* l_Array_foldrMUnsafe_fold___at_Lean_Meta_IndPredBelow_proveBrecOn_applyCtors___spec__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { size_t x_5; size_t x_6; lean_object* x_7; @@ -9059,12 +9018,12 @@ x_5 = lean_unbox_usize(x_2); lean_dec(x_2); x_6 = lean_unbox_usize(x_3); lean_dec(x_3); -x_7 = l_Array_foldrMUnsafe_fold___at_Lean_Meta_ProofBelow_proveBrecOn_applyCtors___spec__4(x_1, x_5, x_6, x_4); +x_7 = l_Array_foldrMUnsafe_fold___at_Lean_Meta_IndPredBelow_proveBrecOn_applyCtors___spec__4(x_1, x_5, x_6, x_4); lean_dec(x_1); return x_7; } } -lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_ProofBelow_proveBrecOn_solveByAssumption___spec__1(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_IndPredBelow_proveBrecOn_solveByAssumption___spec__1(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { uint8_t x_9; @@ -9134,7 +9093,7 @@ return x_29; } } } -lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_ProofBelow_proveBrecOn_solveByAssumption___spec__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_IndPredBelow_proveBrecOn_solveByAssumption___spec__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { uint8_t x_11; @@ -9149,7 +9108,7 @@ lean_inc(x_7); lean_inc(x_6); lean_inc(x_2); lean_inc(x_1); -x_13 = l_Std_PersistentArray_anyMAux___at_Lean_Meta_ProofBelow_proveBrecOn_solveByAssumption___spec__3(x_1, x_2, x_12, x_6, x_7, x_8, x_9, x_10); +x_13 = l_Std_PersistentArray_anyMAux___at_Lean_Meta_IndPredBelow_proveBrecOn_solveByAssumption___spec__3(x_1, x_2, x_12, x_6, x_7, x_8, x_9, x_10); lean_dec(x_12); if (lean_obj_tag(x_13) == 0) { @@ -9252,7 +9211,7 @@ return x_34; } } } -lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_ProofBelow_proveBrecOn_solveByAssumption___spec__5___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, uint8_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_IndPredBelow_proveBrecOn_solveByAssumption___spec__5___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, uint8_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { if (x_5 == 0) @@ -9313,7 +9272,7 @@ size_t x_41; size_t x_42; lean_object* x_43; lean_object* x_44; uint8_t x_45; x_41 = 0; x_42 = lean_usize_of_nat(x_35); lean_dec(x_35); -x_43 = l_Array_anyMUnsafe_any___at_Lean_Meta_ProofBelow_proveBrecOn_solveByAssumption___spec__1(x_4, x_41, x_42, x_6, x_7, x_8, x_9, x_15); +x_43 = l_Array_anyMUnsafe_any___at_Lean_Meta_IndPredBelow_proveBrecOn_solveByAssumption___spec__1(x_4, x_41, x_42, x_6, x_7, x_8, x_9, x_15); x_44 = lean_ctor_get(x_43, 0); lean_inc(x_44); x_45 = lean_unbox(x_44); @@ -9396,7 +9355,7 @@ return x_33; } } } -lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_ProofBelow_proveBrecOn_solveByAssumption___spec__5(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_IndPredBelow_proveBrecOn_solveByAssumption___spec__5(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { uint8_t x_11; @@ -9448,7 +9407,7 @@ x_25 = lean_alloc_closure((void*)(l_Lean_Meta_isDefEq), 7, 2); lean_closure_set(x_25, 0, x_2); lean_closure_set(x_25, 1, x_24); lean_inc(x_1); -x_26 = lean_alloc_closure((void*)(l_Array_anyMUnsafe_any___at_Lean_Meta_ProofBelow_proveBrecOn_solveByAssumption___spec__5___lambda__1___boxed), 10, 4); +x_26 = lean_alloc_closure((void*)(l_Array_anyMUnsafe_any___at_Lean_Meta_IndPredBelow_proveBrecOn_solveByAssumption___spec__5___lambda__1___boxed), 10, 4); lean_closure_set(x_26, 0, x_1); lean_closure_set(x_26, 1, x_24); lean_closure_set(x_26, 2, x_16); @@ -9593,7 +9552,7 @@ return x_53; } } } -lean_object* l_Std_PersistentArray_anyMAux___at_Lean_Meta_ProofBelow_proveBrecOn_solveByAssumption___spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +lean_object* l_Std_PersistentArray_anyMAux___at_Lean_Meta_IndPredBelow_proveBrecOn_solveByAssumption___spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { if (lean_obj_tag(x_3) == 0) @@ -9647,7 +9606,7 @@ size_t x_20; size_t x_21; lean_object* x_22; x_20 = 0; x_21 = lean_usize_of_nat(x_10); lean_dec(x_10); -x_22 = l_Array_anyMUnsafe_any___at_Lean_Meta_ProofBelow_proveBrecOn_solveByAssumption___spec__4(x_1, x_2, x_9, x_20, x_21, x_4, x_5, x_6, x_7, x_8); +x_22 = l_Array_anyMUnsafe_any___at_Lean_Meta_IndPredBelow_proveBrecOn_solveByAssumption___spec__4(x_1, x_2, x_9, x_20, x_21, x_4, x_5, x_6, x_7, x_8); return x_22; } } @@ -9703,14 +9662,14 @@ size_t x_34; size_t x_35; lean_object* x_36; x_34 = 0; x_35 = lean_usize_of_nat(x_24); lean_dec(x_24); -x_36 = l_Array_anyMUnsafe_any___at_Lean_Meta_ProofBelow_proveBrecOn_solveByAssumption___spec__5(x_1, x_2, x_23, x_34, x_35, x_4, x_5, x_6, x_7, x_8); +x_36 = l_Array_anyMUnsafe_any___at_Lean_Meta_IndPredBelow_proveBrecOn_solveByAssumption___spec__5(x_1, x_2, x_23, x_34, x_35, x_4, x_5, x_6, x_7, x_8); return x_36; } } } } } -lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_ProofBelow_proveBrecOn_solveByAssumption___spec__6(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_IndPredBelow_proveBrecOn_solveByAssumption___spec__6(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { uint8_t x_11; @@ -9762,7 +9721,7 @@ x_25 = lean_alloc_closure((void*)(l_Lean_Meta_isDefEq), 7, 2); lean_closure_set(x_25, 0, x_2); lean_closure_set(x_25, 1, x_24); lean_inc(x_1); -x_26 = lean_alloc_closure((void*)(l_Array_anyMUnsafe_any___at_Lean_Meta_ProofBelow_proveBrecOn_solveByAssumption___spec__5___lambda__1___boxed), 10, 4); +x_26 = lean_alloc_closure((void*)(l_Array_anyMUnsafe_any___at_Lean_Meta_IndPredBelow_proveBrecOn_solveByAssumption___spec__5___lambda__1___boxed), 10, 4); lean_closure_set(x_26, 0, x_1); lean_closure_set(x_26, 1, x_24); lean_closure_set(x_26, 2, x_16); @@ -9907,7 +9866,7 @@ return x_53; } } } -lean_object* l_Std_PersistentArray_anyM___at_Lean_Meta_ProofBelow_proveBrecOn_solveByAssumption___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +lean_object* l_Std_PersistentArray_anyM___at_Lean_Meta_IndPredBelow_proveBrecOn_solveByAssumption___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; @@ -9918,7 +9877,7 @@ lean_inc(x_5); lean_inc(x_4); lean_inc(x_2); lean_inc(x_1); -x_10 = l_Std_PersistentArray_anyMAux___at_Lean_Meta_ProofBelow_proveBrecOn_solveByAssumption___spec__3(x_1, x_2, x_9, x_4, x_5, x_6, x_7, x_8); +x_10 = l_Std_PersistentArray_anyMAux___at_Lean_Meta_IndPredBelow_proveBrecOn_solveByAssumption___spec__3(x_1, x_2, x_9, x_4, x_5, x_6, x_7, x_8); if (lean_obj_tag(x_10) == 0) { lean_object* x_11; uint8_t x_12; @@ -9981,7 +9940,7 @@ lean_free_object(x_10); x_25 = 0; x_26 = lean_usize_of_nat(x_17); lean_dec(x_17); -x_27 = l_Array_anyMUnsafe_any___at_Lean_Meta_ProofBelow_proveBrecOn_solveByAssumption___spec__6(x_1, x_2, x_16, x_25, x_26, x_4, x_5, x_6, x_7, x_14); +x_27 = l_Array_anyMUnsafe_any___at_Lean_Meta_IndPredBelow_proveBrecOn_solveByAssumption___spec__6(x_1, x_2, x_16, x_25, x_26, x_4, x_5, x_6, x_7, x_14); return x_27; } } @@ -10040,7 +9999,7 @@ size_t x_40; size_t x_41; lean_object* x_42; x_40 = 0; x_41 = lean_usize_of_nat(x_30); lean_dec(x_30); -x_42 = l_Array_anyMUnsafe_any___at_Lean_Meta_ProofBelow_proveBrecOn_solveByAssumption___spec__6(x_1, x_2, x_29, x_40, x_41, x_4, x_5, x_6, x_7, x_28); +x_42 = l_Array_anyMUnsafe_any___at_Lean_Meta_IndPredBelow_proveBrecOn_solveByAssumption___spec__6(x_1, x_2, x_29, x_40, x_41, x_4, x_5, x_6, x_7, x_28); return x_42; } } @@ -10106,7 +10065,7 @@ return x_50; } } } -lean_object* l_Lean_Meta_ProofBelow_proveBrecOn_solveByAssumption___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* l_Lean_Meta_IndPredBelow_proveBrecOn_solveByAssumption___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { lean_object* x_8; @@ -10121,7 +10080,7 @@ x_10 = lean_ctor_get(x_8, 1); lean_inc(x_10); lean_dec(x_8); x_11 = lean_ctor_get(x_2, 1); -x_12 = l_Std_PersistentArray_anyM___at_Lean_Meta_ProofBelow_proveBrecOn_solveByAssumption___spec__2(x_1, x_9, x_11, x_3, x_4, x_5, x_6, x_10); +x_12 = l_Std_PersistentArray_anyM___at_Lean_Meta_IndPredBelow_proveBrecOn_solveByAssumption___spec__2(x_1, x_9, x_11, x_3, x_4, x_5, x_6, x_10); return x_12; } else @@ -10153,12 +10112,12 @@ return x_16; } } } -lean_object* l_Lean_Meta_ProofBelow_proveBrecOn_solveByAssumption(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn_solveByAssumption(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_inc(x_1); -x_7 = lean_alloc_closure((void*)(l_Lean_Meta_ProofBelow_proveBrecOn_solveByAssumption___lambda__1___boxed), 7, 1); +x_7 = lean_alloc_closure((void*)(l_Lean_Meta_IndPredBelow_proveBrecOn_solveByAssumption___lambda__1___boxed), 7, 1); lean_closure_set(x_7, 0, x_1); x_8 = l_Lean_Meta_getNondepPropHyps___closed__1; x_9 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Meta_instMonadLCtxMetaM___spec__2___rarg), 7, 2); @@ -10168,7 +10127,7 @@ x_10 = l_Lean_Meta_withMVarContext___at_Lean_Meta_admit___spec__1___rarg(x_1, x_ return x_10; } } -lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_ProofBelow_proveBrecOn_solveByAssumption___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* l_Array_anyMUnsafe_any___at_Lean_Meta_IndPredBelow_proveBrecOn_solveByAssumption___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { size_t x_9; size_t x_10; lean_object* x_11; @@ -10176,7 +10135,7 @@ x_9 = lean_unbox_usize(x_2); lean_dec(x_2); x_10 = lean_unbox_usize(x_3); lean_dec(x_3); -x_11 = l_Array_anyMUnsafe_any___at_Lean_Meta_ProofBelow_proveBrecOn_solveByAssumption___spec__1(x_1, x_9, x_10, x_4, x_5, x_6, x_7, x_8); +x_11 = l_Array_anyMUnsafe_any___at_Lean_Meta_IndPredBelow_proveBrecOn_solveByAssumption___spec__1(x_1, x_9, x_10, x_4, x_5, x_6, x_7, x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); @@ -10185,7 +10144,7 @@ lean_dec(x_1); return x_11; } } -lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_ProofBelow_proveBrecOn_solveByAssumption___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* l_Array_anyMUnsafe_any___at_Lean_Meta_IndPredBelow_proveBrecOn_solveByAssumption___spec__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { size_t x_11; size_t x_12; lean_object* x_13; @@ -10193,18 +10152,18 @@ x_11 = lean_unbox_usize(x_4); lean_dec(x_4); x_12 = lean_unbox_usize(x_5); lean_dec(x_5); -x_13 = l_Array_anyMUnsafe_any___at_Lean_Meta_ProofBelow_proveBrecOn_solveByAssumption___spec__4(x_1, x_2, x_3, x_11, x_12, x_6, x_7, x_8, x_9, x_10); +x_13 = l_Array_anyMUnsafe_any___at_Lean_Meta_IndPredBelow_proveBrecOn_solveByAssumption___spec__4(x_1, x_2, x_3, x_11, x_12, x_6, x_7, x_8, x_9, x_10); lean_dec(x_3); return x_13; } } -lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_ProofBelow_proveBrecOn_solveByAssumption___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* l_Array_anyMUnsafe_any___at_Lean_Meta_IndPredBelow_proveBrecOn_solveByAssumption___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) { _start: { uint8_t x_11; lean_object* x_12; x_11 = lean_unbox(x_5); lean_dec(x_5); -x_12 = l_Array_anyMUnsafe_any___at_Lean_Meta_ProofBelow_proveBrecOn_solveByAssumption___spec__5___lambda__1(x_1, x_2, x_3, x_4, x_11, x_6, x_7, x_8, x_9, x_10); +x_12 = l_Array_anyMUnsafe_any___at_Lean_Meta_IndPredBelow_proveBrecOn_solveByAssumption___spec__5___lambda__1(x_1, x_2, x_3, x_4, x_11, x_6, x_7, x_8, x_9, x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); @@ -10214,7 +10173,7 @@ lean_dec(x_3); return x_12; } } -lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_ProofBelow_proveBrecOn_solveByAssumption___spec__5___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_IndPredBelow_proveBrecOn_solveByAssumption___spec__5___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { size_t x_11; size_t x_12; lean_object* x_13; @@ -10222,21 +10181,21 @@ x_11 = lean_unbox_usize(x_4); lean_dec(x_4); x_12 = lean_unbox_usize(x_5); lean_dec(x_5); -x_13 = l_Array_anyMUnsafe_any___at_Lean_Meta_ProofBelow_proveBrecOn_solveByAssumption___spec__5(x_1, x_2, x_3, x_11, x_12, x_6, x_7, x_8, x_9, x_10); +x_13 = l_Array_anyMUnsafe_any___at_Lean_Meta_IndPredBelow_proveBrecOn_solveByAssumption___spec__5(x_1, x_2, x_3, x_11, x_12, x_6, x_7, x_8, x_9, x_10); lean_dec(x_3); return x_13; } } -lean_object* l_Std_PersistentArray_anyMAux___at_Lean_Meta_ProofBelow_proveBrecOn_solveByAssumption___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* l_Std_PersistentArray_anyMAux___at_Lean_Meta_IndPredBelow_proveBrecOn_solveByAssumption___spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { lean_object* x_9; -x_9 = l_Std_PersistentArray_anyMAux___at_Lean_Meta_ProofBelow_proveBrecOn_solveByAssumption___spec__3(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +x_9 = l_Std_PersistentArray_anyMAux___at_Lean_Meta_IndPredBelow_proveBrecOn_solveByAssumption___spec__3(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); lean_dec(x_3); return x_9; } } -lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_ProofBelow_proveBrecOn_solveByAssumption___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* l_Array_anyMUnsafe_any___at_Lean_Meta_IndPredBelow_proveBrecOn_solveByAssumption___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) { _start: { size_t x_11; size_t x_12; lean_object* x_13; @@ -10244,30 +10203,30 @@ x_11 = lean_unbox_usize(x_4); lean_dec(x_4); x_12 = lean_unbox_usize(x_5); lean_dec(x_5); -x_13 = l_Array_anyMUnsafe_any___at_Lean_Meta_ProofBelow_proveBrecOn_solveByAssumption___spec__6(x_1, x_2, x_3, x_11, x_12, x_6, x_7, x_8, x_9, x_10); +x_13 = l_Array_anyMUnsafe_any___at_Lean_Meta_IndPredBelow_proveBrecOn_solveByAssumption___spec__6(x_1, x_2, x_3, x_11, x_12, x_6, x_7, x_8, x_9, x_10); lean_dec(x_3); return x_13; } } -lean_object* l_Std_PersistentArray_anyM___at_Lean_Meta_ProofBelow_proveBrecOn_solveByAssumption___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +lean_object* l_Std_PersistentArray_anyM___at_Lean_Meta_IndPredBelow_proveBrecOn_solveByAssumption___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_Std_PersistentArray_anyM___at_Lean_Meta_ProofBelow_proveBrecOn_solveByAssumption___spec__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +x_9 = l_Std_PersistentArray_anyM___at_Lean_Meta_IndPredBelow_proveBrecOn_solveByAssumption___spec__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); lean_dec(x_3); return x_9; } } -lean_object* l_Lean_Meta_ProofBelow_proveBrecOn_solveByAssumption___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* l_Lean_Meta_IndPredBelow_proveBrecOn_solveByAssumption___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { lean_object* x_8; -x_8 = l_Lean_Meta_ProofBelow_proveBrecOn_solveByAssumption___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +x_8 = l_Lean_Meta_IndPredBelow_proveBrecOn_solveByAssumption___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7); lean_dec(x_2); return x_8; } } -lean_object* l_List_forM___at_Lean_Meta_ProofBelow_proveBrecOn_closeGoal___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +lean_object* l_List_forM___at_Lean_Meta_IndPredBelow_proveBrecOn_closeGoal___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: { if (lean_obj_tag(x_2) == 0) @@ -10295,7 +10254,7 @@ lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); -x_12 = l_Lean_Meta_ProofBelow_proveBrecOn_closeGoal(x_1, x_10, x_3, x_4, x_5, x_6, x_7); +x_12 = l_Lean_Meta_IndPredBelow_proveBrecOn_closeGoal(x_1, x_10, x_3, x_4, x_5, x_6, x_7); if (lean_obj_tag(x_12) == 0) { lean_object* x_13; @@ -10336,7 +10295,7 @@ return x_18; } } } -lean_object* l_Lean_Meta_ProofBelow_proveBrecOn_closeGoal(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn_closeGoal(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { lean_object* x_8; lean_object* x_9; uint8_t x_10; @@ -10355,7 +10314,7 @@ lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); -x_12 = l_Lean_Meta_ProofBelow_proveBrecOn_introNPRec(x_2, x_3, x_4, x_5, x_6, x_11); +x_12 = l_Lean_Meta_IndPredBelow_proveBrecOn_introNPRec(x_2, x_3, x_4, x_5, x_6, x_11); if (lean_obj_tag(x_12) == 0) { lean_object* x_13; lean_object* x_14; lean_object* x_15; @@ -10369,7 +10328,7 @@ lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); lean_inc(x_13); -x_15 = l_Lean_Meta_ProofBelow_proveBrecOn_solveByAssumption(x_13, x_3, x_4, x_5, x_6, x_14); +x_15 = l_Lean_Meta_IndPredBelow_proveBrecOn_solveByAssumption(x_13, x_3, x_4, x_5, x_6, x_14); if (lean_obj_tag(x_15) == 0) { lean_object* x_16; uint8_t x_17; @@ -10387,7 +10346,7 @@ lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); -x_19 = l_Lean_Meta_ProofBelow_proveBrecOn_applyIH(x_13, x_1, x_3, x_4, x_5, x_6, x_18); +x_19 = l_Lean_Meta_IndPredBelow_proveBrecOn_applyIH(x_13, x_1, x_3, x_4, x_5, x_6, x_18); if (lean_obj_tag(x_19) == 0) { lean_object* x_20; lean_object* x_21; lean_object* x_22; @@ -10396,7 +10355,7 @@ lean_inc(x_20); x_21 = lean_ctor_get(x_19, 1); lean_inc(x_21); lean_dec(x_19); -x_22 = l_List_forM___at_Lean_Meta_ProofBelow_proveBrecOn_closeGoal___spec__1(x_1, x_20, x_3, x_4, x_5, x_6, x_21); +x_22 = l_List_forM___at_Lean_Meta_IndPredBelow_proveBrecOn_closeGoal___spec__1(x_1, x_20, x_3, x_4, x_5, x_6, x_21); return x_22; } else @@ -10546,25 +10505,25 @@ return x_46; } } } -lean_object* l_List_forM___at_Lean_Meta_ProofBelow_proveBrecOn_closeGoal___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +lean_object* l_List_forM___at_Lean_Meta_IndPredBelow_proveBrecOn_closeGoal___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_List_forM___at_Lean_Meta_ProofBelow_proveBrecOn_closeGoal___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +x_8 = l_List_forM___at_Lean_Meta_IndPredBelow_proveBrecOn_closeGoal___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7); lean_dec(x_1); return x_8; } } -lean_object* l_Lean_Meta_ProofBelow_proveBrecOn_closeGoal___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn_closeGoal___boxed(lean_object* x_1, 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_ProofBelow_proveBrecOn_closeGoal(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +x_8 = l_Lean_Meta_IndPredBelow_proveBrecOn_closeGoal(x_1, x_2, x_3, x_4, x_5, x_6, x_7); lean_dec(x_1); return x_8; } } -lean_object* l_List_forM___at_Lean_Meta_ProofBelow_proveBrecOn___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +lean_object* l_List_forM___at_Lean_Meta_IndPredBelow_proveBrecOn___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: { if (lean_obj_tag(x_2) == 0) @@ -10592,7 +10551,7 @@ lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); -x_12 = l_Lean_Meta_ProofBelow_proveBrecOn_closeGoal(x_1, x_10, x_3, x_4, x_5, x_6, x_7); +x_12 = l_Lean_Meta_IndPredBelow_proveBrecOn_closeGoal(x_1, x_10, x_3, x_4, x_5, x_6, x_7); if (lean_obj_tag(x_12) == 0) { lean_object* x_13; @@ -10633,7 +10592,7 @@ return x_18; } } } -static lean_object* _init_l_Lean_Meta_ProofBelow_proveBrecOn___closed__1() { +static lean_object* _init_l_Lean_Meta_IndPredBelow_proveBrecOn___closed__1() { _start: { lean_object* x_1; @@ -10641,16 +10600,16 @@ x_1 = lean_mk_string("applying the induction hypothesis should only return one g return x_1; } } -static lean_object* _init_l_Lean_Meta_ProofBelow_proveBrecOn___closed__2() { +static lean_object* _init_l_Lean_Meta_IndPredBelow_proveBrecOn___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Meta_ProofBelow_proveBrecOn___closed__1; +x_1 = l_Lean_Meta_IndPredBelow_proveBrecOn___closed__1; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -lean_object* l_Lean_Meta_ProofBelow_proveBrecOn(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn(lean_object* x_1, lean_object* x_2, 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; @@ -10668,7 +10627,7 @@ lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_2); -x_14 = l_Lean_Meta_ProofBelow_proveBrecOn_intros(x_1, x_2, x_13, x_4, x_5, x_6, x_7, x_12); +x_14 = l_Lean_Meta_IndPredBelow_proveBrecOn_intros(x_1, x_2, x_13, x_4, x_5, x_6, x_7, x_12); if (lean_obj_tag(x_14) == 0) { lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; @@ -10686,7 +10645,7 @@ lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -x_19 = l_Lean_Meta_ProofBelow_proveBrecOn_applyIH(x_17, x_18, x_4, x_5, x_6, x_7, x_16); +x_19 = l_Lean_Meta_IndPredBelow_proveBrecOn_applyIH(x_17, x_18, x_4, x_5, x_6, x_7, x_16); if (lean_obj_tag(x_19) == 0) { lean_object* x_20; @@ -10702,7 +10661,7 @@ lean_dec(x_1); x_21 = lean_ctor_get(x_19, 1); lean_inc(x_21); lean_dec(x_19); -x_22 = l_Lean_Meta_ProofBelow_proveBrecOn___closed__2; +x_22 = l_Lean_Meta_IndPredBelow_proveBrecOn___closed__2; x_23 = l_Lean_throwError___at_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_1308____spec__1(x_22, x_4, x_5, x_6, x_7, x_21); lean_dec(x_7); lean_dec(x_6); @@ -10729,7 +10688,7 @@ lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_18); -x_27 = l_Lean_Meta_ProofBelow_proveBrecOn_induction(x_1, x_2, x_26, x_18, x_4, x_5, x_6, x_7, x_25); +x_27 = l_Lean_Meta_IndPredBelow_proveBrecOn_induction(x_1, x_2, x_26, x_18, x_4, x_5, x_6, x_7, x_25); if (lean_obj_tag(x_27) == 0) { lean_object* x_28; lean_object* x_29; lean_object* x_30; @@ -10742,7 +10701,7 @@ lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -x_30 = l_Lean_Meta_ProofBelow_proveBrecOn_applyCtors(x_28, x_4, x_5, x_6, x_7, x_29); +x_30 = l_Lean_Meta_IndPredBelow_proveBrecOn_applyCtors(x_28, x_4, x_5, x_6, x_7, x_29); if (lean_obj_tag(x_30) == 0) { lean_object* x_31; lean_object* x_32; lean_object* x_33; @@ -10755,7 +10714,7 @@ lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -x_33 = l_List_forM___at_Lean_Meta_ProofBelow_proveBrecOn___spec__1(x_18, x_31, x_4, x_5, x_6, x_7, x_32); +x_33 = l_List_forM___at_Lean_Meta_IndPredBelow_proveBrecOn___spec__1(x_18, x_31, x_4, x_5, x_6, x_7, x_32); lean_dec(x_18); if (lean_obj_tag(x_33) == 0) { @@ -10864,7 +10823,7 @@ lean_dec(x_1); x_48 = lean_ctor_get(x_19, 1); lean_inc(x_48); lean_dec(x_19); -x_49 = l_Lean_Meta_ProofBelow_proveBrecOn___closed__2; +x_49 = l_Lean_Meta_IndPredBelow_proveBrecOn___closed__2; x_50 = l_Lean_throwError___at_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_1308____spec__1(x_49, x_4, x_5, x_6, x_7, x_48); lean_dec(x_7); lean_dec(x_6); @@ -10936,16 +10895,16 @@ return x_58; } } } -lean_object* l_List_forM___at_Lean_Meta_ProofBelow_proveBrecOn___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +lean_object* l_List_forM___at_Lean_Meta_IndPredBelow_proveBrecOn___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_List_forM___at_Lean_Meta_ProofBelow_proveBrecOn___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +x_8 = l_List_forM___at_Lean_Meta_IndPredBelow_proveBrecOn___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7); lean_dec(x_1); return x_8; } } -lean_object* l_Lean_Meta_ProofBelow_mkBrecOnDecl_mkIH___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +lean_object* l_Lean_Meta_IndPredBelow_mkBrecOnDecl_mkIH___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_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; uint8_t x_31; uint8_t x_32; lean_object* x_33; @@ -10982,11 +10941,11 @@ x_33 = l_Lean_Meta_mkForallFVars(x_5, x_29, x_31, x_32, x_7, x_8, x_9, x_10, x_3 return x_33; } } -lean_object* l_Lean_Meta_ProofBelow_mkBrecOnDecl_mkIH___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* l_Lean_Meta_IndPredBelow_mkBrecOnDecl_mkIH___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { lean_object* x_12; lean_object* x_13; -x_12 = lean_alloc_closure((void*)(l_Lean_Meta_ProofBelow_mkBrecOnDecl_mkIH___lambda__1___boxed), 11, 4); +x_12 = lean_alloc_closure((void*)(l_Lean_Meta_IndPredBelow_mkBrecOnDecl_mkIH___lambda__1___boxed), 11, 4); lean_closure_set(x_12, 0, x_1); lean_closure_set(x_12, 1, x_2); lean_closure_set(x_12, 2, x_3); @@ -10995,7 +10954,7 @@ x_13 = l_Lean_Meta_forallTelescope___at___private_Lean_Meta_InferType_0__Lean_Me return x_13; } } -static lean_object* _init_l_Lean_Meta_ProofBelow_mkBrecOnDecl_mkIH___closed__1() { +static lean_object* _init_l_Lean_Meta_IndPredBelow_mkBrecOnDecl_mkIH___closed__1() { _start: { lean_object* x_1; @@ -11003,17 +10962,17 @@ x_1 = lean_mk_string("ih"); return x_1; } } -static lean_object* _init_l_Lean_Meta_ProofBelow_mkBrecOnDecl_mkIH___closed__2() { +static lean_object* _init_l_Lean_Meta_IndPredBelow_mkBrecOnDecl_mkIH___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Lean_Meta_ProofBelow_mkBrecOnDecl_mkIH___closed__1; +x_2 = l_Lean_Meta_IndPredBelow_mkBrecOnDecl_mkIH___closed__1; x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Meta_ProofBelow_mkBrecOnDecl_mkIH___closed__3() { +static lean_object* _init_l_Lean_Meta_IndPredBelow_mkBrecOnDecl_mkIH___closed__3() { _start: { lean_object* x_1; @@ -11021,7 +10980,7 @@ x_1 = lean_mk_string("ih_"); return x_1; } } -lean_object* l_Lean_Meta_ProofBelow_mkBrecOnDecl_mkIH(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +lean_object* l_Lean_Meta_IndPredBelow_mkBrecOnDecl_mkIH(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { lean_object* x_11; lean_object* x_12; lean_object* x_13; uint8_t x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; @@ -11048,7 +11007,7 @@ x_19 = lean_ctor_get(x_17, 1); lean_inc(x_19); lean_dec(x_17); lean_inc(x_4); -x_20 = lean_alloc_closure((void*)(l_Lean_Meta_ProofBelow_mkBrecOnDecl_mkIH___lambda__2___boxed), 11, 5); +x_20 = lean_alloc_closure((void*)(l_Lean_Meta_IndPredBelow_mkBrecOnDecl_mkIH___lambda__2___boxed), 11, 5); lean_closure_set(x_20, 0, x_1); lean_closure_set(x_20, 1, x_4); lean_closure_set(x_20, 2, x_2); @@ -11058,7 +11017,7 @@ if (x_14 == 0) { lean_object* x_21; lean_object* x_22; uint8_t x_23; lean_dec(x_4); -x_21 = l_Lean_Meta_ProofBelow_mkBrecOnDecl_mkIH___closed__2; +x_21 = l_Lean_Meta_IndPredBelow_mkBrecOnDecl_mkIH___closed__2; x_22 = l___private_Lean_CoreM_0__Lean_Core_mkFreshNameImp(x_21, x_8, x_9, x_19); lean_dec(x_9); lean_dec(x_8); @@ -11096,7 +11055,7 @@ lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean x_30 = lean_nat_add(x_4, x_13); lean_dec(x_4); x_31 = l_Nat_repr(x_30); -x_32 = l_Lean_Meta_ProofBelow_mkBrecOnDecl_mkIH___closed__3; +x_32 = l_Lean_Meta_IndPredBelow_mkBrecOnDecl_mkIH___closed__3; x_33 = lean_string_append(x_32, x_31); lean_dec(x_31); x_34 = l_Lean_instInhabitedParserDescr___closed__1; @@ -11165,11 +11124,11 @@ return x_49; } } } -lean_object* l_Lean_Meta_ProofBelow_mkBrecOnDecl_mkIH___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +lean_object* l_Lean_Meta_IndPredBelow_mkBrecOnDecl_mkIH___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { lean_object* x_12; -x_12 = l_Lean_Meta_ProofBelow_mkBrecOnDecl_mkIH___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +x_12 = l_Lean_Meta_IndPredBelow_mkBrecOnDecl_mkIH___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); @@ -11180,16 +11139,16 @@ lean_dec(x_1); return x_12; } } -lean_object* l_Lean_Meta_ProofBelow_mkBrecOnDecl_mkIH___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* l_Lean_Meta_IndPredBelow_mkBrecOnDecl_mkIH___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { lean_object* x_12; -x_12 = l_Lean_Meta_ProofBelow_mkBrecOnDecl_mkIH___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 = l_Lean_Meta_IndPredBelow_mkBrecOnDecl_mkIH___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); lean_dec(x_6); return x_12; } } -lean_object* l_Array_mapIdxM_map___at_Lean_Meta_ProofBelow_mkBrecOnDecl_mkType___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +lean_object* l_Array_mapIdxM_map___at_Lean_Meta_IndPredBelow_mkBrecOnDecl_mkType___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { _start: { lean_object* x_13; uint8_t x_14; @@ -11225,7 +11184,7 @@ lean_inc(x_9); lean_inc(x_8); lean_inc(x_5); lean_inc(x_1); -x_26 = l_Lean_Meta_ProofBelow_mkBrecOnDecl_mkIH(x_1, x_24, x_23, x_5, x_25, x_8, x_9, x_10, x_11, x_12); +x_26 = l_Lean_Meta_IndPredBelow_mkBrecOnDecl_mkIH(x_1, x_24, x_23, x_5, x_25, x_8, x_9, x_10, x_11, x_12); if (lean_obj_tag(x_26) == 0) { lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; @@ -11294,7 +11253,7 @@ return x_36; } } } -lean_object* l_Lean_Meta_ProofBelow_mkBrecOnDecl_mkType___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* l_Lean_Meta_IndPredBelow_mkBrecOnDecl_mkType___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; uint8_t x_16; uint8_t x_17; lean_object* x_18; @@ -11310,7 +11269,7 @@ x_18 = l_Lean_Meta_mkForallFVars(x_11, x_15, x_16, x_17, x_6, x_7, x_8, x_9, x_1 return x_18; } } -lean_object* l_Lean_Meta_ProofBelow_mkBrecOnDecl_mkType___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* l_Lean_Meta_IndPredBelow_mkBrecOnDecl_mkType___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_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; @@ -11335,7 +11294,7 @@ lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_3); -x_20 = l_Array_mapIdxM_map___at_Lean_Meta_ProofBelow_mkBrecOnDecl_mkType___spec__1(x_1, x_3, x_11, x_12, x_19, lean_box(0), x_18, x_5, x_6, x_7, x_8, x_9); +x_20 = l_Array_mapIdxM_map___at_Lean_Meta_IndPredBelow_mkBrecOnDecl_mkType___spec__1(x_1, x_3, x_11, x_12, x_19, lean_box(0), x_18, x_5, x_6, x_7, x_8, x_9); lean_dec(x_11); if (lean_obj_tag(x_20) == 0) { @@ -11345,12 +11304,12 @@ lean_inc(x_21); x_22 = lean_ctor_get(x_20, 1); lean_inc(x_22); lean_dec(x_20); -x_23 = lean_alloc_closure((void*)(l_Lean_Meta_ProofBelow_mkBrecOnDecl_mkType___lambda__1___boxed), 10, 4); +x_23 = lean_alloc_closure((void*)(l_Lean_Meta_IndPredBelow_mkBrecOnDecl_mkType___lambda__1___boxed), 10, 4); lean_closure_set(x_23, 0, x_3); lean_closure_set(x_23, 1, x_15); lean_closure_set(x_23, 2, x_2); lean_closure_set(x_23, 3, x_17); -x_24 = l_Lean_Meta_withLocalDeclsD___at_Lean_Meta_ProofBelow_mkCtorType_addHeaderVars___spec__2(x_21, x_23, x_5, x_6, x_7, x_8, x_22); +x_24 = l_Lean_Meta_withLocalDeclsD___at_Lean_Meta_IndPredBelow_mkCtorType_addHeaderVars___spec__2(x_21, x_23, x_5, x_6, x_7, x_8, x_22); return x_24; } else @@ -11385,7 +11344,7 @@ return x_28; } } } -lean_object* l_Lean_Meta_ProofBelow_mkBrecOnDecl_mkType(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +lean_object* l_Lean_Meta_IndPredBelow_mkBrecOnDecl_mkType(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; @@ -11394,27 +11353,27 @@ lean_inc(x_8); x_9 = l_Lean_instInhabitedExpr; x_10 = lean_array_get(x_9, x_8, x_2); lean_dec(x_8); -x_11 = lean_alloc_closure((void*)(l_Lean_Meta_ProofBelow_mkBrecOnDecl_mkType___lambda__2___boxed), 9, 2); +x_11 = lean_alloc_closure((void*)(l_Lean_Meta_IndPredBelow_mkBrecOnDecl_mkType___lambda__2___boxed), 9, 2); lean_closure_set(x_11, 0, x_1); lean_closure_set(x_11, 1, x_2); x_12 = l_Lean_Meta_forallTelescope___at___private_Lean_Meta_InferType_0__Lean_Meta_inferForallType___spec__2___rarg(x_10, x_11, x_3, x_4, x_5, x_6, x_7); return x_12; } } -lean_object* l_Array_mapIdxM_map___at_Lean_Meta_ProofBelow_mkBrecOnDecl_mkType___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* l_Array_mapIdxM_map___at_Lean_Meta_IndPredBelow_mkBrecOnDecl_mkType___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) { _start: { lean_object* x_13; -x_13 = l_Array_mapIdxM_map___at_Lean_Meta_ProofBelow_mkBrecOnDecl_mkType___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +x_13 = l_Array_mapIdxM_map___at_Lean_Meta_IndPredBelow_mkBrecOnDecl_mkType___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); lean_dec(x_3); return x_13; } } -lean_object* l_Lean_Meta_ProofBelow_mkBrecOnDecl_mkType___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* l_Lean_Meta_IndPredBelow_mkBrecOnDecl_mkType___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { lean_object* x_11; -x_11 = l_Lean_Meta_ProofBelow_mkBrecOnDecl_mkType___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_11 = l_Lean_Meta_IndPredBelow_mkBrecOnDecl_mkType___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); @@ -11425,16 +11384,16 @@ lean_dec(x_2); return x_11; } } -lean_object* l_Lean_Meta_ProofBelow_mkBrecOnDecl_mkType___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* l_Lean_Meta_IndPredBelow_mkBrecOnDecl_mkType___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) { _start: { lean_object* x_10; -x_10 = l_Lean_Meta_ProofBelow_mkBrecOnDecl_mkType___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +x_10 = l_Lean_Meta_IndPredBelow_mkBrecOnDecl_mkType___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); lean_dec(x_4); return x_10; } } -static lean_object* _init_l_Lean_Meta_ProofBelow_mkBrecOnDecl___closed__1() { +static lean_object* _init_l_Lean_Meta_IndPredBelow_mkBrecOnDecl___closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -11444,7 +11403,7 @@ x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -lean_object* l_Lean_Meta_ProofBelow_mkBrecOnDecl(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +lean_object* l_Lean_Meta_IndPredBelow_mkBrecOnDecl(lean_object* x_1, 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; @@ -11454,7 +11413,7 @@ lean_inc(x_4); lean_inc(x_3); lean_inc(x_2); lean_inc(x_1); -x_8 = l_Lean_Meta_ProofBelow_mkBrecOnDecl_mkType(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +x_8 = l_Lean_Meta_IndPredBelow_mkBrecOnDecl_mkType(x_1, x_2, x_3, x_4, x_5, x_6, x_7); if (lean_obj_tag(x_8) == 0) { lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; @@ -11471,7 +11430,7 @@ lean_dec(x_2); lean_dec(x_11); lean_inc(x_9); lean_inc(x_13); -x_14 = l_Lean_Meta_ProofBelow_proveBrecOn(x_1, x_13, x_9, x_3, x_4, x_5, x_6, x_10); +x_14 = l_Lean_Meta_IndPredBelow_proveBrecOn(x_1, x_13, x_9, x_3, x_4, x_5, x_6, x_10); if (lean_obj_tag(x_14) == 0) { lean_object* x_15; uint8_t x_16; @@ -11490,7 +11449,7 @@ x_18 = lean_ctor_get(x_14, 0); x_19 = lean_ctor_get(x_15, 0); x_20 = lean_ctor_get(x_15, 2); lean_dec(x_20); -x_21 = l_Lean_Meta_ProofBelow_mkBrecOnDecl___closed__1; +x_21 = l_Lean_Meta_IndPredBelow_mkBrecOnDecl___closed__1; x_22 = l_Lean_Name_append(x_19, x_21); lean_dec(x_19); lean_ctor_set(x_15, 2, x_9); @@ -11512,7 +11471,7 @@ x_27 = lean_ctor_get(x_15, 1); lean_inc(x_27); lean_inc(x_26); lean_dec(x_15); -x_28 = l_Lean_Meta_ProofBelow_mkBrecOnDecl___closed__1; +x_28 = l_Lean_Meta_IndPredBelow_mkBrecOnDecl___closed__1; x_29 = l_Lean_Name_append(x_26, x_28); lean_dec(x_26); x_30 = lean_alloc_ctor(0, 3, 0); @@ -11549,7 +11508,7 @@ if (lean_is_exclusive(x_15)) { lean_dec_ref(x_15); x_37 = lean_box(0); } -x_38 = l_Lean_Meta_ProofBelow_mkBrecOnDecl___closed__1; +x_38 = l_Lean_Meta_IndPredBelow_mkBrecOnDecl___closed__1; x_39 = l_Lean_Name_append(x_35, x_38); lean_dec(x_35); if (lean_is_scalar(x_37)) { @@ -11626,7 +11585,7 @@ return x_51; } } } -lean_object* l_Lean_isInductivePredicate___at_Lean_Meta_mkProofBelow___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +lean_object* l_Lean_isInductivePredicate___at_Lean_Meta_IndPredBelow_mkBelow___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { lean_object* x_7; uint8_t x_8; @@ -11746,7 +11705,7 @@ return x_38; } } } -static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_Meta_mkProofBelow___spec__2___closed__1() { +static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_Meta_IndPredBelow_mkBelow___spec__2___closed__1() { _start: { lean_object* x_1; @@ -11754,16 +11713,16 @@ x_1 = lean_mk_string("failed to prove brecOn for "); return x_1; } } -static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_Meta_mkProofBelow___spec__2___closed__2() { +static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_Meta_IndPredBelow_mkBelow___spec__2___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Std_Range_forIn_loop___at_Lean_Meta_mkProofBelow___spec__2___closed__1; +x_1 = l_Std_Range_forIn_loop___at_Lean_Meta_IndPredBelow_mkBelow___spec__2___closed__1; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -lean_object* l_Std_Range_forIn_loop___at_Lean_Meta_mkProofBelow___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* l_Std_Range_forIn_loop___at_Lean_Meta_IndPredBelow_mkBelow___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) { _start: { lean_object* x_13; uint8_t x_14; @@ -11787,7 +11746,7 @@ lean_inc(x_9); lean_inc(x_8); lean_inc(x_6); lean_inc(x_1); -x_57 = l_Lean_Meta_ProofBelow_mkBrecOnDecl(x_1, x_6, x_8, x_9, x_10, x_11, x_12); +x_57 = l_Lean_Meta_IndPredBelow_mkBrecOnDecl(x_1, x_6, x_8, x_9, x_10, x_11, x_12); if (lean_obj_tag(x_57) == 0) { lean_object* x_58; lean_object* x_59; lean_object* x_60; @@ -11904,7 +11863,7 @@ x_27 = l_Lean_instInhabitedName; x_28 = lean_array_get(x_27, x_3, x_6); x_29 = lean_alloc_ctor(4, 1, 0); lean_ctor_set(x_29, 0, x_28); -x_30 = l_Std_Range_forIn_loop___at_Lean_Meta_mkProofBelow___spec__2___closed__2; +x_30 = l_Std_Range_forIn_loop___at_Lean_Meta_IndPredBelow_mkBelow___spec__2___closed__2; x_31 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_31, 0, x_30); lean_ctor_set(x_31, 1, x_29); @@ -11973,7 +11932,7 @@ return x_71; } } } -lean_object* l_Lean_mkCasesOn___at_Lean_Meta_mkProofBelow___spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +lean_object* l_Lean_mkCasesOn___at_Lean_Meta_IndPredBelow_mkBelow___spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; @@ -12079,7 +12038,7 @@ return x_35; } } } -lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Meta_mkProofBelow___spec__4(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Meta_IndPredBelow_mkBelow___spec__4(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { uint8_t x_10; @@ -12090,7 +12049,7 @@ lean_object* x_11; lean_object* x_12; lean_dec(x_4); x_11 = lean_array_uget(x_1, x_2); lean_inc(x_7); -x_12 = l_Lean_mkCasesOn___at_Lean_Meta_mkProofBelow___spec__3(x_11, x_5, x_6, x_7, x_8, x_9); +x_12 = l_Lean_mkCasesOn___at_Lean_Meta_IndPredBelow_mkBelow___spec__3(x_11, x_5, x_6, x_7, x_8, x_9); lean_dec(x_11); if (lean_obj_tag(x_12) == 0) { @@ -12142,7 +12101,7 @@ return x_22; } } } -lean_object* l_List_map___at_Lean_Meta_mkProofBelow___spec__5(lean_object* x_1) { +lean_object* l_List_map___at_Lean_Meta_IndPredBelow_mkBelow___spec__5(lean_object* x_1) { _start: { if (lean_obj_tag(x_1) == 0) @@ -12162,7 +12121,7 @@ x_4 = lean_ctor_get(x_1, 0); x_5 = lean_ctor_get(x_1, 1); x_6 = lean_alloc_ctor(4, 1, 0); lean_ctor_set(x_6, 0, x_4); -x_7 = l_List_map___at_Lean_Meta_mkProofBelow___spec__5(x_5); +x_7 = l_List_map___at_Lean_Meta_IndPredBelow_mkBelow___spec__5(x_5); lean_ctor_set(x_1, 1, x_7); lean_ctor_set(x_1, 0, x_6); return x_1; @@ -12177,7 +12136,7 @@ lean_inc(x_8); lean_dec(x_1); x_10 = lean_alloc_ctor(4, 1, 0); lean_ctor_set(x_10, 0, x_8); -x_11 = l_List_map___at_Lean_Meta_mkProofBelow___spec__5(x_9); +x_11 = l_List_map___at_Lean_Meta_IndPredBelow_mkBelow___spec__5(x_9); x_12 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_12, 0, x_10); lean_ctor_set(x_12, 1, x_11); @@ -12186,17 +12145,25 @@ return x_12; } } } -static lean_object* _init_l_Lean_Meta_mkProofBelow___closed__1() { +static lean_object* _init_l_Lean_Meta_IndPredBelow_mkBelow___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("IndPredBelow"); +return x_1; +} +} +static lean_object* _init_l_Lean_Meta_IndPredBelow_mkBelow___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_737____closed__2; -x_2 = l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkContext___spec__5___closed__1; +x_2 = l_Lean_Meta_IndPredBelow_mkBelow___closed__1; x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Meta_mkProofBelow___closed__2() { +static lean_object* _init_l_Lean_Meta_IndPredBelow_mkBelow___closed__3() { _start: { lean_object* x_1; @@ -12204,16 +12171,16 @@ x_1 = lean_mk_string("Not inductive predicate"); return x_1; } } -static lean_object* _init_l_Lean_Meta_mkProofBelow___closed__3() { +static lean_object* _init_l_Lean_Meta_IndPredBelow_mkBelow___closed__4() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Meta_mkProofBelow___closed__2; +x_1 = l_Lean_Meta_IndPredBelow_mkBelow___closed__3; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -static lean_object* _init_l_Lean_Meta_mkProofBelow___closed__4() { +static lean_object* _init_l_Lean_Meta_IndPredBelow_mkBelow___closed__5() { _start: { lean_object* x_1; @@ -12221,16 +12188,16 @@ x_1 = lean_mk_string("Not recursive"); return x_1; } } -static lean_object* _init_l_Lean_Meta_mkProofBelow___closed__5() { +static lean_object* _init_l_Lean_Meta_IndPredBelow_mkBelow___closed__6() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Meta_mkProofBelow___closed__4; +x_1 = l_Lean_Meta_IndPredBelow_mkBelow___closed__5; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -static lean_object* _init_l_Lean_Meta_mkProofBelow___closed__6() { +static lean_object* _init_l_Lean_Meta_IndPredBelow_mkBelow___closed__7() { _start: { lean_object* x_1; @@ -12238,21 +12205,21 @@ x_1 = lean_mk_string("added "); return x_1; } } -static lean_object* _init_l_Lean_Meta_mkProofBelow___closed__7() { +static lean_object* _init_l_Lean_Meta_IndPredBelow_mkBelow___closed__8() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Meta_mkProofBelow___closed__6; +x_1 = l_Lean_Meta_IndPredBelow_mkBelow___closed__7; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -lean_object* l_Lean_Meta_mkProofBelow(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +lean_object* l_Lean_Meta_IndPredBelow_mkBelow(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { lean_object* x_7; lean_object* x_8; uint8_t x_9; lean_inc(x_1); -x_7 = l_Lean_isInductivePredicate___at_Lean_Meta_mkProofBelow___spec__1(x_1, x_2, x_3, x_4, x_5, x_6); +x_7 = l_Lean_isInductivePredicate___at_Lean_Meta_IndPredBelow_mkBelow___spec__1(x_1, x_2, x_3, x_4, x_5, x_6); x_8 = lean_ctor_get(x_7, 0); lean_inc(x_8); x_9 = lean_unbox(x_8); @@ -12308,7 +12275,7 @@ lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; uint x_21 = lean_ctor_get(x_11, 1); lean_inc(x_21); lean_dec(x_11); -x_22 = l_Lean_Meta_mkProofBelow___closed__1; +x_22 = l_Lean_Meta_IndPredBelow_mkBelow___closed__2; x_23 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__8(x_22, x_2, x_3, x_4, x_5, x_21); x_24 = lean_ctor_get(x_23, 0); lean_inc(x_24); @@ -12350,7 +12317,7 @@ lean_object* x_32; lean_object* x_33; lean_object* x_34; x_32 = lean_ctor_get(x_23, 1); lean_inc(x_32); lean_dec(x_23); -x_33 = l_Lean_Meta_mkProofBelow___closed__3; +x_33 = l_Lean_Meta_IndPredBelow_mkBelow___closed__4; x_34 = l_Lean_addTrace___at_Lean_Meta_addUnificationHint___spec__4(x_22, x_33, x_2, x_3, x_4, x_5, x_32); lean_dec(x_5); lean_dec(x_4); @@ -12426,7 +12393,7 @@ lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; uint x_50 = lean_ctor_get(x_40, 1); lean_inc(x_50); lean_dec(x_40); -x_51 = l_Lean_Meta_mkProofBelow___closed__1; +x_51 = l_Lean_Meta_IndPredBelow_mkBelow___closed__2; x_52 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_processPostponedStep___spec__8(x_51, x_2, x_3, x_4, x_5, x_50); x_53 = lean_ctor_get(x_52, 0); lean_inc(x_53); @@ -12468,7 +12435,7 @@ lean_object* x_61; lean_object* x_62; lean_object* x_63; x_61 = lean_ctor_get(x_52, 1); lean_inc(x_61); lean_dec(x_52); -x_62 = l_Lean_Meta_mkProofBelow___closed__5; +x_62 = l_Lean_Meta_IndPredBelow_mkBelow___closed__6; x_63 = l_Lean_addTrace___at_Lean_Meta_addUnificationHint___spec__4(x_51, x_62, x_2, x_3, x_4, x_5, x_61); lean_dec(x_5); lean_dec(x_4); @@ -12488,7 +12455,7 @@ lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); lean_inc(x_2); -x_65 = l_Lean_Meta_ProofBelow_mkContext(x_1, x_2, x_3, x_4, x_5, x_64); +x_65 = l_Lean_Meta_IndPredBelow_mkContext(x_1, x_2, x_3, x_4, x_5, x_64); if (lean_obj_tag(x_65) == 0) { lean_object* x_66; lean_object* x_67; lean_object* x_68; @@ -12502,7 +12469,7 @@ lean_inc(x_4); lean_inc(x_3); lean_inc(x_2); lean_inc(x_66); -x_68 = l_Lean_Meta_ProofBelow_mkProofBelowDecl(x_66, x_2, x_3, x_4, x_5, x_67); +x_68 = l_Lean_Meta_IndPredBelow_mkBelowDecl(x_66, x_2, x_3, x_4, x_5, x_67); if (lean_obj_tag(x_68) == 0) { lean_object* x_69; lean_object* x_70; lean_object* x_71; @@ -12545,7 +12512,7 @@ lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; x_123 = lean_ctor_get(x_117, 1); lean_inc(x_123); lean_dec(x_117); -x_124 = l_Lean_Meta_mkProofBelow___closed__1; +x_124 = l_Lean_Meta_IndPredBelow_mkBelow___closed__2; x_125 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_mkCongrLemma___spec__10(x_124, x_2, x_3, x_4, x_5, x_123); x_126 = lean_ctor_get(x_125, 0); lean_inc(x_126); @@ -12590,7 +12557,7 @@ x_94 = lean_usize_of_nat(x_89); lean_dec(x_89); x_95 = lean_box(0); lean_inc(x_4); -x_96 = l_Array_foldlMUnsafe_fold___at_Lean_Meta_mkProofBelow___spec__4(x_74, x_93, x_94, x_95, x_2, x_3, x_4, x_5, x_73); +x_96 = l_Array_foldlMUnsafe_fold___at_Lean_Meta_IndPredBelow_mkBelow___spec__4(x_74, x_93, x_94, x_95, x_2, x_3, x_4, x_5, x_73); if (lean_obj_tag(x_96) == 0) { lean_object* x_97; @@ -12644,9 +12611,9 @@ x_80 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_80, 0, x_78); lean_ctor_set(x_80, 1, x_77); lean_ctor_set(x_80, 2, x_79); -x_81 = l_Lean_Meta_mkProofBelow___closed__1; +x_81 = l_Lean_Meta_IndPredBelow_mkBelow___closed__2; x_82 = lean_box(0); -x_83 = l_Std_Range_forIn_loop___at_Lean_Meta_mkProofBelow___spec__2(x_66, x_81, x_74, x_80, x_77, x_78, x_82, x_2, x_3, x_4, x_5, x_75); +x_83 = l_Std_Range_forIn_loop___at_Lean_Meta_IndPredBelow_mkBelow___spec__2(x_66, x_81, x_74, x_80, x_77, x_78, x_82, x_2, x_3, x_4, x_5, x_75); lean_dec(x_80); lean_dec(x_74); x_84 = !lean_is_exclusive(x_83); @@ -12684,10 +12651,10 @@ lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; x_105 = lean_ctor_get(x_66, 2); lean_inc(x_105); x_106 = lean_array_to_list(lean_box(0), x_105); -x_107 = l_List_map___at_Lean_Meta_mkProofBelow___spec__5(x_106); +x_107 = l_List_map___at_Lean_Meta_IndPredBelow_mkBelow___spec__5(x_106); x_108 = l_Lean_MessageData_ofList(x_107); lean_dec(x_107); -x_109 = l_Lean_Meta_mkProofBelow___closed__7; +x_109 = l_Lean_Meta_IndPredBelow_mkBelow___closed__8; x_110 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_110, 0, x_109); lean_ctor_set(x_110, 1, x_108); @@ -12695,7 +12662,7 @@ x_111 = l_Lean_KernelException_toMessageData___closed__15; x_112 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_112, 0, x_110); lean_ctor_set(x_112, 1, x_111); -x_113 = l_Lean_Meta_mkProofBelow___closed__1; +x_113 = l_Lean_Meta_IndPredBelow_mkBelow___closed__2; x_114 = l_Lean_addTrace___at_Lean_Meta_mkCongrLemma___spec__9(x_113, x_112, x_2, x_3, x_4, x_5, x_104); x_115 = lean_ctor_get(x_114, 1); lean_inc(x_115); @@ -12819,11 +12786,11 @@ return x_144; } } } -lean_object* l_Lean_isInductivePredicate___at_Lean_Meta_mkProofBelow___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +lean_object* l_Lean_isInductivePredicate___at_Lean_Meta_IndPredBelow_mkBelow___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { lean_object* x_7; -x_7 = l_Lean_isInductivePredicate___at_Lean_Meta_mkProofBelow___spec__1(x_1, x_2, x_3, x_4, x_5, x_6); +x_7 = l_Lean_isInductivePredicate___at_Lean_Meta_IndPredBelow_mkBelow___spec__1(x_1, x_2, x_3, x_4, x_5, x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); @@ -12831,21 +12798,21 @@ lean_dec(x_2); return x_7; } } -lean_object* l_Std_Range_forIn_loop___at_Lean_Meta_mkProofBelow___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +lean_object* l_Std_Range_forIn_loop___at_Lean_Meta_IndPredBelow_mkBelow___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { _start: { lean_object* x_13; -x_13 = l_Std_Range_forIn_loop___at_Lean_Meta_mkProofBelow___spec__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 = l_Std_Range_forIn_loop___at_Lean_Meta_IndPredBelow_mkBelow___spec__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); lean_dec(x_4); lean_dec(x_3); return x_13; } } -lean_object* l_Lean_mkCasesOn___at_Lean_Meta_mkProofBelow___spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +lean_object* l_Lean_mkCasesOn___at_Lean_Meta_IndPredBelow_mkBelow___spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { lean_object* x_7; -x_7 = l_Lean_mkCasesOn___at_Lean_Meta_mkProofBelow___spec__3(x_1, x_2, x_3, x_4, x_5, x_6); +x_7 = l_Lean_mkCasesOn___at_Lean_Meta_IndPredBelow_mkBelow___spec__3(x_1, x_2, x_3, x_4, x_5, x_6); lean_dec(x_5); lean_dec(x_3); lean_dec(x_2); @@ -12853,7 +12820,7 @@ lean_dec(x_1); return x_7; } } -lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Meta_mkProofBelow___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* l_Array_foldlMUnsafe_fold___at_Lean_Meta_IndPredBelow_mkBelow___spec__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { size_t x_10; size_t x_11; lean_object* x_12; @@ -12861,7 +12828,7 @@ x_10 = lean_unbox_usize(x_2); lean_dec(x_2); x_11 = lean_unbox_usize(x_3); lean_dec(x_3); -x_12 = l_Array_foldlMUnsafe_fold___at_Lean_Meta_mkProofBelow___spec__4(x_1, x_10, x_11, x_4, x_5, x_6, x_7, x_8, x_9); +x_12 = l_Array_foldlMUnsafe_fold___at_Lean_Meta_IndPredBelow_mkBelow___spec__4(x_1, x_10, x_11, x_4, x_5, x_6, x_7, x_8, x_9); lean_dec(x_8); lean_dec(x_6); lean_dec(x_5); @@ -12869,11 +12836,11 @@ lean_dec(x_1); return x_12; } } -lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_ProofBelow___hyg_2786_(lean_object* x_1) { +lean_object* l_Lean_Meta_IndPredBelow_initFn____x40_Lean_Meta_IndPredBelow___hyg_2785_(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; -x_2 = l_Lean_Meta_mkProofBelow___closed__1; +x_2 = l_Lean_Meta_IndPredBelow_mkBelow___closed__2; x_3 = l_Lean_registerTraceClass(x_2, x_1); return x_3; } @@ -12883,7 +12850,7 @@ lean_object* initialize_Lean_Util_Constructions(lean_object*); lean_object* initialize_Lean_Meta_Transform(lean_object*); lean_object* initialize_Lean_Meta_Tactic(lean_object*); static bool _G_initialized = false; -lean_object* initialize_Lean_Meta_ProofBelow(lean_object* w) { +lean_object* initialize_Lean_Meta_IndPredBelow(lean_object* w) { lean_object * res; if (_G_initialized) return lean_io_result_mk_ok(lean_box(0)); _G_initialized = true; @@ -12899,79 +12866,83 @@ lean_dec_ref(res); res = initialize_Lean_Meta_Tactic(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -l_Lean_Meta_ProofBelow_instInhabitedVariables___closed__1 = _init_l_Lean_Meta_ProofBelow_instInhabitedVariables___closed__1(); -lean_mark_persistent(l_Lean_Meta_ProofBelow_instInhabitedVariables___closed__1); -l_Lean_Meta_ProofBelow_instInhabitedVariables = _init_l_Lean_Meta_ProofBelow_instInhabitedVariables(); -lean_mark_persistent(l_Lean_Meta_ProofBelow_instInhabitedVariables); -l_Lean_Meta_ProofBelow_mkContext_motiveName___closed__1 = _init_l_Lean_Meta_ProofBelow_mkContext_motiveName___closed__1(); -lean_mark_persistent(l_Lean_Meta_ProofBelow_mkContext_motiveName___closed__1); -l_Lean_Meta_ProofBelow_mkContext_motiveName___closed__2 = _init_l_Lean_Meta_ProofBelow_mkContext_motiveName___closed__2(); -lean_mark_persistent(l_Lean_Meta_ProofBelow_mkContext_motiveName___closed__2); -l_Lean_Meta_ProofBelow_mkContext_motiveName___closed__3 = _init_l_Lean_Meta_ProofBelow_mkContext_motiveName___closed__3(); -lean_mark_persistent(l_Lean_Meta_ProofBelow_mkContext_motiveName___closed__3); -l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkContext___spec__5___closed__1 = _init_l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkContext___spec__5___closed__1(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at_Lean_Meta_ProofBelow_mkContext___spec__5___closed__1); -l_Lean_Meta_ProofBelow_mkContext___boxed__const__1 = _init_l_Lean_Meta_ProofBelow_mkContext___boxed__const__1(); -lean_mark_persistent(l_Lean_Meta_ProofBelow_mkContext___boxed__const__1); -l_Lean_Expr_withAppAux___at_Lean_Meta_ProofBelow_mkCtorType_mkProofBelowBinder___spec__3___closed__1 = _init_l_Lean_Expr_withAppAux___at_Lean_Meta_ProofBelow_mkCtorType_mkProofBelowBinder___spec__3___closed__1(); -lean_mark_persistent(l_Lean_Expr_withAppAux___at_Lean_Meta_ProofBelow_mkCtorType_mkProofBelowBinder___spec__3___closed__1); -l_Lean_Expr_withAppAux___at_Lean_Meta_ProofBelow_mkCtorType_mkProofBelowBinder___spec__3___closed__2 = _init_l_Lean_Expr_withAppAux___at_Lean_Meta_ProofBelow_mkCtorType_mkProofBelowBinder___spec__3___closed__2(); -lean_mark_persistent(l_Lean_Expr_withAppAux___at_Lean_Meta_ProofBelow_mkCtorType_mkProofBelowBinder___spec__3___closed__2); -l_Lean_Expr_withAppAux___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__11___boxed__const__1 = _init_l_Lean_Expr_withAppAux___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__11___boxed__const__1(); -lean_mark_persistent(l_Lean_Expr_withAppAux___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__11___boxed__const__1); -l_Lean_Meta_transform___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__1___closed__1 = _init_l_Lean_Meta_transform___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__1___closed__1(); -lean_mark_persistent(l_Lean_Meta_transform___at_Lean_Meta_ProofBelow_mkCtorType_checkCount___spec__1___closed__1); -l_Lean_Meta_ProofBelow_mkCtorType_checkCount___closed__1 = _init_l_Lean_Meta_ProofBelow_mkCtorType_checkCount___closed__1(); -lean_mark_persistent(l_Lean_Meta_ProofBelow_mkCtorType_checkCount___closed__1); -l_Lean_Meta_ProofBelow_mkCtorType_checkCount___closed__2 = _init_l_Lean_Meta_ProofBelow_mkCtorType_checkCount___closed__2(); -lean_mark_persistent(l_Lean_Meta_ProofBelow_mkCtorType_checkCount___closed__2); -l_Lean_Meta_ProofBelow_mkCtorType_checkCount___closed__3 = _init_l_Lean_Meta_ProofBelow_mkCtorType_checkCount___closed__3(); -lean_mark_persistent(l_Lean_Meta_ProofBelow_mkCtorType_checkCount___closed__3); -l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_ProofBelow_mkCtorType_addMotives___spec__3___closed__1 = _init_l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_ProofBelow_mkCtorType_addMotives___spec__3___closed__1(); -lean_mark_persistent(l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_ProofBelow_mkCtorType_addMotives___spec__3___closed__1); -l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_ProofBelow_mkCtorType_addMotives___spec__3___closed__2 = _init_l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_ProofBelow_mkCtorType_addMotives___spec__3___closed__2(); -lean_mark_persistent(l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_ProofBelow_mkCtorType_addMotives___spec__3___closed__2); -l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_ProofBelow_mkCtorType_addMotives___spec__3___closed__3 = _init_l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_ProofBelow_mkCtorType_addMotives___spec__3___closed__3(); -lean_mark_persistent(l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_ProofBelow_mkCtorType_addMotives___spec__3___closed__3); -l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_ProofBelow_mkCtorType_addMotives___spec__3___closed__4 = _init_l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_ProofBelow_mkCtorType_addMotives___spec__3___closed__4(); -lean_mark_persistent(l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_ProofBelow_mkCtorType_addMotives___spec__3___closed__4); -l_Lean_Meta_ProofBelow_mkCtorType_addMotives___boxed__const__1 = _init_l_Lean_Meta_ProofBelow_mkCtorType_addMotives___boxed__const__1(); -lean_mark_persistent(l_Lean_Meta_ProofBelow_mkCtorType_addMotives___boxed__const__1); -l_Lean_Meta_ProofBelow_proveBrecOn_applyIH___closed__1 = _init_l_Lean_Meta_ProofBelow_proveBrecOn_applyIH___closed__1(); -lean_mark_persistent(l_Lean_Meta_ProofBelow_proveBrecOn_applyIH___closed__1); -l_Lean_Meta_ProofBelow_proveBrecOn_applyIH___closed__2 = _init_l_Lean_Meta_ProofBelow_proveBrecOn_applyIH___closed__2(); -lean_mark_persistent(l_Lean_Meta_ProofBelow_proveBrecOn_applyIH___closed__2); -l_Lean_Meta_ProofBelow_proveBrecOn___closed__1 = _init_l_Lean_Meta_ProofBelow_proveBrecOn___closed__1(); -lean_mark_persistent(l_Lean_Meta_ProofBelow_proveBrecOn___closed__1); -l_Lean_Meta_ProofBelow_proveBrecOn___closed__2 = _init_l_Lean_Meta_ProofBelow_proveBrecOn___closed__2(); -lean_mark_persistent(l_Lean_Meta_ProofBelow_proveBrecOn___closed__2); -l_Lean_Meta_ProofBelow_mkBrecOnDecl_mkIH___closed__1 = _init_l_Lean_Meta_ProofBelow_mkBrecOnDecl_mkIH___closed__1(); -lean_mark_persistent(l_Lean_Meta_ProofBelow_mkBrecOnDecl_mkIH___closed__1); -l_Lean_Meta_ProofBelow_mkBrecOnDecl_mkIH___closed__2 = _init_l_Lean_Meta_ProofBelow_mkBrecOnDecl_mkIH___closed__2(); -lean_mark_persistent(l_Lean_Meta_ProofBelow_mkBrecOnDecl_mkIH___closed__2); -l_Lean_Meta_ProofBelow_mkBrecOnDecl_mkIH___closed__3 = _init_l_Lean_Meta_ProofBelow_mkBrecOnDecl_mkIH___closed__3(); -lean_mark_persistent(l_Lean_Meta_ProofBelow_mkBrecOnDecl_mkIH___closed__3); -l_Lean_Meta_ProofBelow_mkBrecOnDecl___closed__1 = _init_l_Lean_Meta_ProofBelow_mkBrecOnDecl___closed__1(); -lean_mark_persistent(l_Lean_Meta_ProofBelow_mkBrecOnDecl___closed__1); -l_Std_Range_forIn_loop___at_Lean_Meta_mkProofBelow___spec__2___closed__1 = _init_l_Std_Range_forIn_loop___at_Lean_Meta_mkProofBelow___spec__2___closed__1(); -lean_mark_persistent(l_Std_Range_forIn_loop___at_Lean_Meta_mkProofBelow___spec__2___closed__1); -l_Std_Range_forIn_loop___at_Lean_Meta_mkProofBelow___spec__2___closed__2 = _init_l_Std_Range_forIn_loop___at_Lean_Meta_mkProofBelow___spec__2___closed__2(); -lean_mark_persistent(l_Std_Range_forIn_loop___at_Lean_Meta_mkProofBelow___spec__2___closed__2); -l_Lean_Meta_mkProofBelow___closed__1 = _init_l_Lean_Meta_mkProofBelow___closed__1(); -lean_mark_persistent(l_Lean_Meta_mkProofBelow___closed__1); -l_Lean_Meta_mkProofBelow___closed__2 = _init_l_Lean_Meta_mkProofBelow___closed__2(); -lean_mark_persistent(l_Lean_Meta_mkProofBelow___closed__2); -l_Lean_Meta_mkProofBelow___closed__3 = _init_l_Lean_Meta_mkProofBelow___closed__3(); -lean_mark_persistent(l_Lean_Meta_mkProofBelow___closed__3); -l_Lean_Meta_mkProofBelow___closed__4 = _init_l_Lean_Meta_mkProofBelow___closed__4(); -lean_mark_persistent(l_Lean_Meta_mkProofBelow___closed__4); -l_Lean_Meta_mkProofBelow___closed__5 = _init_l_Lean_Meta_mkProofBelow___closed__5(); -lean_mark_persistent(l_Lean_Meta_mkProofBelow___closed__5); -l_Lean_Meta_mkProofBelow___closed__6 = _init_l_Lean_Meta_mkProofBelow___closed__6(); -lean_mark_persistent(l_Lean_Meta_mkProofBelow___closed__6); -l_Lean_Meta_mkProofBelow___closed__7 = _init_l_Lean_Meta_mkProofBelow___closed__7(); -lean_mark_persistent(l_Lean_Meta_mkProofBelow___closed__7); -res = l_Lean_Meta_initFn____x40_Lean_Meta_ProofBelow___hyg_2786_(lean_io_mk_world()); +l_Lean_Meta_IndPredBelow_instInhabitedVariables___closed__1 = _init_l_Lean_Meta_IndPredBelow_instInhabitedVariables___closed__1(); +lean_mark_persistent(l_Lean_Meta_IndPredBelow_instInhabitedVariables___closed__1); +l_Lean_Meta_IndPredBelow_instInhabitedVariables = _init_l_Lean_Meta_IndPredBelow_instInhabitedVariables(); +lean_mark_persistent(l_Lean_Meta_IndPredBelow_instInhabitedVariables); +l_Lean_Meta_IndPredBelow_mkContext_motiveName___closed__1 = _init_l_Lean_Meta_IndPredBelow_mkContext_motiveName___closed__1(); +lean_mark_persistent(l_Lean_Meta_IndPredBelow_mkContext_motiveName___closed__1); +l_Lean_Meta_IndPredBelow_mkContext_motiveName___closed__2 = _init_l_Lean_Meta_IndPredBelow_mkContext_motiveName___closed__2(); +lean_mark_persistent(l_Lean_Meta_IndPredBelow_mkContext_motiveName___closed__2); +l_Lean_Meta_IndPredBelow_mkContext_motiveName___closed__3 = _init_l_Lean_Meta_IndPredBelow_mkContext_motiveName___closed__3(); +lean_mark_persistent(l_Lean_Meta_IndPredBelow_mkContext_motiveName___closed__3); +l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkContext___spec__5___closed__1 = _init_l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkContext___spec__5___closed__1(); +lean_mark_persistent(l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkContext___spec__5___closed__1); +l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkContext___spec__5___closed__2 = _init_l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkContext___spec__5___closed__2(); +lean_mark_persistent(l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkContext___spec__5___closed__2); +l_Lean_Meta_IndPredBelow_mkContext___boxed__const__1 = _init_l_Lean_Meta_IndPredBelow_mkContext___boxed__const__1(); +lean_mark_persistent(l_Lean_Meta_IndPredBelow_mkContext___boxed__const__1); +l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_mkCtorType_mkBelowBinder___spec__3___closed__1 = _init_l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_mkCtorType_mkBelowBinder___spec__3___closed__1(); +lean_mark_persistent(l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_mkCtorType_mkBelowBinder___spec__3___closed__1); +l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_mkCtorType_mkBelowBinder___spec__3___closed__2 = _init_l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_mkCtorType_mkBelowBinder___spec__3___closed__2(); +lean_mark_persistent(l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_mkCtorType_mkBelowBinder___spec__3___closed__2); +l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__11___boxed__const__1 = _init_l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__11___boxed__const__1(); +lean_mark_persistent(l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__11___boxed__const__1); +l_Lean_Meta_transform___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__1___closed__1 = _init_l_Lean_Meta_transform___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__1___closed__1(); +lean_mark_persistent(l_Lean_Meta_transform___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__1___closed__1); +l_Lean_Meta_IndPredBelow_mkCtorType_checkCount___closed__1 = _init_l_Lean_Meta_IndPredBelow_mkCtorType_checkCount___closed__1(); +lean_mark_persistent(l_Lean_Meta_IndPredBelow_mkCtorType_checkCount___closed__1); +l_Lean_Meta_IndPredBelow_mkCtorType_checkCount___closed__2 = _init_l_Lean_Meta_IndPredBelow_mkCtorType_checkCount___closed__2(); +lean_mark_persistent(l_Lean_Meta_IndPredBelow_mkCtorType_checkCount___closed__2); +l_Lean_Meta_IndPredBelow_mkCtorType_checkCount___closed__3 = _init_l_Lean_Meta_IndPredBelow_mkCtorType_checkCount___closed__3(); +lean_mark_persistent(l_Lean_Meta_IndPredBelow_mkCtorType_checkCount___closed__3); +l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_IndPredBelow_mkCtorType_addMotives___spec__3___closed__1 = _init_l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_IndPredBelow_mkCtorType_addMotives___spec__3___closed__1(); +lean_mark_persistent(l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_IndPredBelow_mkCtorType_addMotives___spec__3___closed__1); +l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_IndPredBelow_mkCtorType_addMotives___spec__3___closed__2 = _init_l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_IndPredBelow_mkCtorType_addMotives___spec__3___closed__2(); +lean_mark_persistent(l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_IndPredBelow_mkCtorType_addMotives___spec__3___closed__2); +l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_IndPredBelow_mkCtorType_addMotives___spec__3___closed__3 = _init_l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_IndPredBelow_mkCtorType_addMotives___spec__3___closed__3(); +lean_mark_persistent(l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_IndPredBelow_mkCtorType_addMotives___spec__3___closed__3); +l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_IndPredBelow_mkCtorType_addMotives___spec__3___closed__4 = _init_l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_IndPredBelow_mkCtorType_addMotives___spec__3___closed__4(); +lean_mark_persistent(l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_IndPredBelow_mkCtorType_addMotives___spec__3___closed__4); +l_Lean_Meta_IndPredBelow_mkCtorType_addMotives___boxed__const__1 = _init_l_Lean_Meta_IndPredBelow_mkCtorType_addMotives___boxed__const__1(); +lean_mark_persistent(l_Lean_Meta_IndPredBelow_mkCtorType_addMotives___boxed__const__1); +l_Lean_Meta_IndPredBelow_proveBrecOn_applyIH___closed__1 = _init_l_Lean_Meta_IndPredBelow_proveBrecOn_applyIH___closed__1(); +lean_mark_persistent(l_Lean_Meta_IndPredBelow_proveBrecOn_applyIH___closed__1); +l_Lean_Meta_IndPredBelow_proveBrecOn_applyIH___closed__2 = _init_l_Lean_Meta_IndPredBelow_proveBrecOn_applyIH___closed__2(); +lean_mark_persistent(l_Lean_Meta_IndPredBelow_proveBrecOn_applyIH___closed__2); +l_Lean_Meta_IndPredBelow_proveBrecOn___closed__1 = _init_l_Lean_Meta_IndPredBelow_proveBrecOn___closed__1(); +lean_mark_persistent(l_Lean_Meta_IndPredBelow_proveBrecOn___closed__1); +l_Lean_Meta_IndPredBelow_proveBrecOn___closed__2 = _init_l_Lean_Meta_IndPredBelow_proveBrecOn___closed__2(); +lean_mark_persistent(l_Lean_Meta_IndPredBelow_proveBrecOn___closed__2); +l_Lean_Meta_IndPredBelow_mkBrecOnDecl_mkIH___closed__1 = _init_l_Lean_Meta_IndPredBelow_mkBrecOnDecl_mkIH___closed__1(); +lean_mark_persistent(l_Lean_Meta_IndPredBelow_mkBrecOnDecl_mkIH___closed__1); +l_Lean_Meta_IndPredBelow_mkBrecOnDecl_mkIH___closed__2 = _init_l_Lean_Meta_IndPredBelow_mkBrecOnDecl_mkIH___closed__2(); +lean_mark_persistent(l_Lean_Meta_IndPredBelow_mkBrecOnDecl_mkIH___closed__2); +l_Lean_Meta_IndPredBelow_mkBrecOnDecl_mkIH___closed__3 = _init_l_Lean_Meta_IndPredBelow_mkBrecOnDecl_mkIH___closed__3(); +lean_mark_persistent(l_Lean_Meta_IndPredBelow_mkBrecOnDecl_mkIH___closed__3); +l_Lean_Meta_IndPredBelow_mkBrecOnDecl___closed__1 = _init_l_Lean_Meta_IndPredBelow_mkBrecOnDecl___closed__1(); +lean_mark_persistent(l_Lean_Meta_IndPredBelow_mkBrecOnDecl___closed__1); +l_Std_Range_forIn_loop___at_Lean_Meta_IndPredBelow_mkBelow___spec__2___closed__1 = _init_l_Std_Range_forIn_loop___at_Lean_Meta_IndPredBelow_mkBelow___spec__2___closed__1(); +lean_mark_persistent(l_Std_Range_forIn_loop___at_Lean_Meta_IndPredBelow_mkBelow___spec__2___closed__1); +l_Std_Range_forIn_loop___at_Lean_Meta_IndPredBelow_mkBelow___spec__2___closed__2 = _init_l_Std_Range_forIn_loop___at_Lean_Meta_IndPredBelow_mkBelow___spec__2___closed__2(); +lean_mark_persistent(l_Std_Range_forIn_loop___at_Lean_Meta_IndPredBelow_mkBelow___spec__2___closed__2); +l_Lean_Meta_IndPredBelow_mkBelow___closed__1 = _init_l_Lean_Meta_IndPredBelow_mkBelow___closed__1(); +lean_mark_persistent(l_Lean_Meta_IndPredBelow_mkBelow___closed__1); +l_Lean_Meta_IndPredBelow_mkBelow___closed__2 = _init_l_Lean_Meta_IndPredBelow_mkBelow___closed__2(); +lean_mark_persistent(l_Lean_Meta_IndPredBelow_mkBelow___closed__2); +l_Lean_Meta_IndPredBelow_mkBelow___closed__3 = _init_l_Lean_Meta_IndPredBelow_mkBelow___closed__3(); +lean_mark_persistent(l_Lean_Meta_IndPredBelow_mkBelow___closed__3); +l_Lean_Meta_IndPredBelow_mkBelow___closed__4 = _init_l_Lean_Meta_IndPredBelow_mkBelow___closed__4(); +lean_mark_persistent(l_Lean_Meta_IndPredBelow_mkBelow___closed__4); +l_Lean_Meta_IndPredBelow_mkBelow___closed__5 = _init_l_Lean_Meta_IndPredBelow_mkBelow___closed__5(); +lean_mark_persistent(l_Lean_Meta_IndPredBelow_mkBelow___closed__5); +l_Lean_Meta_IndPredBelow_mkBelow___closed__6 = _init_l_Lean_Meta_IndPredBelow_mkBelow___closed__6(); +lean_mark_persistent(l_Lean_Meta_IndPredBelow_mkBelow___closed__6); +l_Lean_Meta_IndPredBelow_mkBelow___closed__7 = _init_l_Lean_Meta_IndPredBelow_mkBelow___closed__7(); +lean_mark_persistent(l_Lean_Meta_IndPredBelow_mkBelow___closed__7); +l_Lean_Meta_IndPredBelow_mkBelow___closed__8 = _init_l_Lean_Meta_IndPredBelow_mkBelow___closed__8(); +lean_mark_persistent(l_Lean_Meta_IndPredBelow_mkBelow___closed__8); +res = l_Lean_Meta_IndPredBelow_initFn____x40_Lean_Meta_IndPredBelow___hyg_2785_(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));